diff options
author | Ansgar Radermacher | 2015-04-13 13:44:43 +0000 |
---|---|---|
committer | Ansgar Radermacher | 2015-04-13 14:01:22 +0000 |
commit | 9d154a3522b72ea3e1a2f5ec87dbba800603c079 (patch) | |
tree | 5dbb85a99a2951b5cdf14cc0085fb8615622017b /extraplugins/qompass-designer | |
parent | 97117c8b25d1132c6494e4187b3d3fd0d7c9377c (diff) | |
download | org.eclipse.papyrus-9d154a3522b72ea3e1a2f5ec87dbba800603c079.tar.gz org.eclipse.papyrus-9d154a3522b72ea3e1a2f5ec87dbba800603c079.tar.xz org.eclipse.papyrus-9d154a3522b72ea3e1a2f5ec87dbba800603c079.zip |
461632 - [QDesigner] it should be possible to reference xtend templates in opaque expressions
Diffstat (limited to 'extraplugins/qompass-designer')
52 files changed, 378 insertions, 13716 deletions
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/META-INF/MANIFEST.MF b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/META-INF/MANIFEST.MF index 2c7ed9fa7d7..cc4a33de28e 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/META-INF/MANIFEST.MF +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/META-INF/MANIFEST.MF @@ -1,6 +1,5 @@ Manifest-Version: 1.0
Export-Package: org.eclipse.papyrus.qompass.designer.core,
- org.eclipse.papyrus.qompass.designer.core.acceleo,
org.eclipse.papyrus.qompass.designer.core.commands,
org.eclipse.papyrus.qompass.designer.core.deployment,
org.eclipse.papyrus.qompass.designer.core.extensions,
@@ -25,14 +24,12 @@ Require-Bundle: org.eclipse.core.runtime, org.eclipse.emf.compare;bundle-version="3.0.0",
org.eclipse.papyrus.uml.tools;bundle-version="1.1.0",
org.eclipse.acceleo.engine;bundle-version="3.1.0",
- org.eclipse.acceleo.parser;bundle-version="3.1.0",
org.eclipse.papyrus.cpp.profile;bundle-version="1.1.0",
org.eclipse.papyrus.infra.core;bundle-version="1.1.0",
org.eclipse.gmf.runtime.common.core;bundle-version="1.7.0",
org.eclipse.gmf.runtime.emf.commands.core;bundle-version="1.4.0",
org.eclipse.papyrus.infra.widgets;bundle-version="1.1.0",
org.eclipse.papyrus.infra.emf;bundle-version="1.1.0",
- org.eclipse.papyrus.acceleo;bundle-version="1.1.0",
org.eclipse.papyrus.infra.services.labelprovider;bundle-version="1.1.0",
org.eclipse.papyrus.uml.tools.utils;bundle-version="1.1.0",
org.eclipse.papyrus.infra.widgets.toolbox;bundle-version="1.1.0",
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/plugin.xml b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/plugin.xml index 0bc3dd49495..48a64c5147e 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/plugin.xml +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/plugin.xml @@ -4,6 +4,7 @@ <extension-point id="instanceConfig" name="instanceConfigName" schema="schema/instanceConfig.exsd"/> <extension-point id="externalGenerator" name="externalGenerator" schema="schema/externalGenerator.exsd"/> <extension-point id="ooTransformation" name="ooTransformation" schema="schema/ooTransformation.exsd"/> + <extension-point id="xtendGenerator" name="xtendGeneratorName" schema="schema/xtendGenerator.exsd"/> <extension point="org.eclipse.papyrus.infra.core.modelListener"> <listener diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/EnumService.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/EnumService.java index 3abf47d9b71..0062ec0809f 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/EnumService.java +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/EnumService.java @@ -12,12 +12,11 @@ * *****************************************************************************/ -package org.eclipse.papyrus.qompass.designer.core.acceleo; +package org.eclipse.papyrus.qompass.designer.core; import java.util.HashMap; import java.util.Map; -import org.eclipse.papyrus.qompass.designer.core.Utils; import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationContext; import org.eclipse.uml2.uml.Class; import org.eclipse.uml2.uml.Classifier; diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/UMLTool.java index 5e3920f4138..448fc15a77c 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.java +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/UMLTool.java @@ -13,12 +13,13 @@ * *****************************************************************************/ -package org.eclipse.papyrus.qompass.designer.core.acceleo; +package org.eclipse.papyrus.qompass.designer.core; import org.eclipse.emf.common.util.BasicEList; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.common.util.UniqueEList; +import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.xmi.XMLResource; import org.eclipse.papyrus.C_Cpp.External; @@ -47,17 +48,20 @@ import org.eclipse.uml2.uml.util.UMLUtil; /** - * Collection of utility functions. In contrast to core.Utils, it is chiefly used by Acceleo - * scripts - * - * @author ansgar - * + * Collection of utility functions. In contrast to core.Utils, it is chiefly used by xtend classes */ - public class UMLTool { private static final String UNDERSCORE = "_"; //$NON-NLS-1$ + public static <T extends EObject> EList<T> reverse(EList<T> list) { + EList<T> reverseList = new BasicEList<T>(); + for (int i=list.size()-1; i>=0; i--) { + reverseList.add(list.get(i)); + } + return reverseList; + } + /** * @param operation * @return all in and inout parameters of an operation diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/AcceleoDriverWrapper.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/AcceleoDriverWrapper.java deleted file mode 100644 index b6978df1e5d..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/AcceleoDriverWrapper.java +++ /dev/null @@ -1,82 +0,0 @@ -/** - * Copyright CEA-LIST 2009 - * available under EPL 1.0 licence - * - * This file is part of the Qompass tool chain (www.ec3m.net) - * - * http://www.eclipse.org/legal/epl-v10.html - * - * $Id$ - */ - -package org.eclipse.papyrus.qompass.designer.core.acceleo; - -import org.eclipse.papyrus.acceleo.AcceleoDriver; -import org.eclipse.papyrus.acceleo.AcceleoException; -import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationException; -import org.eclipse.uml2.uml.Element; - -public class AcceleoDriverWrapper { - - /** - * Execute a script passed as parameter. It will be executed in the context - * of a base script that declares the meta-model (UML2) and has additional - * imports (currently none). - * - * @param template - * The template in string form - * @param element - * The UML element to which the template is applied - * @return the evaluated template - */ - public static String bind(String templateStr, Element element) throws TransformationException { - try { - return AcceleoDriver.evaluate(templateStr, element, null); - } catch (AcceleoException e) { - throw new TransformationException(e.getMessage()); - } - } - - /** - * Execute a script passed as parameter. It will be executed in the context - * of a base script that declares the meta-model (UML2) and has additional - * imports (currently none). - * - * @param template - * The template in string form - * @param element - * The UML element to which the template is applied - * @return the evaluated template - */ - public static String evaluate(String templateStr, Element element, Object args[]) throws TransformationException { - try { - return AcceleoDriver.evaluate(templateStr, element, args); - } catch (AcceleoException e) { - throw new TransformationException(e.getMessage()); - } - } - - /** - * Evaluate an Acceleo template - * - * @param templateStr - * The template in string form - * @param templateName - * name of the template. Used to identify template when errors occur. Must be a legal Acceleo template name, i.e. may only - * contain alpha-numerical characters and '_' - * @param element - * The UML element to which the template is applied - * @param args - * an array of arguments that are passed to the template. Each argument - * must be either an EObject, a String, an Integer or a Boolean - * (TODO: currently not evaluated) - * @return the evaluated template - */ - public static String evaluate(String templateStr, String templateName, Element element, Object args[]) throws TransformationException { - try { - return AcceleoDriver.evaluate(templateStr, templateName, element, args); - } catch (AcceleoException e) { - throw new TransformationException(e.getMessage()); - } - } -} diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/EnumService.emtl b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/EnumService.emtl deleted file mode 100644 index 535f92b4829..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/EnumService.emtl +++ /dev/null @@ -1,713 +0,0 @@ -<?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="EnumService" nsURI="org::eclipse::papyrus::qompass::designer::core::acceleo::EnumService" startHeaderPosition="29" endHeaderPosition="89"> - <input> - <takesTypesFrom href="http://www.eclipse.org/uml2/5.0.0/UML#/"/> - </input> - <ownedModuleElement xsi:type="mtl:Query" name="literal" visibility="Public"> - <parameter name="arg1"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </parameter> - <parameter name="arg2"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </parameter> - <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/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="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.acceleo.EnumService"> - <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="literal(java.lang.String, java.lang.String)"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - <argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/4/Sequence(String)" kind="Sequence"> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <item xsi:type="ocl.ecore:VariableExp" name="arg1" referredVariable="/0/literal/arg1"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </item> - </part> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <item xsi:type="ocl.ecore:VariableExp" name="arg2" referredVariable="/0/literal/arg2"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </item> - </part> - </argument> - </expression> - <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="enumSvcPrefix" visibility="Public"> - <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="/7"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.acceleo.EnumService"> - <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="enumSvcPrefix()"> - <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(OclVoid)" kind="Sequence"/> - </expression> - <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="literalKey" visibility="Public"> - <parameter name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </parameter> - <parameter name="arg1"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </parameter> - <parameter name="arg2"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </parameter> - <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/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="/9"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.acceleo.EnumService"> - <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="literalKey(org.eclipse.uml2.uml.Element, java.lang.String, java.lang.String)"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - <argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/4/Sequence(OclAny)" kind="Sequence"> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - <item xsi:type="ocl.ecore:VariableExp" name="arg0" referredVariable="/0/literalKey/arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </item> - </part> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <item xsi:type="ocl.ecore:VariableExp" name="arg1" referredVariable="/0/literalKey/arg1"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </item> - </part> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <item xsi:type="ocl.ecore:VariableExp" name="arg2" referredVariable="/0/literalKey/arg2"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </item> - </part> - </argument> - </expression> - <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="quoteLiteral" visibility="Public"> - <parameter name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </parameter> - <parameter name="arg1"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </parameter> - <parameter name="arg2"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </parameter> - <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/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="/12"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.acceleo.EnumService"> - <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="quoteLiteral(org.eclipse.uml2.uml.Element, java.lang.String, java.lang.String)"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - <argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/4/Sequence(OclAny)" kind="Sequence"> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - <item xsi:type="ocl.ecore:VariableExp" name="arg0" referredVariable="/0/quoteLiteral/arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </item> - </part> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <item xsi:type="ocl.ecore:VariableExp" name="arg1" referredVariable="/0/quoteLiteral/arg1"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </item> - </part> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <item xsi:type="ocl.ecore:VariableExp" name="arg2" referredVariable="/0/quoteLiteral/arg2"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </item> - </part> - </argument> - </expression> - <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="checkAndCreateDependency" visibility="Public"> - <parameter name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </parameter> - <parameter name="arg1"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </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="/15"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.acceleo.EnumService"> - <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="checkAndCreateDependency(org.eclipse.uml2.uml.Classifier, org.eclipse.uml2.uml.NamedElement)"> - <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(NamedElement)" kind="Sequence"> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - <item xsi:type="ocl.ecore:VariableExp" name="arg0" referredVariable="/0/checkAndCreateDependency/arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </item> - </part> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - <item xsi:type="ocl.ecore:VariableExp" name="arg1" referredVariable="/0/checkAndCreateDependency/arg1"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </item> - </part> - </argument> - </expression> - <type xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="createEnumPackage" visibility="Public"> - <parameter name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </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="/18"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.acceleo.EnumService"> - <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="createEnumPackage(org.eclipse.uml2.uml.Package)"> - <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(Package)" kind="Sequence"> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - <item xsi:type="ocl.ecore:VariableExp" name="arg0" referredVariable="/0/createEnumPackage/arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </item> - </part> - </argument> - </expression> - <type xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> - </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="literal"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/literal"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="arg1"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eParameters> - <eParameters name="arg2"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eParameters> - </eOperations> - <eOperations name="enumSvcPrefix"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/enumSvcPrefix"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eOperations> - <eOperations name="literalKey"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/literalKey"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </eParameters> - <eParameters name="arg1"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eParameters> - <eParameters name="arg2"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eParameters> - </eOperations> - <eOperations name="quoteLiteral"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/quoteLiteral"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </eParameters> - <eParameters name="arg1"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eParameters> - <eParameters name="arg2"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eParameters> - </eOperations> - <eOperations name="checkAndCreateDependency"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/checkAndCreateDependency"/> - <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </eParameters> - <eParameters name="arg1"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </eParameters> - </eOperations> - <eOperations name="createEnumPackage"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/createEnumPackage"/> - <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </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/5.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/5.0.0/UML#//Classifier"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </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="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </ocl.ecore:Variable> - <ecore:EPackage name="collections"> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(String)" instanceClassName="java.util.List"> - <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(OclAny)" instanceClassName="java.util.List"> - <elementType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(OclVoid)" instanceClassName="java.util.List"> - <elementType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(NamedElement)" instanceClassName="java.util.List"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Package)" instanceClassName="java.util.List"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </eClassifiers> - </ecore:EPackage> - <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/5.0.0/UML#//Element"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Element"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </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/literal"> - <details key="start" value="93"/> - <details key="end" value="302"/> - <details key="line" value="4"/> - </eAnnotations> - <eAnnotations source="positions.1" references="/0/literal/arg1"> - <details key="start" value="115"/> - <details key="end" value="128"/> - <details key="line" value="4"/> - </eAnnotations> - <eAnnotations source="positions.2" references="/0/literal/arg2"> - <details key="start" value="130"/> - <details key="end" value="143"/> - <details key="line" value="4"/> - </eAnnotations> - <eAnnotations source="positions.3" references="/0/literal/%"> - <details key="start" value="157"/> - <details key="end" value="299"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.4" references="/0/literal/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.5" references="/0/literal/%/%"> - <details key="start" value="164"/> - <details key="end" value="227"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.6" references="/0/literal/%/%.1"> - <details key="start" value="231"/> - <details key="end" value="276"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.7" references="/0/literal/%/%.2"> - <details key="start" value="278"/> - <details key="end" value="298"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.8" references="/0/literal/%/%.2/%/arg1"> - <details key="start" value="287"/> - <details key="end" value="291"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.9" references="/0/literal/%/%.2/%.1/arg2"> - <details key="start" value="293"/> - <details key="end" value="297"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.10" references="/0/enumSvcPrefix"> - <details key="start" value="304"/> - <details key="end" value="451"/> - <details key="line" value="8"/> - </eAnnotations> - <eAnnotations source="positions.11" references="/0/enumSvcPrefix/%"> - <details key="start" value="346"/> - <details key="end" value="448"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.12" references="/0/enumSvcPrefix/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.13" references="/0/enumSvcPrefix/%/%"> - <details key="start" value="353"/> - <details key="end" value="416"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.14" references="/0/enumSvcPrefix/%/%.1"> - <details key="start" value="418"/> - <details key="end" value="435"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.15" references="/0/enumSvcPrefix/%/%.2"> - <details key="start" value="437"/> - <details key="end" value="447"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.16" references="/0/literalKey"> - <details key="start" value="453"/> - <details key="end" value="718"/> - <details key="line" value="11"/> - </eAnnotations> - <eAnnotations source="positions.17" references="/0/literalKey/arg0"> - <details key="start" value="478"/> - <details key="end" value="492"/> - <details key="line" value="11"/> - </eAnnotations> - <eAnnotations source="positions.18" references="/0/literalKey/arg1"> - <details key="start" value="494"/> - <details key="end" value="507"/> - <details key="line" value="11"/> - </eAnnotations> - <eAnnotations source="positions.19" references="/0/literalKey/arg2"> - <details key="start" value="509"/> - <details key="end" value="522"/> - <details key="line" value="11"/> - </eAnnotations> - <eAnnotations source="positions.20" references="/0/literalKey/%"> - <details key="start" value="536"/> - <details key="end" value="715"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.21" references="/0/literalKey/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.22" references="/0/literalKey/%/%"> - <details key="start" value="543"/> - <details key="end" value="606"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.23" references="/0/literalKey/%/%.1"> - <details key="start" value="608"/> - <details key="end" value="686"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.24" references="/0/literalKey/%/%.2"> - <details key="start" value="688"/> - <details key="end" value="714"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.25" references="/0/literalKey/%/%.2/%/arg0"> - <details key="start" value="697"/> - <details key="end" value="701"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.26" references="/0/literalKey/%/%.2/%.1/arg1"> - <details key="start" value="703"/> - <details key="end" value="707"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.27" references="/0/literalKey/%/%.2/%.2/arg2"> - <details key="start" value="709"/> - <details key="end" value="713"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.28" references="/0/quoteLiteral"> - <details key="start" value="720"/> - <details key="end" value="989"/> - <details key="line" value="14"/> - </eAnnotations> - <eAnnotations source="positions.29" references="/0/quoteLiteral/arg0"> - <details key="start" value="747"/> - <details key="end" value="761"/> - <details key="line" value="14"/> - </eAnnotations> - <eAnnotations source="positions.30" references="/0/quoteLiteral/arg1"> - <details key="start" value="763"/> - <details key="end" value="776"/> - <details key="line" value="14"/> - </eAnnotations> - <eAnnotations source="positions.31" references="/0/quoteLiteral/arg2"> - <details key="start" value="778"/> - <details key="end" value="791"/> - <details key="line" value="14"/> - </eAnnotations> - <eAnnotations source="positions.32" references="/0/quoteLiteral/%"> - <details key="start" value="805"/> - <details key="end" value="986"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.33" references="/0/quoteLiteral/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.34" references="/0/quoteLiteral/%/%"> - <details key="start" value="812"/> - <details key="end" value="875"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.35" references="/0/quoteLiteral/%/%.1"> - <details key="start" value="877"/> - <details key="end" value="957"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.36" references="/0/quoteLiteral/%/%.2"> - <details key="start" value="959"/> - <details key="end" value="985"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.37" references="/0/quoteLiteral/%/%.2/%/arg0"> - <details key="start" value="968"/> - <details key="end" value="972"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.38" references="/0/quoteLiteral/%/%.2/%.1/arg1"> - <details key="start" value="974"/> - <details key="end" value="978"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.39" references="/0/quoteLiteral/%/%.2/%.2/arg2"> - <details key="start" value="980"/> - <details key="end" value="984"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.40" references="/0/checkAndCreateDependency"> - <details key="start" value="991"/> - <details key="end" value="1275"/> - <details key="line" value="17"/> - </eAnnotations> - <eAnnotations source="positions.41" references="/0/checkAndCreateDependency/arg0"> - <details key="start" value="1030"/> - <details key="end" value="1047"/> - <details key="line" value="17"/> - </eAnnotations> - <eAnnotations source="positions.42" references="/0/checkAndCreateDependency/arg1"> - <details key="start" value="1049"/> - <details key="end" value="1068"/> - <details key="line" value="17"/> - </eAnnotations> - <eAnnotations source="positions.43" references="/0/checkAndCreateDependency/%"> - <details key="start" value="1083"/> - <details key="end" value="1272"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.44" references="/0/checkAndCreateDependency/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.45" references="/0/checkAndCreateDependency/%/%"> - <details key="start" value="1090"/> - <details key="end" value="1153"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.46" references="/0/checkAndCreateDependency/%/%.1"> - <details key="start" value="1155"/> - <details key="end" value="1249"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.47" references="/0/checkAndCreateDependency/%/%.2"> - <details key="start" value="1251"/> - <details key="end" value="1271"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.48" references="/0/checkAndCreateDependency/%/%.2/%/arg0"> - <details key="start" value="1260"/> - <details key="end" value="1264"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.49" references="/0/checkAndCreateDependency/%/%.2/%.1/arg1"> - <details key="start" value="1266"/> - <details key="end" value="1270"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.50" references="/0/createEnumPackage"> - <details key="start" value="1277"/> - <details key="end" value="1479"/> - <details key="line" value="20"/> - </eAnnotations> - <eAnnotations source="positions.51" references="/0/createEnumPackage/arg0"> - <details key="start" value="1309"/> - <details key="end" value="1323"/> - <details key="line" value="20"/> - </eAnnotations> - <eAnnotations source="positions.52" references="/0/createEnumPackage/%"> - <details key="start" value="1338"/> - <details key="end" value="1476"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.53" references="/0/createEnumPackage/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.54" references="/0/createEnumPackage/%/%"> - <details key="start" value="1345"/> - <details key="end" value="1408"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.55" references="/0/createEnumPackage/%/%.1"> - <details key="start" value="1410"/> - <details key="end" value="1459"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.56" references="/0/createEnumPackage/%/%.2"> - <details key="start" value="1461"/> - <details key="end" value="1475"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.57" references="/0/createEnumPackage/%/%.2/%/arg0"> - <details key="start" value="1470"/> - <details key="end" value="1474"/> - <details key="line" value="0"/> - </eAnnotations> - </ecore:EAnnotation> -</xmi:XMI> diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/EnumService.mtl b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/EnumService.mtl deleted file mode 100644 index b626431ca0d..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/EnumService.mtl +++ /dev/null @@ -1,21 +0,0 @@ -[comment encoding = UTF-8 /] -[module EnumService('http://www.eclipse.org/uml2/5.0.0/UML')/] - -[query public literal(arg1 : String, arg2 : String) : String - = invoke('org.eclipse.papyrus.qompass.designer.core.acceleo.EnumService', - 'literal(java.lang.String, java.lang.String)', Sequence{arg1, arg2}) /] - -[query public enumSvcPrefix() : String - = invoke('org.eclipse.papyrus.qompass.designer.core.acceleo.EnumService', 'enumSvcPrefix()', Sequence{}) /] - -[query public literalKey(arg0 : Element, arg1 : String, arg2 : String) : String - = invoke('org.eclipse.papyrus.qompass.designer.core.acceleo.EnumService', 'literalKey(org.eclipse.uml2.uml.Element, java.lang.String, java.lang.String)', Sequence{arg0, arg1, arg2}) /] - -[query public quoteLiteral(arg0 : Element, arg1 : String, arg2 : String) : String - = invoke('org.eclipse.papyrus.qompass.designer.core.acceleo.EnumService', 'quoteLiteral(org.eclipse.uml2.uml.Element, java.lang.String, java.lang.String)', Sequence{arg0, arg1, arg2}) /] - -[query public checkAndCreateDependency(arg0 : Classifier, arg1 : NamedElement) : OclVoid - = invoke('org.eclipse.papyrus.qompass.designer.core.acceleo.EnumService', 'checkAndCreateDependency(org.eclipse.uml2.uml.Classifier, org.eclipse.uml2.uml.NamedElement)', Sequence{arg0, arg1}) /] - -[query public createEnumPackage(arg0 : Package) : OclVoid - = invoke('org.eclipse.papyrus.qompass.designer.core.acceleo.EnumService', 'createEnumPackage(org.eclipse.uml2.uml.Package)', Sequence{arg0}) /]
\ No newline at end of file diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/StUtils.emtl b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/StUtils.emtl deleted file mode 100644 index a0d4851577f..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/StUtils.emtl +++ /dev/null @@ -1,292 +0,0 @@ -<?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="StUtils" nsURI="org::eclipse::papyrus::qompass::designer::core::acceleo::StUtils" endHeaderPosition="289"> - <input> - <takesTypesFrom href="http://www.eclipse.org/uml2/5.0.0/UML#/"/> - </input> - <ownedModuleElement xsi:type="mtl:Query" name="isApplied" visibility="Public"> - <parameter name="element"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </parameter> - <parameter name="stereoName"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </parameter> - <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/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/5.0.0/UML#//Element"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.StUtils"> - <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="isApplied(org.eclipse.uml2.uml.Element, java.lang.String)"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - <argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/4/Sequence(OclAny)" kind="Sequence"> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - <item xsi:type="ocl.ecore:VariableExp" name="element" referredVariable="/0/isApplied/element"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </item> - </part> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <item xsi:type="ocl.ecore:VariableExp" name="stereoName" referredVariable="/0/isApplied/stereoName"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </item> - </part> - </argument> - </expression> - <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="getApplication" visibility="Public"> - <parameter name="element"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </parameter> - <parameter name="stereoName"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </parameter> - <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/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="/8"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.StUtils"> - <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="getApplication(org.eclipse.uml2.uml.Element, java.lang.String)"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - <argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/4/Sequence(OclAny)" kind="Sequence"> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - <item xsi:type="ocl.ecore:VariableExp" name="element" referredVariable="/0/getApplication/element"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </item> - </part> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <item xsi:type="ocl.ecore:VariableExp" name="stereoName" referredVariable="/0/getApplication/stereoName"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </item> - </part> - </argument> - </expression> - <type xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - </ownedModuleElement> - </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="isApplied"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/isApplied"/> - <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/5.0.0/UML#//Element"/> - </eParameters> - <eParameters name="stereoName"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eParameters> - </eOperations> - <eOperations name="getApplication"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/getApplication"/> - <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - <eParameters name="element"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </eParameters> - <eParameters name="stereoName"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eParameters> - </eOperations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="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/5.0.0/UML#//Element"/> - </eAnnotations> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </ocl.ecore:Variable> - <ecore:EPackage name="collections"> - <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> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Element"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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> - <ecore:EAnnotation source="positions"> - <eAnnotations source="positions.0" references="/0/isApplied"> - <details key="start" value="59"/> - <details key="end" value="291"/> - <details key="line" value="3"/> - </eAnnotations> - <eAnnotations source="positions.1" references="/0/isApplied/element"> - <details key="start" value="83"/> - <details key="end" value="100"/> - <details key="line" value="3"/> - </eAnnotations> - <eAnnotations source="positions.2" references="/0/isApplied/stereoName"> - <details key="start" value="102"/> - <details key="end" value="121"/> - <details key="line" value="3"/> - </eAnnotations> - <eAnnotations source="positions.3" references="/0/isApplied/%"> - <details key="start" value="136"/> - <details key="end" value="288"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.4" references="/0/isApplied/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.5" references="/0/isApplied/%/%"> - <details key="start" value="143"/> - <details key="end" value="194"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.6" references="/0/isApplied/%/%.1"> - <details key="start" value="196"/> - <details key="end" value="255"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.7" references="/0/isApplied/%/%.2"> - <details key="start" value="258"/> - <details key="end" value="287"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.8" references="/0/isApplied/%/%.2/%/element"> - <details key="start" value="267"/> - <details key="end" value="274"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.9" references="/0/isApplied/%/%.2/%.1/stereoName"> - <details key="start" value="276"/> - <details key="end" value="286"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.10" references="/0/getApplication"> - <details key="start" value="293"/> - <details key="end" value="534"/> - <details key="line" value="7"/> - </eAnnotations> - <eAnnotations source="positions.11" references="/0/getApplication/element"> - <details key="start" value="322"/> - <details key="end" value="339"/> - <details key="line" value="7"/> - </eAnnotations> - <eAnnotations source="positions.12" references="/0/getApplication/stereoName"> - <details key="start" value="341"/> - <details key="end" value="360"/> - <details key="line" value="7"/> - </eAnnotations> - <eAnnotations source="positions.13" references="/0/getApplication/%"> - <details key="start" value="374"/> - <details key="end" value="531"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.14" references="/0/getApplication/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.15" references="/0/getApplication/%/%"> - <details key="start" value="381"/> - <details key="end" value="432"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.16" references="/0/getApplication/%/%.1"> - <details key="start" value="434"/> - <details key="end" value="498"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.17" references="/0/getApplication/%/%.2"> - <details key="start" value="501"/> - <details key="end" value="530"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.18" references="/0/getApplication/%/%.2/%/element"> - <details key="start" value="510"/> - <details key="end" value="517"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.19" references="/0/getApplication/%/%.2/%.1/stereoName"> - <details key="start" value="519"/> - <details key="end" value="529"/> - <details key="line" value="0"/> - </eAnnotations> - </ecore:EAnnotation> -</xmi:XMI> diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/StUtils.mtl b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/StUtils.mtl deleted file mode 100644 index fcc984c5b50..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/StUtils.mtl +++ /dev/null @@ -1,9 +0,0 @@ -[module StUtils('http://www.eclipse.org/uml2/5.0.0/UML')] - -[query public isApplied(element : Element, stereoName : String) : Boolean = - invoke('org.eclipse.papyrus.qompass.designer.core.StUtils', 'isApplied(org.eclipse.uml2.uml.Element, java.lang.String)', - Sequence{element, stereoName}) /] - -[query public getApplication(element : Element, stereoName : String) : OclAny = - invoke('org.eclipse.papyrus.qompass.designer.core.StUtils', 'getApplication(org.eclipse.uml2.uml.Element, java.lang.String)', - Sequence{element, stereoName}) /]
\ No newline at end of file diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/TransformationContext.emtl b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/TransformationContext.emtl deleted file mode 100644 index 11844d58983..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/TransformationContext.emtl +++ /dev/null @@ -1,689 +0,0 @@ -<?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="TransformationContext" nsURI="org::eclipse::papyrus::qompass::designer::core::acceleo::TransformationContext" endHeaderPosition="70"> - <input> - <takesTypesFrom href="http://www.eclipse.org/uml2/5.0.0/UML#/"/> - </input> - <ownedModuleElement xsi:type="mtl:Comment"> - <body startPosition="82" endPosition="111" value=" Copyright (c) 2012 CEA List."/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="trafoContextClassifier" visibility="Public"> - <parameter name="dummmy"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Element"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.transformations.TransformationContext"> - <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="getClassifier()"> - <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(OclVoid)" kind="Sequence"/> - </expression> - <type xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="trafoContextInstance" visibility="Public"> - <parameter name="dummmy"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/8"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.transformations.TransformationContext"> - <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="getInstance()"> - <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(OclVoid)" kind="Sequence"/> - </expression> - <type xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//InstanceSpecification"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="trafoContextFormalParameter" visibility="Public"> - <parameter name="dummmy"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/11"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.transformations.TransformationContext"> - <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="getFormalParameter()"> - <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(OclVoid)" kind="Sequence"/> - </expression> - <type xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="trafoContextPort" visibility="Public"> - <parameter name="dummmy"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/14"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.transformations.TransformationContext"> - <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="getPort()"> - <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(OclVoid)" kind="Sequence"/> - </expression> - <type xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="pkgTemplateParameter" visibility="Public"> - <parameter name="dummy"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </parameter> - <parameter name="formalName"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </parameter> - <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/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="/17"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.transformations.TransformationContext"> - <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="pkgTemplateParameter(java.lang.String)"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - <argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/4/Sequence(String)" kind="Sequence"> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <item xsi:type="ocl.ecore:VariableExp" name="formalName" referredVariable="/0/pkgTemplateParameter/formalName"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </item> - </part> - </argument> - </expression> - <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="templateBinding" visibility="Public"> - <parameter name="dummmy"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/20"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.transformations.TransformationContext"> - <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="getBinding"> - <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(OclVoid)" kind="Sequence"/> - </expression> - <type xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TemplateBinding"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="templateBinding" visibility="Public"> - <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="/22"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.transformations.TransformationContext"> - <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="getBinding"> - <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(OclVoid)" kind="Sequence"/> - </expression> - <type xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TemplateBinding"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="getSourceRoot" visibility="Public"> - <parameter name="dummy"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/24"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.transformations.TransformationContext"> - <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="getSourceRoot"> - <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(OclVoid)" kind="Sequence"/> - </expression> - <type xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </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="trafoContextClassifier"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/trafoContextClassifier"/> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - <eParameters name="dummmy"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </eParameters> - </eOperations> - <eOperations name="trafoContextInstance"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/trafoContextInstance"/> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//InstanceSpecification"/> - <eParameters name="dummmy"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </eParameters> - </eOperations> - <eOperations name="trafoContextFormalParameter"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/trafoContextFormalParameter"/> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - <eParameters name="dummmy"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/0/trafoContextPort"/> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/> - <eParameters name="dummmy"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </eParameters> - </eOperations> - <eOperations name="pkgTemplateParameter"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/pkgTemplateParameter"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="dummy"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </eParameters> - <eParameters name="formalName"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </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="/0/templateBinding"/> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TemplateBinding"/> - <eParameters name="dummmy"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/0/templateBinding.1"/> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/0/getSourceRoot"/> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - <eParameters name="dummy"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </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/5.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="/0/templateBinding"/> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TemplateBinding"/> - </eOperations> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </ocl.ecore:Variable> - <ecore:EPackage name="collections"> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(OclVoid)" instanceClassName="java.util.List"> - <elementType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(OclAny)" instanceClassName="java.util.List"> - <elementType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(String)" instanceClassName="java.util.List"> - <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Element"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Element"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Element"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Element"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Element"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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> - <ecore:EAnnotation source="positions"> - <eAnnotations source="positions.0" references="/0/%"> - <details key="start" value="74"/> - <details key="end" value="113"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.1" references="/0/trafoContextClassifier"> - <details key="start" value="115"/> - <details key="end" value="313"/> - <details key="line" value="5"/> - </eAnnotations> - <eAnnotations source="positions.2" references="/0/trafoContextClassifier/dummmy"> - <details key="start" value="152"/> - <details key="end" value="168"/> - <details key="line" value="5"/> - </eAnnotations> - <eAnnotations source="positions.3" references="/0/trafoContextClassifier/%"> - <details key="start" value="186"/> - <details key="end" value="310"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.4" references="/0/trafoContextClassifier/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.5" references="/0/trafoContextClassifier/%/%"> - <details key="start" value="193"/> - <details key="end" value="274"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.6" references="/0/trafoContextClassifier/%/%.1"> - <details key="start" value="278"/> - <details key="end" value="295"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.7" references="/0/trafoContextClassifier/%/%.2"> - <details key="start" value="299"/> - <details key="end" value="309"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.8" references="/0/trafoContextInstance"> - <details key="start" value="315"/> - <details key="end" value="520"/> - <details key="line" value="10"/> - </eAnnotations> - <eAnnotations source="positions.9" references="/0/trafoContextInstance/dummmy"> - <details key="start" value="350"/> - <details key="end" value="366"/> - <details key="line" value="10"/> - </eAnnotations> - <eAnnotations source="positions.10" references="/0/trafoContextInstance/%"> - <details key="start" value="395"/> - <details key="end" value="517"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.11" references="/0/trafoContextInstance/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.12" references="/0/trafoContextInstance/%/%"> - <details key="start" value="402"/> - <details key="end" value="483"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.13" references="/0/trafoContextInstance/%/%.1"> - <details key="start" value="487"/> - <details key="end" value="502"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.14" references="/0/trafoContextInstance/%/%.2"> - <details key="start" value="506"/> - <details key="end" value="516"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.15" references="/0/trafoContextFormalParameter"> - <details key="start" value="522"/> - <details key="end" value="730"/> - <details key="line" value="15"/> - </eAnnotations> - <eAnnotations source="positions.16" references="/0/trafoContextFormalParameter/dummmy"> - <details key="start" value="564"/> - <details key="end" value="580"/> - <details key="line" value="15"/> - </eAnnotations> - <eAnnotations source="positions.17" references="/0/trafoContextFormalParameter/%"> - <details key="start" value="598"/> - <details key="end" value="727"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.18" references="/0/trafoContextFormalParameter/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.19" references="/0/trafoContextFormalParameter/%/%"> - <details key="start" value="605"/> - <details key="end" value="686"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.20" references="/0/trafoContextFormalParameter/%/%.1"> - <details key="start" value="690"/> - <details key="end" value="712"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.21" references="/0/trafoContextFormalParameter/%/%.2"> - <details key="start" value="716"/> - <details key="end" value="726"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.22" references="/0/trafoContextPort"> - <details key="start" value="732"/> - <details key="end" value="912"/> - <details key="line" value="20"/> - </eAnnotations> - <eAnnotations source="positions.23" references="/0/trafoContextPort/dummmy"> - <details key="start" value="763"/> - <details key="end" value="779"/> - <details key="line" value="20"/> - </eAnnotations> - <eAnnotations source="positions.24" references="/0/trafoContextPort/%"> - <details key="start" value="791"/> - <details key="end" value="909"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.25" references="/0/trafoContextPort/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.26" references="/0/trafoContextPort/%/%"> - <details key="start" value="798"/> - <details key="end" value="879"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.27" references="/0/trafoContextPort/%/%.1"> - <details key="start" value="883"/> - <details key="end" value="894"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.28" references="/0/trafoContextPort/%/%.2"> - <details key="start" value="898"/> - <details key="end" value="908"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.29" references="/0/pkgTemplateParameter"> - <details key="start" value="914"/> - <details key="end" value="1159"/> - <details key="line" value="25"/> - </eAnnotations> - <eAnnotations source="positions.30" references="/0/pkgTemplateParameter/dummy"> - <details key="start" value="949"/> - <details key="end" value="964"/> - <details key="line" value="25"/> - </eAnnotations> - <eAnnotations source="positions.31" references="/0/pkgTemplateParameter/formalName"> - <details key="start" value="966"/> - <details key="end" value="985"/> - <details key="line" value="25"/> - </eAnnotations> - <eAnnotations source="positions.32" references="/0/pkgTemplateParameter/%"> - <details key="start" value="999"/> - <details key="end" value="1156"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.33" references="/0/pkgTemplateParameter/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.34" references="/0/pkgTemplateParameter/%/%"> - <details key="start" value="1006"/> - <details key="end" value="1087"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.35" references="/0/pkgTemplateParameter/%/%.1"> - <details key="start" value="1091"/> - <details key="end" value="1131"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.36" references="/0/pkgTemplateParameter/%/%.2"> - <details key="start" value="1135"/> - <details key="end" value="1155"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.37" references="/0/pkgTemplateParameter/%/%.2/%/formalName"> - <details key="start" value="1144"/> - <details key="end" value="1154"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.38" references="/0/templateBinding"> - <details key="start" value="1161"/> - <details key="end" value="1352"/> - <details key="line" value="30"/> - </eAnnotations> - <eAnnotations source="positions.39" references="/0/templateBinding/dummmy"> - <details key="start" value="1191"/> - <details key="end" value="1207"/> - <details key="line" value="30"/> - </eAnnotations> - <eAnnotations source="positions.40" references="/0/templateBinding/%"> - <details key="start" value="1230"/> - <details key="end" value="1349"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.41" references="/0/templateBinding/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.42" references="/0/templateBinding/%/%"> - <details key="start" value="1237"/> - <details key="end" value="1318"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.43" references="/0/templateBinding/%/%.1"> - <details key="start" value="1322"/> - <details key="end" value="1334"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.44" references="/0/templateBinding/%/%.2"> - <details key="start" value="1338"/> - <details key="end" value="1348"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.45" references="/0/templateBinding.1"> - <details key="start" value="1354"/> - <details key="end" value="1529"/> - <details key="line" value="35"/> - </eAnnotations> - <eAnnotations source="positions.46" references="/0/templateBinding.1/%"> - <details key="start" value="1407"/> - <details key="end" value="1526"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.47" references="/0/templateBinding.1/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.48" references="/0/templateBinding.1/%/%"> - <details key="start" value="1414"/> - <details key="end" value="1495"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.49" references="/0/templateBinding.1/%/%.1"> - <details key="start" value="1499"/> - <details key="end" value="1511"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.50" references="/0/templateBinding.1/%/%.2"> - <details key="start" value="1515"/> - <details key="end" value="1525"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.51" references="/0/getSourceRoot"> - <details key="start" value="1531"/> - <details key="end" value="1714"/> - <details key="line" value="40"/> - </eAnnotations> - <eAnnotations source="positions.52" references="/0/getSourceRoot/dummy"> - <details key="start" value="1559"/> - <details key="end" value="1574"/> - <details key="line" value="40"/> - </eAnnotations> - <eAnnotations source="positions.53" references="/0/getSourceRoot/%"> - <details key="start" value="1589"/> - <details key="end" value="1711"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.54" references="/0/getSourceRoot/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.55" references="/0/getSourceRoot/%/%"> - <details key="start" value="1596"/> - <details key="end" value="1677"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.56" references="/0/getSourceRoot/%/%.1"> - <details key="start" value="1681"/> - <details key="end" value="1696"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.57" references="/0/getSourceRoot/%/%.2"> - <details key="start" value="1700"/> - <details key="end" value="1710"/> - <details key="line" value="0"/> - </eAnnotations> - </ecore:EAnnotation> -</xmi:XMI> diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/TransformationContext.mtl b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/TransformationContext.mtl deleted file mode 100644 index 8aa92274fae..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/TransformationContext.mtl +++ /dev/null @@ -1,43 +0,0 @@ -[module TransformationContext('http://www.eclipse.org/uml2/5.0.0/UML')/] - -[comment Copyright (c) 2012 CEA List./] - -[query public trafoContextClassifier(dummmy : Element) : Classifier = - invoke('org.eclipse.papyrus.qompass.designer.core.transformations.TransformationContext', - 'getClassifier()', - Sequence{}) /] - -[query public trafoContextInstance(dummmy : Element) : InstanceSpecification = - invoke('org.eclipse.papyrus.qompass.designer.core.transformations.TransformationContext', - 'getInstance()', - Sequence{}) /] - -[query public trafoContextFormalParameter(dummmy : Element) : Classifier = - invoke('org.eclipse.papyrus.qompass.designer.core.transformations.TransformationContext', - 'getFormalParameter()', - Sequence{}) /] - -[query public trafoContextPort(dummmy : Element) : Port = - invoke('org.eclipse.papyrus.qompass.designer.core.transformations.TransformationContext', - 'getPort()', - Sequence{}) /] - -[query public pkgTemplateParameter(dummy : Element, formalName : String) : String = - invoke('org.eclipse.papyrus.qompass.designer.core.transformations.TransformationContext', - 'pkgTemplateParameter(java.lang.String)', - Sequence{formalName}) /] - -[query public templateBinding(dummmy : Element) : TemplateBinding = - invoke('org.eclipse.papyrus.qompass.designer.core.transformations.TransformationContext', - 'getBinding', - Sequence{}) /] - -[query public templateBinding() : TemplateBinding = - invoke('org.eclipse.papyrus.qompass.designer.core.transformations.TransformationContext', - 'getBinding', - Sequence{}) /] - -[query public getSourceRoot(dummy : Element) : Package = - invoke('org.eclipse.papyrus.qompass.designer.core.transformations.TransformationContext', - 'getSourceRoot', - Sequence{}) /]
\ No newline at end of file diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.emtl b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.emtl deleted file mode 100644 index 1267f86efb0..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.emtl +++ /dev/null @@ -1,1332 +0,0 @@ -<?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="UMLTool" nsURI="org::eclipse::papyrus::qompass::designer::core::acceleo::UMLTool" endHeaderPosition="56"> - <input> - <takesTypesFrom href="http://www.eclipse.org/uml2/5.0.0/UML#/"/> - </input> - <ownedModuleElement xsi:type="mtl:Comment"> - <body startPosition="68" endPosition="97" value=" Copyright (c) 2012 CEA List."/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="parametersInInout" visibility="Public" type="/3/Sequence(Parameter)"> - <parameter name="operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </parameter> - <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/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/5.0.0/UML#//Operation"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool"> - <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="parametersInInout(org.eclipse.uml2.uml.Operation)"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - <argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/3/Sequence(Operation)" kind="Sequence"> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - <item xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/parametersInInout/operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </item> - </part> - </argument> - </expression> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="parametersOutInout" visibility="Public" type="/3/Sequence(Parameter)"> - <parameter name="operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </parameter> - <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/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="/8"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool"> - <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="parametersOutInout(org.eclipse.uml2.uml.Operation)"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - <argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/3/Sequence(Operation)" kind="Sequence"> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - <item xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/parametersOutInout/operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </item> - </part> - </argument> - </expression> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="parametersNonRet" visibility="Public" type="/3/Sequence(Parameter)"> - <parameter name="operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </parameter> - <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/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="/11"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool"> - <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="parametersNonRet(org.eclipse.uml2.uml.Operation)"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - <argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/3/Sequence(Operation)" kind="Sequence"> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - <item xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/parametersNonRet/operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </item> - </part> - </argument> - </expression> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="implementsInterface" visibility="Public"> - <parameter name="operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </parameter> - <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/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="/14"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool"> - <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="implementsInterface(org.eclipse.uml2.uml.Operation)"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - <argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/3/Sequence(Operation)" kind="Sequence"> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - <item xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/implementsInterface/operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </item> - </part> - </argument> - </expression> - <type xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="declareDependency" visibility="Public"> - <parameter name="source"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </parameter> - <parameter name="dest"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </parameter> - <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/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="/17"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool"> - <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="declareDependency(org.eclipse.uml2.uml.Type, org.eclipse.uml2.uml.Type)"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - <argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/3/Sequence(Type)" kind="Sequence"> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - <item xsi:type="ocl.ecore:VariableExp" name="source" referredVariable="/0/declareDependency/source"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </item> - </part> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - <item xsi:type="ocl.ecore:VariableExp" name="dest" referredVariable="/0/declareDependency/dest"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </item> - </part> - </argument> - </expression> - <type xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="varName" visibility="Public"> - <parameter name="ne"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </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="/20"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool"> - <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="varName(org.eclipse.uml2.uml.NamedElement)"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - <argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/3/Sequence(NamedElement)" kind="Sequence"> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - <item xsi:type="ocl.ecore:VariableExp" name="ne" referredVariable="/0/varName/ne"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </item> - </part> - </argument> - </expression> - <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="varName" visibility="Public"> - <parameter name="str"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </parameter> - <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/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="/23"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool"> - <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="varName(java.lang.String)"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - <argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/3/Sequence(String)" kind="Sequence"> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <item xsi:type="ocl.ecore:VariableExp" name="str" referredVariable="/0/varName.1/str"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </item> - </part> - </argument> - </expression> - <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="usedNamespaces" visibility="Public" type="/3/Sequence(Namespace)"> - <parameter name="namedElement"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </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="/26"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool"> - <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="usedNamespaces(org.eclipse.uml2.uml.NamedElement)"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - <argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/3/Sequence(NamedElement)" kind="Sequence"> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - <item xsi:type="ocl.ecore:VariableExp" name="namedElement" referredVariable="/0/usedNamespaces/namedElement"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </item> - </part> - </argument> - </expression> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="fragment" visibility="Public"> - <parameter name="element"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/29"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool"> - <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="fragment(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="/3/Sequence(Element)" kind="Sequence"> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - <item xsi:type="ocl.ecore:VariableExp" name="element" referredVariable="/0/fragment/element"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/String"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="xmlID" visibility="Public"> - <parameter name="element"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/32"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool"> - <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="xmlID(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="/3/Sequence(Element)" kind="Sequence"> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - <item xsi:type="ocl.ecore:VariableExp" name="element" referredVariable="/0/xmlID/element"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/String"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="getURI" visibility="Public"> - <parameter name="element"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/35"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool"> - <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="getURI(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="/3/Sequence(Element)" kind="Sequence"> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - <item xsi:type="ocl.ecore:VariableExp" name="element" referredVariable="/0/getURI/element"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/String"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="dereferenceTypedef" visibility="Public"> - <parameter name="type"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </parameter> - <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/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="/38"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool"> - <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="dereferenceTypedef(org.eclipse.uml2.uml.Type)"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - <argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/3/Sequence(Type)" kind="Sequence"> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - <item xsi:type="ocl.ecore:VariableExp" name="type" referredVariable="/0/dereferenceTypedef/type"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </item> - </part> - </argument> - </expression> - <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="encodeID" visibility="Public"> - <parameter name="str"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </parameter> - <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/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="/41"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool"> - <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="encodeID(java.lang.String)"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - <argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/3/Sequence(String)" kind="Sequence"> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <item xsi:type="ocl.ecore:VariableExp" name="str" referredVariable="/0/encodeID/str"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </item> - </part> - </argument> - </expression> - <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="getReferencedClassifiers" visibility="Public" type="/3/Sequence(Classifier)"> - <parameter name="cl"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </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="/44"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool"> - <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="getReferencedClassifiers(org.eclipse.uml2.uml.Classifier)"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - <argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/3/Sequence(Classifier)" kind="Sequence"> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - <item xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/getReferencedClassifiers/cl"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </item> - </part> - </argument> - </expression> - </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="parametersInInout" eType="/3/Sequence(Parameter)"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/parametersInInout"/> - <eParameters name="operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </eParameters> - </eOperations> - <eOperations name="parametersOutInout" eType="/3/Sequence(Parameter)"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/parametersOutInout"/> - <eParameters name="operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </eParameters> - </eOperations> - <eOperations name="parametersNonRet" eType="/3/Sequence(Parameter)"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/parametersNonRet"/> - <eParameters name="operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </eParameters> - </eOperations> - <eOperations name="implementsInterface"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/implementsInterface"/> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface"/> - <eParameters name="operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/0/declareDependency"/> - <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/5.0.0/UML#//Type"/> - </eParameters> - <eParameters name="dest"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/0/varName"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="ne"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </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="/0/varName.1"/> - <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="usedNamespaces" eType="/3/Sequence(Namespace)"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/usedNamespaces"/> - <eParameters name="namedElement"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </eParameters> - </eOperations> - <eOperations name="fragment"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/fragment"/> - <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/5.0.0/UML#//Element"/> - </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="/0/xmlID"/> - <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/5.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="/0/getURI"/> - <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/5.0.0/UML#//Element"/> - </eParameters> - </eOperations> - <eOperations name="dereferenceTypedef"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/dereferenceTypedef"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="type"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </eParameters> - </eOperations> - <eOperations name="encodeID"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/encodeID"/> - <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="getReferencedClassifiers" eType="/3/Sequence(Classifier)"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/getReferencedClassifiers"/> - <eParameters name="cl"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </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="Operation_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Type_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Classifier"/> - </eAnnotations> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ecore:EPackage name="collections"> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Parameter)" instanceClassName="java.util.List"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Namespace)" instanceClassName="java.util.List"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Namespace"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Classifier)" instanceClassName="java.util.List"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Operation)" instanceClassName="java.util.List"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(OclAny)" instanceClassName="java.util.List"> - <elementType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Type)" instanceClassName="java.util.List"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(NamedElement)" instanceClassName="java.util.List"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(String)" instanceClassName="java.util.List"> - <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Element)" instanceClassName="java.util.List"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Element"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Element"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Type"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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> - <ecore:EAnnotation source="positions"> - <eAnnotations source="positions.0" references="/0/%"> - <details key="start" value="60"/> - <details key="end" value="99"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.1" references="/0/parametersInInout"> - <details key="start" value="101"/> - <details key="end" value="329"/> - <details key="line" value="5"/> - </eAnnotations> - <eAnnotations source="positions.2" references="/0/parametersInInout/operation"> - <details key="start" value="133"/> - <details key="end" value="154"/> - <details key="line" value="5"/> - </eAnnotations> - <eAnnotations source="positions.3" references="/0/parametersInInout/%"> - <details key="start" value="181"/> - <details key="end" value="326"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.4" references="/0/parametersInInout/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.5" references="/0/parametersInInout/%/%"> - <details key="start" value="188"/> - <details key="end" value="247"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.6" references="/0/parametersInInout/%/%.1"> - <details key="start" value="251"/> - <details key="end" value="302"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.7" references="/0/parametersInInout/%/%.2"> - <details key="start" value="306"/> - <details key="end" value="325"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.8" references="/0/parametersInInout/%/%.2/%/operation"> - <details key="start" value="315"/> - <details key="end" value="324"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.9" references="/0/parametersOutInout"> - <details key="start" value="331"/> - <details key="end" value="561"/> - <details key="line" value="10"/> - </eAnnotations> - <eAnnotations source="positions.10" references="/0/parametersOutInout/operation"> - <details key="start" value="364"/> - <details key="end" value="385"/> - <details key="line" value="10"/> - </eAnnotations> - <eAnnotations source="positions.11" references="/0/parametersOutInout/%"> - <details key="start" value="412"/> - <details key="end" value="558"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.12" references="/0/parametersOutInout/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.13" references="/0/parametersOutInout/%/%"> - <details key="start" value="419"/> - <details key="end" value="478"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.14" references="/0/parametersOutInout/%/%.1"> - <details key="start" value="482"/> - <details key="end" value="534"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.15" references="/0/parametersOutInout/%/%.2"> - <details key="start" value="538"/> - <details key="end" value="557"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.16" references="/0/parametersOutInout/%/%.2/%/operation"> - <details key="start" value="547"/> - <details key="end" value="556"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.17" references="/0/parametersNonRet"> - <details key="start" value="563"/> - <details key="end" value="789"/> - <details key="line" value="15"/> - </eAnnotations> - <eAnnotations source="positions.18" references="/0/parametersNonRet/operation"> - <details key="start" value="594"/> - <details key="end" value="615"/> - <details key="line" value="15"/> - </eAnnotations> - <eAnnotations source="positions.19" references="/0/parametersNonRet/%"> - <details key="start" value="642"/> - <details key="end" value="786"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.20" references="/0/parametersNonRet/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.21" references="/0/parametersNonRet/%/%"> - <details key="start" value="649"/> - <details key="end" value="708"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.22" references="/0/parametersNonRet/%/%.1"> - <details key="start" value="712"/> - <details key="end" value="762"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.23" references="/0/parametersNonRet/%/%.2"> - <details key="start" value="766"/> - <details key="end" value="785"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.24" references="/0/parametersNonRet/%/%.2/%/operation"> - <details key="start" value="775"/> - <details key="end" value="784"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.25" references="/0/implementsInterface"> - <details key="start" value="792"/> - <details key="end" value="1014"/> - <details key="line" value="21"/> - </eAnnotations> - <eAnnotations source="positions.26" references="/0/implementsInterface/operation"> - <details key="start" value="826"/> - <details key="end" value="847"/> - <details key="line" value="21"/> - </eAnnotations> - <eAnnotations source="positions.27" references="/0/implementsInterface/%"> - <details key="start" value="864"/> - <details key="end" value="1011"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.28" references="/0/implementsInterface/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.29" references="/0/implementsInterface/%/%"> - <details key="start" value="871"/> - <details key="end" value="930"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.30" references="/0/implementsInterface/%/%.1"> - <details key="start" value="934"/> - <details key="end" value="987"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.31" references="/0/implementsInterface/%/%.2"> - <details key="start" value="991"/> - <details key="end" value="1010"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.32" references="/0/implementsInterface/%/%.2/%/operation"> - <details key="start" value="1000"/> - <details key="end" value="1009"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.33" references="/0/declareDependency"> - <details key="start" value="1016"/> - <details key="end" value="1261"/> - <details key="line" value="26"/> - </eAnnotations> - <eAnnotations source="positions.34" references="/0/declareDependency/source"> - <details key="start" value="1048"/> - <details key="end" value="1060"/> - <details key="line" value="26"/> - </eAnnotations> - <eAnnotations source="positions.35" references="/0/declareDependency/dest"> - <details key="start" value="1062"/> - <details key="end" value="1073"/> - <details key="line" value="26"/> - </eAnnotations> - <eAnnotations source="positions.36" references="/0/declareDependency/%"> - <details key="start" value="1088"/> - <details key="end" value="1258"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.37" references="/0/declareDependency/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.38" references="/0/declareDependency/%/%"> - <details key="start" value="1095"/> - <details key="end" value="1154"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.39" references="/0/declareDependency/%/%.1"> - <details key="start" value="1158"/> - <details key="end" value="1231"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.40" references="/0/declareDependency/%/%.2"> - <details key="start" value="1235"/> - <details key="end" value="1257"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.41" references="/0/declareDependency/%/%.2/%/source"> - <details key="start" value="1244"/> - <details key="end" value="1250"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.42" references="/0/declareDependency/%/%.2/%.1/dest"> - <details key="start" value="1252"/> - <details key="end" value="1256"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.43" references="/0/varName"> - <details key="start" value="1263"/> - <details key="end" value="1450"/> - <details key="line" value="31"/> - </eAnnotations> - <eAnnotations source="positions.44" references="/0/varName/ne"> - <details key="start" value="1285"/> - <details key="end" value="1302"/> - <details key="line" value="31"/> - </eAnnotations> - <eAnnotations source="positions.45" references="/0/varName/%"> - <details key="start" value="1316"/> - <details key="end" value="1447"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.46" references="/0/varName/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.47" references="/0/varName/%/%"> - <details key="start" value="1323"/> - <details key="end" value="1382"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.48" references="/0/varName/%/%.1"> - <details key="start" value="1386"/> - <details key="end" value="1430"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.49" references="/0/varName/%/%.2"> - <details key="start" value="1434"/> - <details key="end" value="1446"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.50" references="/0/varName/%/%.2/%/ne"> - <details key="start" value="1443"/> - <details key="end" value="1445"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.51" references="/0/varName.1"> - <details key="start" value="1452"/> - <details key="end" value="1618"/> - <details key="line" value="36"/> - </eAnnotations> - <eAnnotations source="positions.52" references="/0/varName.1/str"> - <details key="start" value="1474"/> - <details key="end" value="1486"/> - <details key="line" value="36"/> - </eAnnotations> - <eAnnotations source="positions.53" references="/0/varName.1/%"> - <details key="start" value="1500"/> - <details key="end" value="1615"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.54" references="/0/varName.1/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.55" references="/0/varName.1/%/%"> - <details key="start" value="1507"/> - <details key="end" value="1566"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.56" references="/0/varName.1/%/%.1"> - <details key="start" value="1570"/> - <details key="end" value="1597"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.57" references="/0/varName.1/%/%.2"> - <details key="start" value="1601"/> - <details key="end" value="1614"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.58" references="/0/varName.1/%/%.2/%/str"> - <details key="start" value="1610"/> - <details key="end" value="1613"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.59" references="/0/usedNamespaces"> - <details key="start" value="1620"/> - <details key="end" value="1854"/> - <details key="line" value="41"/> - </eAnnotations> - <eAnnotations source="positions.60" references="/0/usedNamespaces/namedElement"> - <details key="start" value="1649"/> - <details key="end" value="1676"/> - <details key="line" value="41"/> - </eAnnotations> - <eAnnotations source="positions.61" references="/0/usedNamespaces/%"> - <details key="start" value="1703"/> - <details key="end" value="1851"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.62" references="/0/usedNamespaces/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.63" references="/0/usedNamespaces/%/%"> - <details key="start" value="1710"/> - <details key="end" value="1769"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.64" references="/0/usedNamespaces/%/%.1"> - <details key="start" value="1773"/> - <details key="end" value="1824"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.65" references="/0/usedNamespaces/%/%.2"> - <details key="start" value="1828"/> - <details key="end" value="1850"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.66" references="/0/usedNamespaces/%/%.2/%/namedElement"> - <details key="start" value="1837"/> - <details key="end" value="1849"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.67" references="/0/fragment"> - <details key="start" value="1856"/> - <details key="end" value="2045"/> - <details key="line" value="46"/> - </eAnnotations> - <eAnnotations source="positions.68" references="/0/fragment/element"> - <details key="start" value="1879"/> - <details key="end" value="1896"/> - <details key="line" value="46"/> - </eAnnotations> - <eAnnotations source="positions.69" references="/0/fragment/%"> - <details key="start" value="1910"/> - <details key="end" value="2042"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.70" references="/0/fragment/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.71" references="/0/fragment/%/%"> - <details key="start" value="1917"/> - <details key="end" value="1976"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.72" references="/0/fragment/%/%.1"> - <details key="start" value="1980"/> - <details key="end" value="2020"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.73" references="/0/fragment/%/%.2"> - <details key="start" value="2024"/> - <details key="end" value="2041"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.74" references="/0/fragment/%/%.2/%/element"> - <details key="start" value="2033"/> - <details key="end" value="2040"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.75" references="/0/xmlID"> - <details key="start" value="2047"/> - <details key="end" value="2230"/> - <details key="line" value="51"/> - </eAnnotations> - <eAnnotations source="positions.76" references="/0/xmlID/element"> - <details key="start" value="2067"/> - <details key="end" value="2084"/> - <details key="line" value="51"/> - </eAnnotations> - <eAnnotations source="positions.77" references="/0/xmlID/%"> - <details key="start" value="2098"/> - <details key="end" value="2227"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.78" references="/0/xmlID/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.79" references="/0/xmlID/%/%"> - <details key="start" value="2105"/> - <details key="end" value="2164"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.80" references="/0/xmlID/%/%.1"> - <details key="start" value="2168"/> - <details key="end" value="2205"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.81" references="/0/xmlID/%/%.2"> - <details key="start" value="2209"/> - <details key="end" value="2226"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.82" references="/0/xmlID/%/%.2/%/element"> - <details key="start" value="2218"/> - <details key="end" value="2225"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.83" references="/0/getURI"> - <details key="start" value="2233"/> - <details key="end" value="2418"/> - <details key="line" value="57"/> - </eAnnotations> - <eAnnotations source="positions.84" references="/0/getURI/element"> - <details key="start" value="2254"/> - <details key="end" value="2271"/> - <details key="line" value="57"/> - </eAnnotations> - <eAnnotations source="positions.85" references="/0/getURI/%"> - <details key="start" value="2285"/> - <details key="end" value="2415"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.86" references="/0/getURI/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.87" references="/0/getURI/%/%"> - <details key="start" value="2292"/> - <details key="end" value="2351"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.88" references="/0/getURI/%/%.1"> - <details key="start" value="2355"/> - <details key="end" value="2393"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.89" references="/0/getURI/%/%.2"> - <details key="start" value="2397"/> - <details key="end" value="2414"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.90" references="/0/getURI/%/%.2/%/element"> - <details key="start" value="2406"/> - <details key="end" value="2413"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.91" references="/0/dereferenceTypedef"> - <details key="start" value="2421"/> - <details key="end" value="2618"/> - <details key="line" value="63"/> - </eAnnotations> - <eAnnotations source="positions.92" references="/0/dereferenceTypedef/type"> - <details key="start" value="2454"/> - <details key="end" value="2465"/> - <details key="line" value="63"/> - </eAnnotations> - <eAnnotations source="positions.93" references="/0/dereferenceTypedef/%"> - <details key="start" value="2479"/> - <details key="end" value="2615"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.94" references="/0/dereferenceTypedef/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.95" references="/0/dereferenceTypedef/%/%"> - <details key="start" value="2486"/> - <details key="end" value="2545"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.96" references="/0/dereferenceTypedef/%/%.1"> - <details key="start" value="2549"/> - <details key="end" value="2596"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.97" references="/0/dereferenceTypedef/%/%.2"> - <details key="start" value="2600"/> - <details key="end" value="2614"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.98" references="/0/dereferenceTypedef/%/%.2/%/type"> - <details key="start" value="2609"/> - <details key="end" value="2613"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.99" references="/0/encodeID"> - <details key="start" value="2620"/> - <details key="end" value="2788"/> - <details key="line" value="68"/> - </eAnnotations> - <eAnnotations source="positions.100" references="/0/encodeID/str"> - <details key="start" value="2643"/> - <details key="end" value="2655"/> - <details key="line" value="68"/> - </eAnnotations> - <eAnnotations source="positions.101" references="/0/encodeID/%"> - <details key="start" value="2669"/> - <details key="end" value="2785"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.102" references="/0/encodeID/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.103" references="/0/encodeID/%/%"> - <details key="start" value="2676"/> - <details key="end" value="2735"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.104" references="/0/encodeID/%/%.1"> - <details key="start" value="2739"/> - <details key="end" value="2767"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.105" references="/0/encodeID/%/%.2"> - <details key="start" value="2771"/> - <details key="end" value="2784"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.106" references="/0/encodeID/%/%.2/%/str"> - <details key="start" value="2780"/> - <details key="end" value="2783"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.107" references="/0/getReferencedClassifiers"> - <details key="start" value="2790"/> - <details key="end" value="3021"/> - <details key="line" value="73"/> - </eAnnotations> - <eAnnotations source="positions.108" references="/0/getReferencedClassifiers/cl"> - <details key="start" value="2829"/> - <details key="end" value="2844"/> - <details key="line" value="73"/> - </eAnnotations> - <eAnnotations source="positions.109" references="/0/getReferencedClassifiers/%"> - <details key="start" value="2872"/> - <details key="end" value="3018"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.110" references="/0/getReferencedClassifiers/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.111" references="/0/getReferencedClassifiers/%/%"> - <details key="start" value="2879"/> - <details key="end" value="2938"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.112" references="/0/getReferencedClassifiers/%/%.1"> - <details key="start" value="2942"/> - <details key="end" value="3001"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.113" references="/0/getReferencedClassifiers/%/%.2"> - <details key="start" value="3005"/> - <details key="end" value="3017"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.114" references="/0/getReferencedClassifiers/%/%.2/%/cl"> - <details key="start" value="3014"/> - <details key="end" value="3016"/> - <details key="line" value="0"/> - </eAnnotations> - </ecore:EAnnotation> -</xmi:XMI> diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.mtl b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.mtl deleted file mode 100644 index 143974c8936..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.mtl +++ /dev/null @@ -1,76 +0,0 @@ -[module UMLTool('http://www.eclipse.org/uml2/5.0.0/UML')/] - -[comment Copyright (c) 2012 CEA List./] - -[query public parametersInInout(operation : Operation) : Sequence(Parameter) = - invoke('org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool', - 'parametersInInout(org.eclipse.uml2.uml.Operation)', - Sequence{operation}) /] - -[query public parametersOutInout(operation : Operation) : Sequence(Parameter) = - invoke('org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool', - 'parametersOutInout(org.eclipse.uml2.uml.Operation)', - Sequence{operation}) /] - -[query public parametersNonRet(operation : Operation) : Sequence(Parameter) = - invoke('org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool', - 'parametersNonRet(org.eclipse.uml2.uml.Operation)', - Sequence{operation}) /] - - -[query public implementsInterface(operation : Operation) : Interface = - invoke('org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool', - 'implementsInterface(org.eclipse.uml2.uml.Operation)', - Sequence{operation}) /] - -[query public declareDependency(source: Type, dest : Type) : OclVoid = - invoke('org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool', - 'declareDependency(org.eclipse.uml2.uml.Type, org.eclipse.uml2.uml.Type)', - Sequence{source, dest}) /] - -[query public varName(ne : NamedElement) : String = - invoke('org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool', - 'varName(org.eclipse.uml2.uml.NamedElement)', - Sequence{ne}) /] - -[query public varName(str : String) : String = - invoke('org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool', - 'varName(java.lang.String)', - Sequence{str}) /] - -[query public usedNamespaces(namedElement : NamedElement) : Sequence(Namespace) = - invoke('org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool', - 'usedNamespaces(org.eclipse.uml2.uml.NamedElement)', - Sequence{namedElement}) /] - -[query public fragment(element : Element) : String = - invoke('org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool', - 'fragment(org.eclipse.uml2.uml.Element)', - Sequence{element}) /] - -[query public xmlID(element : Element) : String = - invoke('org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool', - 'xmlID(org.eclipse.uml2.uml.Element)', - Sequence{element}) /] - - -[query public getURI(element : Element) : String = - invoke('org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool', - 'getURI(org.eclipse.uml2.uml.Element)', - Sequence{element}) /] - - -[query public dereferenceTypedef(type : Type) : String = - invoke('org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool', - 'dereferenceTypedef(org.eclipse.uml2.uml.Type)', - Sequence{type}) /] - -[query public encodeID(str : String) : String = - invoke('org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool', - 'encodeID(java.lang.String)', - Sequence{str}) /] - -[query public getReferencedClassifiers(cl : Classifier) : Sequence(Classifier) = - invoke('org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool', - 'getReferencedClassifiers(org.eclipse.uml2.uml.Classifier)', - Sequence{cl}) /] diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/utils_cpp.emtl b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/utils_cpp.emtl deleted file mode 100644 index dfb2d42b487..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/utils_cpp.emtl +++ /dev/null @@ -1,1294 +0,0 @@ -<?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="utils_cpp" nsURI="org::eclipse::papyrus::qompass::designer::core::acceleo::utils_cpp" endHeaderPosition="58"> - <input> - <takesTypesFrom href="http://www.eclipse.org/uml2/5.0.0/UML#/"/> - </input> - <imports href="UMLTool.emtl#/0"/> - <ownedModuleElement xsi:type="mtl:Comment"> - <body startPosition="147" endPosition="215" value="
	create the C++ signature for an operation (including parenthesis)
"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Template" name="cppSignature" 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/cppSignature/operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" ("/> - <body xsi:type="mtl:ForBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	"/> - <body xsi:type="mtl:TemplateInvocation" definition="/0/cppParameter"> - <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="parameter" referredVariable="/0/cppSignature/%.2/parameter"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> - <loopVariable name="parameter"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/cppSignature/operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature/ownedParameter"/> - </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> - <parameter name="operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </parameter> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Comment"> - <body startPosition="422" endPosition="489" value="
	make a C++ call, pass all parameters except the return parameter
"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Template" name="cppCall" 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/cppCall/operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="("/> - <body xsi:type="mtl:ForBlock"> - <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/cppCall/%.2/parameter"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <loopVariable name="parameter"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </loopVariable> - <iterSet xsi:type="mtl:QueryInvocation" eType="/7/Sequence(Parameter)"> - <definition href="UMLTool.emtl#/0/parametersNonRet"/> - <argument xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/cppCall/operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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=")"/> - <parameter name="operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </parameter> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Comment"> - <body startPosition="683" endPosition="830" value="
	make a C++ call, pass all parameters except the return parameter, prefix with "return",
	if there is a return type in the operations declaration
"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Template" name="returnCppCall" visibility="Public"> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="return "/> - <ifExpr xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/returnCppCall/operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.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="mtl:TemplateInvocation" definition="/0/cppCall"> - <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/5.0.0/UML#//Operation"/> - </argument> - </body> - <parameter name="operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </parameter> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Template" name="cppParameter" visibility="Public"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	"/> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - <source xsi:type="ocl.ecore:VariableExp" name="parameter" referredVariable="/0/cppParameter/parameter"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/> - </body> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_out"/> - <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:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//ParameterDirectionKind"/> - <source xsi:type="ocl.ecore:VariableExp" name="parameter" referredVariable="/0/cppParameter/parameter"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="out"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/> - </ifExpr> - </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/cppParameter/parameter"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <parameter name="parameter"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </parameter> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Template" name="cppType" visibility="Public"> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="		bool
"/> - <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="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/cppType/type"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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/="/> - </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="UMLTool.emtl#/0/dereferenceTypedef"/> - <argument xsi:type="ocl.ecore:VariableExp" name="type" referredVariable="/0/cppType/type"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> - </else> - <elseIf> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="		int
"/> - <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="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/cppType/type"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/qualifiedName"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="UMLPrimitiveTypes::Integer"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/="/> - </ifExpr> - </elseIf> - </body> - <parameter name="type"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </parameter> - <post xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/trim"> - <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="/41"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </source> - </post> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Template" name="cppRetType" visibility="Public"> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	void
"/> - <ifExpr xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/cppRetType/operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.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/="/> - </ifExpr> - <else> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	"/> - <body xsi:type="mtl:TemplateInvocation" definition="/0/cppType"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/cppRetType/operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation/type"/> - </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/5.0.0/UML#//Operation"/> - </parameter> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Comment"> - <body startPosition="1503" endPosition="1657" value="
	open a set of C++ namespaces associated with the packages of of the passed named element
	TODO: use indentTab? => requires making this script recursive
"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Template" name="openNamespace" visibility="Public"> - <body xsi:type="mtl:ForBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="		namespace "/> - <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="ns" referredVariable="/0/openNamespace/%/ns"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Namespace"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> - <loopVariable name="ns"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Namespace"/> - </loopVariable> - <iterSet xsi:type="ocl.ecore:OperationCallExp" eType="/7/Sequence(Namespace)" referredOperation="/1/Sequence(T)_Class/reverse"> - <source xsi:type="mtl:QueryInvocation" eType="/7/Sequence(Namespace)"> - <definition href="UMLTool.emtl#/0/usedNamespaces"/> - <argument xsi:type="ocl.ecore:VariableExp" name="namedElement" referredVariable="/0/openNamespace/namedElement"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </argument> - </source> - </iterSet> - </body> - <parameter name="namedElement"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </parameter> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Comment"> - <body startPosition="1917" endPosition="2009" value="
	close a set of C++ namespaces associated with the packages of of the passed named element
"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Template" name="closeNamespace" visibility="Public"> - <body xsi:type="mtl:ForBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	}; // of namespace "/> - <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="ns" referredVariable="/0/closeNamespace/%/ns"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Namespace"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> - <loopVariable name="ns"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Namespace"/> - </loopVariable> - <iterSet xsi:type="mtl:QueryInvocation" eType="/7/Sequence(Namespace)"> - <definition href="UMLTool.emtl#/0/usedNamespaces"/> - <argument xsi:type="ocl.ecore:VariableExp" name="namedElement" referredVariable="/0/closeNamespace/namedElement"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </argument> - </iterSet> - </body> - <parameter name="namedElement"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </parameter> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Comment"> - <body startPosition="2267" endPosition="2419" value="
<%script type="uml.Class" name="partSignature" post="trim()"%>
<%for (part.sep(", ")) {%><%if (!type.isCompImpl) {%><%type.name%> * <%name%><%}%><%}%>
"/> - </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> - <eOperations name="trim"> - <eAnnotations source="MTL non-standard"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eOperations> - </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="cppSignature"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/cppSignature"/> - <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/5.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="/0/cppCall"/> - <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/5.0.0/UML#//Operation"/> - </eParameters> - </eOperations> - <eOperations name="returnCppCall"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/returnCppCall"/> - <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/5.0.0/UML#//Operation"/> - </eParameters> - </eOperations> - <eOperations name="cppParameter"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/cppParameter"/> - <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/5.0.0/UML#//Parameter"/> - </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="/0/cppType"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="type"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </eParameters> - </eOperations> - <eOperations name="cppRetType"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/cppRetType"/> - <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/5.0.0/UML#//Operation"/> - </eParameters> - </eOperations> - <eOperations name="openNamespace"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/openNamespace"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="namedElement"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </eParameters> - </eOperations> - <eOperations name="closeNamespace"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/closeNamespace"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="namedElement"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </eParameters> - </eOperations> - <eOperations name="parametersNonRet"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL"> - <references href="UMLTool.emtl#/0/parametersNonRet"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:SequenceType" href="UMLTool.emtl#/3/Sequence(Parameter)"/> - <eParameters name="operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </eParameters> - </eOperations> - <eOperations name="usedNamespaces"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL"> - <references href="UMLTool.emtl#/0/usedNamespaces"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:SequenceType" href="UMLTool.emtl#/3/Sequence(Namespace)"/> - <eParameters name="namedElement"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </eParameters> - </eOperations> - <eOperations name="dereferenceTypedef"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL"> - <references href="UMLTool.emtl#/0/dereferenceTypedef"/> - </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/5.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> - <eOperations name="reverse"> - <eAnnotations source="MTL non-standard"/> - <eType xsi:type="ocl.ecore:SequenceType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/> - </eOperations> - </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/5.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/5.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/5.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/5.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/5.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/5.0.0/UML#//Classifier"/> - </eAnnotations> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//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/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <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/5.0.0/UML#//Parameter"/> - </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/5.0.0/UML#//Parameter"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Namespace)" instanceClassName="java.util.List"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Namespace"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="i"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//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/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="i"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//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/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//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="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Type"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//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/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Namespace"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Namespace"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="i"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Namespace"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Namespace"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </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> - <ecore:EAnnotation source="positions"> - <eAnnotations source="positions.0" references="/0/%"> - <details key="start" value="139"/> - <details key="end" value="217"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.1" references="/0/cppSignature"> - <details key="start" value="218"/> - <details key="end" value="411"/> - <details key="line" value="8"/> - </eAnnotations> - <eAnnotations source="positions.2" references="/0/cppSignature/%"> - <details key="start" value="273"/> - <details key="end" value="287"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.3" references="/0/cppSignature/%/operation"> - <details key="start" value="273"/> - <details key="end" value="282"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.4" references="/0/cppSignature/%.1"> - <details key="start" value="289"/> - <details key="end" value="291"/> - <details key="line" value="9"/> - </eAnnotations> - <eAnnotations source="positions.5" references="/0/cppSignature/%.2"> - <details key="start" value="291"/> - <details key="end" value="399"/> - <details key="line" value="9"/> - </eAnnotations> - <eAnnotations source="positions.6" references="/0/cppSignature/%.2/%"> - <details key="start" value="364"/> - <details key="end" value="365"/> - <details key="line" value="10"/> - </eAnnotations> - <eAnnotations source="positions.7" references="/0/cppSignature/%.2/%.1"> - <details key="start" value="366"/> - <details key="end" value="390"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.8" references="/0/cppSignature/%.2/%.1/parameter"> - <details key="start" value="366"/> - <details key="end" value="375"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.9" references="/0/cppSignature/%.2/%.2"> - <details key="start" value="392"/> - <details key="end" value="393"/> - <details key="line" value="11"/> - </eAnnotations> - <eAnnotations source="positions.10" references="/0/cppSignature/%.2/parameter"> - <details key="start" value="297"/> - <details key="end" value="318"/> - <details key="line" value="9"/> - </eAnnotations> - <eAnnotations source="positions.11" references="/0/cppSignature/%.2/%.3"> - <details key="start" value="321"/> - <details key="end" value="345"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.12" references="/0/cppSignature/%.2/%.3/operation"> - <details key="start" value="321"/> - <details key="end" value="330"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.13" references="/0/cppSignature/%.2/%.4"> - <details key="start" value="357"/> - <details key="end" value="361"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.14" references="/0/cppSignature/operation"> - <details key="start" value="248"/> - <details key="end" value="269"/> - <details key="line" value="8"/> - </eAnnotations> - <eAnnotations source="positions.15" references="/0/%.1"> - <details key="start" value="414"/> - <details key="end" value="491"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.16" references="/0/cppCall"> - <details key="start" value="492"/> - <details key="end" value="673"/> - <details key="line" value="18"/> - </eAnnotations> - <eAnnotations source="positions.17" references="/0/cppCall/%"> - <details key="start" value="542"/> - <details key="end" value="556"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.18" references="/0/cppCall/%/operation"> - <details key="start" value="542"/> - <details key="end" value="551"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.19" references="/0/cppCall/%.1"> - <details key="start" value="558"/> - <details key="end" value="559"/> - <details key="line" value="19"/> - </eAnnotations> - <eAnnotations source="positions.20" references="/0/cppCall/%.2"> - <details key="start" value="559"/> - <details key="end" value="660"/> - <details key="line" value="19"/> - </eAnnotations> - <eAnnotations source="positions.21" references="/0/cppCall/%.2/%"> - <details key="start" value="638"/> - <details key="end" value="652"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.22" references="/0/cppCall/%.2/%/parameter"> - <details key="start" value="638"/> - <details key="end" value="647"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.23" references="/0/cppCall/%.2/parameter"> - <details key="start" value="565"/> - <details key="end" value="586"/> - <details key="line" value="19"/> - </eAnnotations> - <eAnnotations source="positions.24" references="/0/cppCall/%.2/%.1"> - <details key="start" value="589"/> - <details key="end" value="617"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.25" references="/0/cppCall/%.2/%.1/operation"> - <details key="start" value="589"/> - <details key="end" value="598"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.26" references="/0/cppCall/%.2/%.2"> - <details key="start" value="629"/> - <details key="end" value="633"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.27" references="/0/cppCall/%.3"> - <details key="start" value="660"/> - <details key="end" value="661"/> - <details key="line" value="20"/> - </eAnnotations> - <eAnnotations source="positions.28" references="/0/cppCall/operation"> - <details key="start" value="517"/> - <details key="end" value="538"/> - <details key="line" value="18"/> - </eAnnotations> - <eAnnotations source="positions.29" references="/0/%.2"> - <details key="start" value="675"/> - <details key="end" value="832"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.30" references="/0/returnCppCall"> - <details key="start" value="833"/> - <details key="end" value="956"/> - <details key="line" value="27"/> - </eAnnotations> - <eAnnotations source="positions.31" references="/0/returnCppCall/%"> - <details key="start" value="888"/> - <details key="end" value="932"/> - <details key="line" value="28"/> - </eAnnotations> - <eAnnotations source="positions.32" references="/0/returnCppCall/%/%"> - <details key="start" value="920"/> - <details key="end" value="927"/> - <details key="line" value="28"/> - </eAnnotations> - <eAnnotations source="positions.33" references="/0/returnCppCall/%/%.1"> - <details key="start" value="892"/> - <details key="end" value="919"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.34" references="/0/returnCppCall/%/%.1/%"> - <details key="start" value="896"/> - <details key="end" value="919"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.35" references="/0/returnCppCall/%/%.1/%/%"> - <details key="start" value="897"/> - <details key="end" value="911"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.36" references="/0/returnCppCall/%/%.1/%/%/operation"> - <details key="start" value="897"/> - <details key="end" value="906"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.37" references="/0/returnCppCall/%/%.1/%/%.1"> - <details key="start" value="914"/> - <details key="end" value="918"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.38" references="/0/returnCppCall/%.1"> - <details key="start" value="933"/> - <details key="end" value="942"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.39" references="/0/returnCppCall/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.40" references="/0/returnCppCall/operation"> - <details key="start" value="864"/> - <details key="end" value="885"/> - <details key="line" value="27"/> - </eAnnotations> - <eAnnotations source="positions.41" references="/0/cppParameter"> - <details key="start" value="958"/> - <details key="end" value="1103"/> - <details key="line" value="31"/> - </eAnnotations> - <eAnnotations source="positions.42" references="/0/cppParameter/%"> - <details key="start" value="1012"/> - <details key="end" value="1013"/> - <details key="line" value="32"/> - </eAnnotations> - <eAnnotations source="positions.43" references="/0/cppParameter/%.1"> - <details key="start" value="1014"/> - <details key="end" value="1028"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.44" references="/0/cppParameter/%.1/parameter"> - <details key="start" value="1014"/> - <details key="end" value="1023"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.45" references="/0/cppParameter/%.2"> - <details key="start" value="1030"/> - <details key="end" value="1073"/> - <details key="line" value="32"/> - </eAnnotations> - <eAnnotations source="positions.46" references="/0/cppParameter/%.2/%"> - <details key="start" value="1064"/> - <details key="end" value="1068"/> - <details key="line" value="32"/> - </eAnnotations> - <eAnnotations source="positions.47" references="/0/cppParameter/%.2/%.1"> - <details key="start" value="1034"/> - <details key="end" value="1063"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.48" references="/0/cppParameter/%.2/%.1/%"> - <details key="start" value="1035"/> - <details key="end" value="1054"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.49" references="/0/cppParameter/%.2/%.1/%/parameter"> - <details key="start" value="1035"/> - <details key="end" value="1044"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.50" references="/0/cppParameter/%.2/%.1/%.1"> - <details key="start" value="1057"/> - <details key="end" value="1062"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.51" references="/0/cppParameter/%.3"> - <details key="start" value="1073"/> - <details key="end" value="1074"/> - <details key="line" value="32"/> - </eAnnotations> - <eAnnotations source="positions.52" references="/0/cppParameter/%.4"> - <details key="start" value="1075"/> - <details key="end" value="1089"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.53" references="/0/cppParameter/%.4/parameter"> - <details key="start" value="1075"/> - <details key="end" value="1084"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.54" references="/0/cppParameter/parameter"> - <details key="start" value="988"/> - <details key="end" value="1009"/> - <details key="line" value="31"/> - </eAnnotations> - <eAnnotations source="positions.55" references="/0/cppType"> - <details key="start" value="1105"/> - <details key="end" value="1347"/> - <details key="line" value="35"/> - </eAnnotations> - <eAnnotations source="positions.56" references="/0/cppType/%"> - <details key="start" value="1158"/> - <details key="end" value="1335"/> - <details key="line" value="36"/> - </eAnnotations> - <eAnnotations source="positions.57" references="/0/cppType/%/%"> - <details key="start" value="1215"/> - <details key="end" value="1222"/> - <details key="line" value="37"/> - </eAnnotations> - <eAnnotations source="positions.58" references="/0/cppType/%/%.1"> - <details key="start" value="1162"/> - <details key="end" value="1213"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.59" references="/0/cppType/%/%.1/%"> - <details key="start" value="1163"/> - <details key="end" value="1181"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.60" references="/0/cppType/%/%.1/%/type"> - <details key="start" value="1163"/> - <details key="end" value="1167"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.61" references="/0/cppType/%/%.1/%.1"> - <details key="start" value="1184"/> - <details key="end" value="1212"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.62" references="/0/cppType/%/%.2"> - <details key="start" value="1291"/> - <details key="end" value="1330"/> - <details key="line" value="40"/> - </eAnnotations> - <eAnnotations source="positions.63" references="/0/cppType/%/%.2/%"> - <details key="start" value="1298"/> - <details key="end" value="1300"/> - <details key="line" value="41"/> - </eAnnotations> - <eAnnotations source="positions.64" references="/0/cppType/%/%.2/%.1"> - <details key="start" value="1301"/> - <details key="end" value="1326"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.65" references="/0/cppType/%/%.2/%.1/type"> - <details key="start" value="1301"/> - <details key="end" value="1305"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.66" references="/0/cppType/%/%.2/%.2"> - <details key="start" value="1328"/> - <details key="end" value="1329"/> - <details key="line" value="42"/> - </eAnnotations> - <eAnnotations source="positions.67" references="/0/cppType/%/%.3"> - <details key="start" value="1223"/> - <details key="end" value="1291"/> - <details key="line" value="38"/> - </eAnnotations> - <eAnnotations source="positions.68" references="/0/cppType/%/%.3/%"> - <details key="start" value="1284"/> - <details key="end" value="1290"/> - <details key="line" value="39"/> - </eAnnotations> - <eAnnotations source="positions.69" references="/0/cppType/%/%.3/%.1"> - <details key="start" value="1231"/> - <details key="end" value="1282"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.70" references="/0/cppType/%/%.3/%.1/%"> - <details key="start" value="1232"/> - <details key="end" value="1250"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.71" references="/0/cppType/%/%.3/%.1/%/type"> - <details key="start" value="1232"/> - <details key="end" value="1236"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.72" references="/0/cppType/%/%.3/%.1/%.1"> - <details key="start" value="1253"/> - <details key="end" value="1281"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.73" references="/0/cppType/type"> - <details key="start" value="1130"/> - <details key="end" value="1141"/> - <details key="line" value="35"/> - </eAnnotations> - <eAnnotations source="positions.74" references="/0/cppType/%.1"> - <details key="start" value="1148"/> - <details key="end" value="1154"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.75" references="/0/cppType/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.76" references="/0/cppRetType"> - <details key="start" value="1350"/> - <details key="end" value="1493"/> - <details key="line" value="46"/> - </eAnnotations> - <eAnnotations source="positions.77" references="/0/cppRetType/%"> - <details key="start" value="1403"/> - <details key="end" value="1481"/> - <details key="line" value="47"/> - </eAnnotations> - <eAnnotations source="positions.78" references="/0/cppRetType/%/%"> - <details key="start" value="1432"/> - <details key="end" value="1438"/> - <details key="line" value="48"/> - </eAnnotations> - <eAnnotations source="positions.79" references="/0/cppRetType/%/%.1"> - <details key="start" value="1407"/> - <details key="end" value="1430"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.80" references="/0/cppRetType/%/%.1/%"> - <details key="start" value="1408"/> - <details key="end" value="1422"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.81" references="/0/cppRetType/%/%.1/%/operation"> - <details key="start" value="1408"/> - <details key="end" value="1417"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.82" references="/0/cppRetType/%/%.1/%.1"> - <details key="start" value="1425"/> - <details key="end" value="1429"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.83" references="/0/cppRetType/%/%.2"> - <details key="start" value="1439"/> - <details key="end" value="1476"/> - <details key="line" value="49"/> - </eAnnotations> - <eAnnotations source="positions.84" references="/0/cppRetType/%/%.2/%"> - <details key="start" value="1446"/> - <details key="end" value="1447"/> - <details key="line" value="50"/> - </eAnnotations> - <eAnnotations source="positions.85" references="/0/cppRetType/%/%.2/%.1"> - <details key="start" value="1448"/> - <details key="end" value="1472"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.86" references="/0/cppRetType/%/%.2/%.1/%"> - <details key="start" value="1448"/> - <details key="end" value="1462"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.87" references="/0/cppRetType/%/%.2/%.1/%/operation"> - <details key="start" value="1448"/> - <details key="end" value="1457"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.88" references="/0/cppRetType/%/%.2/%.2"> - <details key="start" value="1474"/> - <details key="end" value="1475"/> - <details key="line" value="51"/> - </eAnnotations> - <eAnnotations source="positions.89" references="/0/cppRetType/operation"> - <details key="start" value="1378"/> - <details key="end" value="1399"/> - <details key="line" value="46"/> - </eAnnotations> - <eAnnotations source="positions.90" references="/0/%.3"> - <details key="start" value="1495"/> - <details key="end" value="1659"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.91" references="/0/openNamespace"> - <details key="start" value="1660"/> - <details key="end" value="1907"/> - <details key="line" value="58"/> - </eAnnotations> - <eAnnotations source="positions.92" references="/0/openNamespace/%"> - <details key="start" value="1799"/> - <details key="end" value="1895"/> - <details key="line" value="60"/> - </eAnnotations> - <eAnnotations source="positions.93" references="/0/openNamespace/%/%"> - <details key="start" value="1865"/> - <details key="end" value="1877"/> - <details key="line" value="61"/> - </eAnnotations> - <eAnnotations source="positions.94" references="/0/openNamespace/%/%.1"> - <details key="start" value="1878"/> - <details key="end" value="1885"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.95" references="/0/openNamespace/%/%.1/ns"> - <details key="start" value="1878"/> - <details key="end" value="1880"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.96" references="/0/openNamespace/%/%.2"> - <details key="start" value="1887"/> - <details key="end" value="1888"/> - <details key="line" value="62"/> - </eAnnotations> - <eAnnotations source="positions.97" references="/0/openNamespace/%/ns"> - <details key="start" value="1805"/> - <details key="end" value="1819"/> - <details key="line" value="60"/> - </eAnnotations> - <eAnnotations source="positions.98" references="/0/openNamespace/%/%.3"> - <details key="start" value="1822"/> - <details key="end" value="1862"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.99" references="/0/openNamespace/%/%.3/%"> - <details key="start" value="1822"/> - <details key="end" value="1851"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.100" references="/0/openNamespace/%/%.3/%/namedElement"> - <details key="start" value="1822"/> - <details key="end" value="1834"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.101" references="/0/openNamespace/namedElement"> - <details key="start" value="1691"/> - <details key="end" value="1718"/> - <details key="line" value="58"/> - </eAnnotations> - <eAnnotations source="positions.102" references="/0/%.4"> - <details key="start" value="1909"/> - <details key="end" value="2011"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.103" references="/0/closeNamespace"> - <details key="start" value="2012"/> - <details key="end" value="2257"/> - <details key="line" value="68"/> - </eAnnotations> - <eAnnotations source="positions.104" references="/0/closeNamespace/%"> - <details key="start" value="2152"/> - <details key="end" value="2245"/> - <details key="line" value="70"/> - </eAnnotations> - <eAnnotations source="positions.105" references="/0/closeNamespace/%/%"> - <details key="start" value="2207"/> - <details key="end" value="2227"/> - <details key="line" value="71"/> - </eAnnotations> - <eAnnotations source="positions.106" references="/0/closeNamespace/%/%.1"> - <details key="start" value="2228"/> - <details key="end" value="2235"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.107" references="/0/closeNamespace/%/%.1/ns"> - <details key="start" value="2228"/> - <details key="end" value="2230"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.108" references="/0/closeNamespace/%/%.2"> - <details key="start" value="2237"/> - <details key="end" value="2238"/> - <details key="line" value="72"/> - </eAnnotations> - <eAnnotations source="positions.109" references="/0/closeNamespace/%/ns"> - <details key="start" value="2158"/> - <details key="end" value="2172"/> - <details key="line" value="70"/> - </eAnnotations> - <eAnnotations source="positions.110" references="/0/closeNamespace/%/%.3"> - <details key="start" value="2175"/> - <details key="end" value="2204"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.111" references="/0/closeNamespace/%/%.3/namedElement"> - <details key="start" value="2175"/> - <details key="end" value="2187"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.112" references="/0/closeNamespace/namedElement"> - <details key="start" value="2044"/> - <details key="end" value="2071"/> - <details key="line" value="68"/> - </eAnnotations> - <eAnnotations source="positions.113" references="/0/%.5"> - <details key="start" value="2259"/> - <details key="end" value="2421"/> - <details key="line" value="0"/> - </eAnnotations> - </ecore:EAnnotation> -</xmi:XMI> diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/utils_cpp.mtl b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/utils_cpp.mtl deleted file mode 100644 index 1ca37544988..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/utils_cpp.mtl +++ /dev/null @@ -1,78 +0,0 @@ -[module utils_cpp('http://www.eclipse.org/uml2/5.0.0/UML')/] - -[import org::eclipse::papyrus::qompass::designer::core::acceleo::UMLTool /] - -[comment - create the C++ signature for an operation (including parenthesis) -/] -[template public cppSignature(operation : Operation)] -[operation.name/] ([for (parameter : Parameter | operation.ownedParameter) separator(', ')] - [parameter.cppParameter()/] -[/for] -[/template] - - -[comment - make a C++ call, pass all parameters except the return parameter -/] -[template public cppCall(operation : Operation)] -[operation.name/]([for (parameter : Parameter | operation.parametersNonRet()) separator(', ') - ][parameter.name/][/for]) -[/template] - -[comment - make a C++ call, pass all parameters except the return parameter, prefix with "return", - if there is a return type in the operations declaration -/] -[template public returnCppCall(operation : Operation)] -[if not (operation.type = null)]return [/if][cppCall()/] -[/template] - -[template public cppParameter(parameter : Parameter)] - [parameter.type/][if (parameter.direction = 'out')]_out[/if] [parameter.name/] -[/template] - -[template public cppType(type : Type) post(trim())] - [if (type.qualifiedName = 'UMLPrimitiveTypes::Boolean')] - bool - [elseif (type.qualifiedName = 'UMLPrimitiveTypes::Integer')] - int - [else] - [type.dereferenceTypedef()/] - [/if] -[/template] - - -[template public cppRetType(operation : Operation)] - [if (operation.type = null)] - void - [else] - [operation.type.cppType()/] - [/if] -[/template] - -[comment - open a set of C++ namespaces associated with the packages of of the passed named element - TODO: use indentTab? => requires making this script recursive -/] -[template public openNamespace(namedElement : NamedElement)] - [comment need to include referenced types (assuming a naming convention) /] - [for (ns : Namespace | namedElement.usedNamespaces()->reverse())] - namespace [ns.name/] - [/for] -[/template] - -[comment - close a set of C++ namespaces associated with the packages of of the passed named element -/] -[template public closeNamespace(namedElement : NamedElement)] - [comment need to include referenced types (assuming a naming convention) /] - [for (ns : Namespace | namedElement.usedNamespaces())] - }; // of namespace [ns.name/] - [/for] -[/template] - -[comment -<%script type="uml.Class" name="partSignature" post="trim()"%> -<%for (part.sep(", ")) {%><%if (!type.isCompImpl) {%><%type.name%> * <%name%><%}%><%}%> -/]
\ No newline at end of file diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/extensions/IXtend.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/extensions/IXtend.java new file mode 100644 index 00000000000..1028f6f2ac6 --- /dev/null +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/extensions/IXtend.java @@ -0,0 +1,15 @@ +/******************************************************************************* + * Copyright (c) 2011 CEA LIST. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * CEA LIST - initial API and implementation + *******************************************************************************/ + +package org.eclipse.papyrus.qompass.designer.core.extensions; + +public interface IXtend { +} diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/extensions/XtendGenerator.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/extensions/XtendGenerator.java new file mode 100644 index 00000000000..9737559803b --- /dev/null +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/extensions/XtendGenerator.java @@ -0,0 +1,48 @@ +/******************************************************************************* + * Copyright (c) 2011 CEA LIST. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * CEA LIST - initial API and implementation + *******************************************************************************/ + +package org.eclipse.papyrus.qompass.designer.core.extensions; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IConfigurationElement; +import org.eclipse.core.runtime.IExtensionRegistry; +import org.eclipse.core.runtime.Platform; +import org.eclipse.papyrus.qompass.designer.core.Activator; + + +/** + * Support for embedding rules. + * CAVEAT: Currently not used, unclear if kept + */ +public class XtendGenerator { + + public static final String ITEMPLATE_ID = Activator.PLUGIN_ID + ".xtendGenerator"; //$NON-NLS-1$ + + public static IXtend getXtendGenerator(String generatorID) { + IExtensionRegistry reg = Platform.getExtensionRegistry(); + IConfigurationElement[] configElements = reg.getConfigurationElementsFor(ITEMPLATE_ID); + for (IConfigurationElement configElement : configElements) { + try { + final String iTemplateID = configElement.getAttribute("templateID"); //$NON-NLS-1$ + if (iTemplateID.equals(generatorID)) { + // TODO: cache returned instance (avoid creating a new instance each time => more efficient, no need for static attributes) + final Object obj = configElement.createExecutableExtension("class"); //$NON-NLS-1$ + if (obj instanceof IXtend) { + return (IXtend) obj; + } + } + } catch (CoreException exception) { + exception.printStackTrace(); + } + } + return null; + } +} diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/BindingUtils.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/BindingUtils.java index fa822e01a8f..1a138465cb1 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/BindingUtils.java +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/BindingUtils.java @@ -20,7 +20,6 @@ import org.eclipse.papyrus.C_Cpp.ConstInit; import org.eclipse.papyrus.qompass.designer.core.Messages; import org.eclipse.papyrus.qompass.designer.core.PortUtils; import org.eclipse.papyrus.qompass.designer.core.StUtils; -import org.eclipse.papyrus.qompass.designer.core.acceleo.AcceleoDriverWrapper; import org.eclipse.papyrus.qompass.designer.core.transformations.LazyCopier; import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationContext; import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationException; @@ -64,7 +63,7 @@ public class BindingUtils { if (actual instanceof Classifier) { bindOperation(newOperation, (Classifier) actual); } - String newName = AcceleoDriverWrapper.evaluate(operation.getName(), actual, null); + String newName = TextTemplateBinding.bind(operation.getName(), actual, null); newOperation.setName(newName); return newOperation; @@ -89,7 +88,7 @@ public class BindingUtils { public static OpaqueBehavior instantiateBehavior(LazyCopier copy, Element actual, OpaqueBehavior opaqueBehavior) throws TransformationException { OpaqueBehavior newBehavior = copy.getCopy(opaqueBehavior); if (actual instanceof NamedElement) { - String newName = AcceleoDriverWrapper.evaluate(opaqueBehavior.getName(), actual, null); + String newName = TextTemplateBinding.bind(opaqueBehavior.getName(), actual, null); newBehavior.setName(newName); } EList<String> bodyList = newBehavior.getBodies(); @@ -97,7 +96,7 @@ public class BindingUtils { String body = bodyList.get(i); TransformationContext.classifier = (Classifier) newBehavior.getOwner(); // pass qualified operation name as template name. Used to identify script in case of an error - String newBody = AcceleoDriverWrapper.evaluate(body, newBehavior.getQualifiedName(), actual, null); + String newBody = TextTemplateBinding.bind(body, actual); bodyList.set(i, newBody); } return newBehavior; @@ -118,7 +117,7 @@ public class BindingUtils { if (cppConstInit != null) { // TODO: specific to C++ String init = cppConstInit.getInitialisation(); - String newInit = AcceleoDriverWrapper.bind(init, actual); + String newInit = TextTemplateBinding.bind(init, actual); cppConstInit.setInitialisation(newInit); } } diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/TemplateInstantiation.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/TemplateInstantiation.java index 99278c05b15..221de7f3c85 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/TemplateInstantiation.java +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/TemplateInstantiation.java @@ -88,6 +88,7 @@ public class TemplateInstantiation { // set template instantiation parameter. Used by Acceleo templates to get relation between // formal and actual parameters TransformationContext.setTemplateInstantiation(this); + TransformationContext.copier = copier; copier.setPackageTemplate(packageTemplate, boundPackage); // some parameters of the package template may not be owned. Thus, an additional package diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/TextTemplateBinding.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/TextTemplateBinding.java new file mode 100644 index 00000000000..1ef1db2317d --- /dev/null +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/TextTemplateBinding.java @@ -0,0 +1,66 @@ +/** + * Copyright CEA-LIST 2009 + * available under EPL 1.0 licence + * + * This file is part of the Qompass tool chain (www.ec3m.net) + * + * http://www.eclipse.org/legal/epl-v10.html + * + * $Id$ + */ + +package org.eclipse.papyrus.qompass.designer.core.templates; + +import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationException; +import org.eclipse.uml2.uml.Element; +import org.eclipse.uml2.uml.NamedElement; + +/** + * Wrap different ways to bind a template. This may be either a reference to an + * Xtend template or a specific name template. + */ +public class TextTemplateBinding { + + /** + * Execute a script passed as parameter. It will be executed in the context + * of a base script that declares the meta-model (UML2) and has additional + * imports (currently none). + * + * @param template + * The template in string form + * @param element + * The UML element to which the template is applied + * @return the evaluated template + */ + public static String bind(String templateStr, Element element) throws TransformationException { + return bind(templateStr, element, null); + } + + /** + * Execute a script passed as parameter. It will be executed in the context + * of a base script that declares the meta-model (UML2). It allows for + * additional arguments + * + * @param template + * The template in string form + * @param element + * The UML element to which the template is applied + * @return the evaluated template + */ + public static String bind(String templateStr, Element element, Object args[]) throws TransformationException { + if (templateStr.startsWith(XtendTemplateBinding.XTEND_MAGIC)) { + return XtendTemplateBinding.bind(templateStr, element, args); + } + else if (element instanceof NamedElement) { + String name = ((NamedElement) element).getName(); + if (templateStr.contains("[name/]")) { + return templateStr.replace("[name/]", name); + } + else if (templateStr.contains("[name]")) { + return templateStr.replace("[name/]", name); + } + } + return templateStr; + // throw new TransformationException("Template is not supported"); //$NON-NLS-1$ + } +} diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/XtendTemplateBinding.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/XtendTemplateBinding.java new file mode 100644 index 00000000000..f4e7e78fae1 --- /dev/null +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/XtendTemplateBinding.java @@ -0,0 +1,80 @@ +package org.eclipse.papyrus.qompass.designer.core.templates; + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + +import org.eclipse.papyrus.qompass.designer.core.extensions.IXtend; +import org.eclipse.papyrus.qompass.designer.core.extensions.XtendGenerator; +import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationException; +import org.eclipse.uml2.uml.Element; + +public class XtendTemplateBinding { + + public static final String XTEND_MAGIC = "!xtend"; //$NON-NLS-1$ + + /** + * Execute a script passed as parameter. It will be executed in the context + * of a base script that declares the meta-model (UML2) and has additional + * imports (currently none). + * + * @param template + * The template in string form + * @param element + * The UML element to which the template is applied + * @return the evaluated template + */ + public static String bind(String templateStr, Element element) throws TransformationException { + return bind(templateStr, element, null); + } + + /** + * Execute a script passed as parameter. It will be executed in the context + * of a base script that declares the meta-model (UML2) and has additional + * imports (currently none). + * + * @param template + * The template in string form + * @param element + * The UML element to which the template is applied + * @return the evaluated template + */ + public static String bind(String templateStr, Element element, Object args[]) throws TransformationException { + String[] templateRef = templateStr.substring(XTEND_MAGIC.length() + 1).split("\\."); //$NON-NLS-1$ + String templateId = templateRef[0].trim(); + String methodName = templateRef[1].trim(); + IXtend generator = XtendGenerator.getXtendGenerator(templateId); + + try { + Object result; + if (args != null) { + Method method = getMethod(generator, methodName, 1+args.length); + result = method.invoke(generator, element, args); + } + else { + Method method = getMethod(generator, methodName, 1); + result = method.invoke(generator, element); + } + if (result instanceof String) { + return (String) result; + } + else if (result instanceof CharSequence) { + return result.toString(); + } + else { + throw new TransformationException("bind template: return result is not a string"); + } + } catch (SecurityException | IllegalAccessException + | IllegalArgumentException | InvocationTargetException | NullPointerException e) { + throw new TransformationException(e.getMessage()); + } + } + + public static Method getMethod(IXtend generator, String methodName, int numberOfArguments) { + for (Method method : generator.getClass().getMethods()) { + if (method.getName().equals(methodName) && method.getParameterTypes().length == numberOfArguments) { + return method; + } + } + return null; + } +} diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/pom.xml b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/pom.xml index fb51482cc1d..f415ae0d760 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/pom.xml +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/pom.xml @@ -11,4 +11,45 @@ <groupId>org.eclipse.papyrus</groupId> <version>1.1.0-SNAPSHOT</version> <packaging>eclipse-plugin</packaging> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-clean-plugin</artifactId> + <configuration> + <filesets> + <fileset> + <directory>xtend-gen</directory> + <includes> + <include>**/*</include> + </includes> + <excludes> + <exclude>.gitignore</exclude> + </excludes> + </fileset> + </filesets> + </configuration> + </plugin> + <plugin> + <groupId>org.eclipse.xtend</groupId> + <artifactId>xtend-maven-plugin</artifactId> + <executions> + <execution> + <phase>generate-sources</phase> + <goals> + <goal>compile</goal> + </goals> + </execution> + </executions> + <configuration> + <outputDirectory>xtend-gen</outputDirectory> + <testOutputDirectory>${project.build.directory}/xtend-gen/test</testOutputDirectory> + </configuration> + </plugin> + </plugins> + </build> </project> diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/.CppPortMapping.xtendbin b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/.CppPortMapping.xtendbin Binary files differdeleted file mode 100644 index 8f97c6f5126..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/.CppPortMapping.xtendbin +++ /dev/null diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/.CppUtils.xtendbin b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/.CppUtils.xtendbin Binary files differdeleted file mode 100644 index 90d5d3e4374..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/.CppUtils.xtendbin +++ /dev/null diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/.DynamicCpptoOO.xtendbin b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/.DynamicCpptoOO.xtendbin Binary files differdeleted file mode 100644 index 3f486842aa3..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/.DynamicCpptoOO.xtendbin +++ /dev/null diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/.StaticCppToOO.xtendbin b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/.StaticCppToOO.xtendbin Binary files differdeleted file mode 100644 index 6ed965efdcb..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/.StaticCppToOO.xtendbin +++ /dev/null diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/.gitignore b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/.gitignore deleted file mode 100644 index 74681125bc4..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/CppCompToOO.java diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/CppPortMapping.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/CppPortMapping.java deleted file mode 100644 index 432e522f2fb..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/CppPortMapping.java +++ /dev/null @@ -1,762 +0,0 @@ -/** - * Copyright (c) 2015 CEA LIST. - * - * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Ansgar Radermacher ansgar.radermacher@cea.fr - */ -package org.eclipse.papyrus.qompass.designer.cpp.xtend; - -import com.google.common.base.Objects; -import java.util.HashMap; -import java.util.Map; -import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.papyrus.C_Cpp.Ptr; -import org.eclipse.papyrus.qompass.designer.core.PortInfo; -import org.eclipse.papyrus.qompass.designer.core.PortUtils; -import org.eclipse.papyrus.qompass.designer.core.Utils; -import org.eclipse.papyrus.qompass.designer.core.extensions.IOOTrafo; -import org.eclipse.papyrus.qompass.designer.core.transformations.CompTypeTrafos; -import org.eclipse.papyrus.qompass.designer.core.transformations.LazyCopier; -import org.eclipse.papyrus.qompass.designer.core.transformations.PrefixConstants; -import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationException; -import org.eclipse.papyrus.qompass.designer.cpp.Constants; -import org.eclipse.papyrus.qompass.designer.cpp.Messages; -import org.eclipse.papyrus.qompass.designer.cpp.xtend.CppUtils; -import org.eclipse.papyrus.uml.tools.utils.ConnectorUtil; -import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil; -import org.eclipse.uml2.uml.AggregationKind; -import org.eclipse.uml2.uml.Association; -import org.eclipse.uml2.uml.Behavior; -import org.eclipse.uml2.uml.ConnectableElement; -import org.eclipse.uml2.uml.Connector; -import org.eclipse.uml2.uml.ConnectorEnd; -import org.eclipse.uml2.uml.Interface; -import org.eclipse.uml2.uml.InterfaceRealization; -import org.eclipse.uml2.uml.NamedElement; -import org.eclipse.uml2.uml.OpaqueBehavior; -import org.eclipse.uml2.uml.Operation; -import org.eclipse.uml2.uml.Parameter; -import org.eclipse.uml2.uml.Port; -import org.eclipse.uml2.uml.Property; -import org.eclipse.uml2.uml.StructuralFeature; -import org.eclipse.uml2.uml.Type; -import org.eclipse.uml2.uml.UMLPackage; -import org.eclipse.xtend2.lib.StringConcatenation; - -/** - * This class realizes the transformation from component-based to object-oriented - * models. It includes the replacement of ports and connectors. Ports are - * replaced with attributes and access operations, connectors within a composite - * by an operation that creates the initial setup. - * - * 1. add an operation that allows to retrieve the reference to an interface provided - * by a port. This operation has a mapping specific name, e.g. get_<port_name> - * 2. add an operation that allows to connect a specific port. - * the connect_q operation (*including a - * storage attribute*) for a port with a required interface - * 3. add an implementation for the getcnx_q operation for a port - * with a required interface (the operation itself has been added before) - * - * TODO: C++ specific, support different "component to OO" mappings - * - * Problems: need to align bootloader creation with this mapping, since - * the bootloader may be responsible for instantiation - * - * Caveat: Assure that the folder derivedInterfaces already exists in a model. - * Otherwise the call to getProvided/getRequired interface might trigger its - * creation resulting in the corruption of list iterators (ConcurrentAccess - * exception) - */ -@SuppressWarnings("all") -public class CppPortMapping implements IOOTrafo { - @Override - public void init(final LazyCopier copier, final org.eclipse.uml2.uml.Class bootloader) { - } - - @Override - public void addPortOperations(final org.eclipse.uml2.uml.Class implementation) { - this.addGetPortOperation(implementation); - CppPortMapping.addConnectPortOperation(implementation); - } - - /** - * Add the get_p operation for each port with a provided interface. It also - * adds a suitable implementation that evaluates delegation connectors from - * the port to a property within the composite. The delegation target could - * either be a normal class (no port) or an inner component. - * - * @param implementation - */ - public void addGetPortOperation(final org.eclipse.uml2.uml.Class implementation) { - EList<Port> _allPorts2 = PortUtils.getAllPorts2(implementation); - EList<PortInfo> _flattenExtendedPorts = PortUtils.flattenExtendedPorts(_allPorts2); - for (final PortInfo portInfo : _flattenExtendedPorts) { - { - final Interface providedIntf = portInfo.getProvided(); - boolean _notEquals = (!Objects.equal(providedIntf, null)); - if (_notEquals) { - String _name = portInfo.getName(); - final String opName = (PrefixConstants.getP_Prefix + _name); - Operation op = implementation.getOwnedOperation(opName, null, null); - boolean _notEquals_1 = (!Objects.equal(op, null)); - if (_notEquals_1) { - Type _type = op.getType(); - boolean _notEquals_2 = (!Objects.equal(_type, providedIntf)); - if (_notEquals_2) { - op.createOwnedParameter(Constants.retParamName, providedIntf); - } - } else { - Operation _createOwnedOperation = implementation.createOwnedOperation(opName, null, null, providedIntf); - op = _createOwnedOperation; - EList<Parameter> _ownedParameters = op.getOwnedParameters(); - final Parameter retParam = _ownedParameters.get(0); - retParam.setName(Constants.retParamName); - StereotypeUtil.apply(retParam, Ptr.class); - EClass _opaqueBehavior = UMLPackage.eINSTANCE.getOpaqueBehavior(); - Behavior _createOwnedBehavior = implementation.createOwnedBehavior(opName, _opaqueBehavior); - final OpaqueBehavior behavior = ((OpaqueBehavior) _createOwnedBehavior); - EList<Behavior> _methods = op.getMethods(); - _methods.add(behavior); - Port _modelPort = portInfo.getModelPort(); - final ConnectorEnd ce = ConnectorUtil.getDelegation(implementation, _modelPort); - String body = null; - boolean _notEquals_3 = (!Objects.equal(ce, null)); - if (_notEquals_3) { - final Property part = ce.getPartWithPort(); - final ConnectableElement role = ce.getRole(); - body = "return "; - if ((role instanceof Port)) { - String _body = body; - StringConcatenation _builder = new StringConcatenation(); - String _nameRef = CppUtils.nameRef(part); - _builder.append(_nameRef, ""); - _builder.append(PrefixConstants.getP_Prefix, ""); - String _name_1 = ((Port)role).getName(); - _builder.append(_name_1, ""); - _builder.append("();"); - body = (_body + _builder); - } else { - String _body_1 = body; - String _name_2 = role.getName(); - body = (_body_1 + _name_2); - } - } else { - InterfaceRealization _interfaceRealization = implementation.getInterfaceRealization(null, providedIntf); - boolean implementsIntf = (!Objects.equal(_interfaceRealization, null)); - if ((!implementsIntf)) { - } - if (implementsIntf) { - body = "return this;"; - } else { - String _name_3 = providedIntf.getName(); - Port _port = portInfo.getPort(); - String _name_4 = _port.getName(); - String _name_5 = implementation.getName(); - String _format = String.format(Messages.CompImplTrafos_IntfNotImplemented, _name_3, _name_4, _name_5); - throw new RuntimeException(_format); - } - } - EList<String> _languages = behavior.getLanguages(); - _languages.add(Constants.progLang); - EList<String> _bodies = behavior.getBodies(); - _bodies.add(body); - } - } - } - } - } - - /** - * Add a connect_<portName> operation for ports with a required interface. - * Whereas operation and a behavior is added for each owned port, a behavior - * (method) is needed for ports inherited from a component type (the - * behavior is implementation specific, as it needs to take delegation to - * parts into account) - * - * @param implementation - */ - public static void addConnectPortOperation(final org.eclipse.uml2.uml.Class implementation) { - EList<Port> _allPorts2 = PortUtils.getAllPorts2(implementation); - EList<PortInfo> _flattenExtendedPorts = PortUtils.flattenExtendedPorts(_allPorts2); - for (final PortInfo portInfo : _flattenExtendedPorts) { - { - final Interface requiredIntf = portInfo.getRequired(); - boolean _notEquals = (!Objects.equal(requiredIntf, null)); - if (_notEquals) { - String _name = portInfo.getName(); - final String opName = (PrefixConstants.connectQ_Prefix + _name); - Operation _ownedOperation = implementation.getOwnedOperation(opName, null, null); - boolean _notEquals_1 = (!Objects.equal(_ownedOperation, null)); - if (_notEquals_1) { - } else { - Operation op = implementation.createOwnedOperation(opName, null, null); - boolean _or = false; - int _upper = portInfo.getUpper(); - boolean _greaterThan = (_upper > 1); - if (_greaterThan) { - _or = true; - } else { - int _upper_1 = portInfo.getUpper(); - boolean _equals = (_upper_1 == (-1)); - _or = _equals; - } - final boolean multiPort = _or; - if (multiPort) { - org.eclipse.uml2.uml.Package _top = Utils.getTop(implementation); - final NamedElement eLong = Utils.getQualifiedElement(_top, - CompTypeTrafos.INDEX_TYPE_FOR_MULTI_RECEPTACLE); - if ((eLong instanceof Type)) { - op.createOwnedParameter("index", ((Type) eLong)); - } else { - String _format = String.format(Messages.CompImplTrafos_CannotFindType, - CompTypeTrafos.INDEX_TYPE_FOR_MULTI_RECEPTACLE); - throw new RuntimeException(_format); - } - } - final Parameter refParam = op.createOwnedParameter("ref", requiredIntf); - StereotypeUtil.apply(refParam, Ptr.class); - EClass _opaqueBehavior = UMLPackage.eINSTANCE.getOpaqueBehavior(); - Behavior _createOwnedBehavior = implementation.createOwnedBehavior(opName, _opaqueBehavior); - final OpaqueBehavior behavior = ((OpaqueBehavior) _createOwnedBehavior); - EList<Behavior> _methods = op.getMethods(); - _methods.add(behavior); - Port _modelPort = portInfo.getModelPort(); - final ConnectorEnd ce = ConnectorUtil.getDelegation(implementation, _modelPort); - String body = null; - boolean _notEquals_2 = (!Objects.equal(ce, null)); - if (_notEquals_2) { - final Property part = ce.getPartWithPort(); - String _name_1 = part.getName(); - body = _name_1; - final ConnectableElement role = ce.getRole(); - if ((role instanceof Port)) { - String _name_2 = ((Port)role).getName(); - final String targetOpName = (PrefixConstants.connectQ_Prefix + _name_2); - StringConcatenation _builder = new StringConcatenation(); - String _nameRef = CppUtils.nameRef(part); - _builder.append(_nameRef, ""); - _builder.append(targetOpName, ""); - body = _builder.toString(); - boolean _or_1 = false; - int _upper_2 = portInfo.getUpper(); - boolean _greaterThan_1 = (_upper_2 > 1); - if (_greaterThan_1) { - _or_1 = true; - } else { - int _upper_3 = portInfo.getUpper(); - boolean _equals_1 = (_upper_3 == (-1)); - _or_1 = _equals_1; - } - if (_or_1) { - String _body = body; - body = (_body + "(index, ref);"); - } else { - String _body_1 = body; - body = (_body_1 + "(ref);"); - } - } else { - String _body_2 = body; - StringConcatenation _builder_1 = new StringConcatenation(); - String _name_3 = part.getName(); - _builder_1.append(_name_3, ""); - _builder_1.append(";"); - body = (_body_2 + _builder_1); - } - } else { - String _name_4 = portInfo.getName(); - final String attributeName = (PrefixConstants.attributePrefix + _name_4); - boolean _hasNonPortOwnedAttribute = Utils.hasNonPortOwnedAttribute(implementation, attributeName); - boolean _not = (!_hasNonPortOwnedAttribute); - if (_not) { - final Property attr = implementation.createOwnedAttribute(attributeName, requiredIntf); - Port _port = portInfo.getPort(); - LazyCopier.copyMultElemModifiers(_port, attr); - attr.setAggregation(AggregationKind.SHARED_LITERAL); - } - body = attributeName; - if (multiPort) { - String _body_3 = body; - body = (_body_3 + "[index]"); - } - String _body_4 = body; - body = (_body_4 + " = ref;"); - } - EList<String> _languages = behavior.getLanguages(); - _languages.add(Constants.progLang); - EList<String> _bodies = behavior.getBodies(); - _bodies.add(body); - boolean _and = false; - int _length = PrefixConstants.getConnQ_Prefix.length(); - boolean _greaterThan_2 = (_length > 0); - if (!_greaterThan_2) { - _and = false; - } else { - boolean _notEquals_3 = (!Objects.equal(ce, null)); - _and = _notEquals_3; - } - if (_and) { - String _name_5 = portInfo.getName(); - final String getConnOpName = (PrefixConstants.getConnQ_Prefix + _name_5); - Operation getConnOp = implementation.getOwnedOperation(getConnOpName, null, null); - boolean _equals_2 = Objects.equal(getConnOp, null); - if (_equals_2) { - Operation _createOwnedOperation = implementation.createOwnedOperation(getConnOpName, null, null, requiredIntf); - getConnOp = _createOwnedOperation; - EList<Parameter> _ownedParameters = op.getOwnedParameters(); - final Parameter retParam = _ownedParameters.get(0); - retParam.setName(Constants.retParamName); - StereotypeUtil.apply(retParam, Ptr.class); - } - EClass _opaqueBehavior_1 = UMLPackage.eINSTANCE.getOpaqueBehavior(); - Behavior _createOwnedBehavior_1 = implementation.createOwnedBehavior(getConnOpName, _opaqueBehavior_1); - final OpaqueBehavior getConnBehavior = ((OpaqueBehavior) _createOwnedBehavior_1); - EList<Behavior> _methods_1 = getConnOp.getMethods(); - _methods_1.add(getConnBehavior); - String _name_6 = portInfo.getName(); - final String name = (PrefixConstants.attributePrefix + _name_6); - StringConcatenation _builder_2 = new StringConcatenation(); - _builder_2.append("return "); - _builder_2.append(name, ""); - _builder_2.append(";"); - body = _builder_2.toString(); - EList<String> _languages_1 = behavior.getLanguages(); - _languages_1.add(Constants.progLang); - EList<String> _bodies_1 = behavior.getBodies(); - _bodies_1.add(body); - } - } - } - } - } - } - - /** - * Add an operation "createConnections" that implements the connections - * between composite parts. It only takes the assembly connections into - * account, since delegation connectors are handled by the get_ and connect_ - * port operations above. - * - * @param implementation - */ - @Override - public void addConnectionOperation(final org.eclipse.uml2.uml.Class compositeImplementation) throws TransformationException { - String createConnBody = ""; - final Map<ConnectorEnd, Integer> indexMap = new HashMap<ConnectorEnd, Integer>(); - EList<Connector> _ownedConnectors = compositeImplementation.getOwnedConnectors(); - for (final Connector connector : _ownedConnectors) { - boolean _isAssembly = ConnectorUtil.isAssembly(connector); - if (_isAssembly) { - EList<ConnectorEnd> _ends = connector.getEnds(); - int _size = _ends.size(); - boolean _notEquals = (_size != 2); - if (_notEquals) { - StringConcatenation _builder = new StringConcatenation(); - _builder.append("Connector <"); - String _name = connector.getName(); - _builder.append(_name, ""); - _builder.append("> does not have two ends. This is currently not supported"); - throw new TransformationException(_builder.toString()); - } - EList<ConnectorEnd> _ends_1 = connector.getEnds(); - final ConnectorEnd end1 = _ends_1.get(0); - EList<ConnectorEnd> _ends_2 = connector.getEnds(); - final ConnectorEnd end2 = _ends_2.get(1); - StringConcatenation _builder_1 = new StringConcatenation(); - _builder_1.append("// realization of connector <"); - String _name_1 = connector.getName(); - _builder_1.append(_name_1, ""); - _builder_1.append(">\\n"); - String cmd = _builder_1.toString(); - boolean _and = false; - ConnectableElement _role = end1.getRole(); - if (!(_role instanceof Port)) { - _and = false; - } else { - ConnectableElement _role_1 = end1.getRole(); - boolean _isExtendedPort = PortUtils.isExtendedPort(((Port) _role_1)); - _and = _isExtendedPort; - } - if (_and) { - ConnectableElement _role_2 = end1.getRole(); - final Port port = ((Port) _role_2); - final EList<PortInfo> subPorts = PortUtils.flattenExtendedPort(port); - for (final PortInfo subPort : subPorts) { - { - String _cmd = cmd; - StringConcatenation _builder_2 = new StringConcatenation(); - _builder_2.append(" "); - _builder_2.append("// realization of connection for sub-port "); - Port _port = subPort.getPort(); - String _name_2 = _port.getName(); - _builder_2.append(_name_2, " "); - _builder_2.append("\\n"); - cmd = (_cmd + _builder_2); - String _cmd_1 = cmd; - Port _port_1 = subPort.getPort(); - String _connectPorts = CppPortMapping.connectPorts(indexMap, connector, end1, end2, _port_1); - cmd = (_cmd_1 + _connectPorts); - String _cmd_2 = cmd; - Port _port_2 = subPort.getPort(); - String _connectPorts_1 = CppPortMapping.connectPorts(indexMap, connector, end2, end1, _port_2); - cmd = (_cmd_2 + _connectPorts_1); - } - } - } else { - String _cmd = cmd; - String _connectPorts = CppPortMapping.connectPorts(indexMap, connector, end1, end2, null); - cmd = (_cmd + _connectPorts); - String _cmd_1 = cmd; - String _connectPorts_1 = CppPortMapping.connectPorts(indexMap, connector, end2, end1, null); - cmd = (_cmd_1 + _connectPorts_1); - } - String _createConnBody = createConnBody; - createConnBody = (_createConnBody + (cmd + "\n")); - } - } - int _length = createConnBody.length(); - boolean _greaterThan = (_length > 0); - if (_greaterThan) { - final Operation operation = compositeImplementation.createOwnedOperation(Constants.CREATE_CONNECTIONS, null, null); - String _name_2 = operation.getName(); - String _plus = ("b:" + _name_2); - EClass _opaqueBehavior = UMLPackage.eINSTANCE.getOpaqueBehavior(); - Behavior _createOwnedBehavior = compositeImplementation.createOwnedBehavior(_plus, _opaqueBehavior); - final OpaqueBehavior behavior = ((OpaqueBehavior) _createOwnedBehavior); - EList<String> _languages = behavior.getLanguages(); - _languages.add(Constants.progLang); - EList<String> _bodies = behavior.getBodies(); - _bodies.add(createConnBody); - behavior.setSpecification(operation); - } - } - - /** - * Create the body C++ code code that creates a connection between the two ends - * of a connector. This function checks whether the first end really is a receptacle - * and the second really is a facet. - * TODO: cleaner rewrite in xtend - * - * @param indexMap - * a map of indices that are used in case of multiplex - * receptacles - * @param connector - * a connector - * @param receptacleEnd - * an end of the connector that may point to a receptacle port - * @param facetEnd - * an end of the connector that may point to a facet port - * @param subPort - * a sub-port in case of extended ports - * @return - * @throws TransformationException - */ - public static String connectPorts(final Map<ConnectorEnd, Integer> indexMap, final Connector connector, final ConnectorEnd receptacleEnd, final ConnectorEnd facetEnd, final Port subPort) throws TransformationException { - final Association association = connector.getType(); - boolean _and = false; - ConnectableElement _role = receptacleEnd.getRole(); - if (!(_role instanceof Port)) { - _and = false; - } else { - ConnectableElement _role_1 = facetEnd.getRole(); - _and = (_role_1 instanceof Port); - } - if (_and) { - ConnectableElement _role_2 = facetEnd.getRole(); - final Port facetPort = ((Port) _role_2); - ConnectableElement _role_3 = receptacleEnd.getRole(); - final Port receptaclePort = ((Port) _role_3); - final PortInfo facetPI = PortInfo.fromSubPort(facetPort, subPort); - final PortInfo receptaclePI = PortInfo.fromSubPort(receptaclePort, subPort); - boolean _and_1 = false; - Interface _provided = facetPI.getProvided(); - boolean _notEquals = (!Objects.equal(_provided, null)); - if (!_notEquals) { - _and_1 = false; - } else { - Interface _required = receptaclePI.getRequired(); - boolean _notEquals_1 = (!Objects.equal(_required, null)); - _and_1 = _notEquals_1; - } - if (_and_1) { - final Property facetPart = facetEnd.getPartWithPort(); - final Property receptaclePart = receptacleEnd.getPartWithPort(); - String subPortName = ""; - boolean _notEquals_2 = (!Objects.equal(subPort, null)); - if (_notEquals_2) { - String _subPortName = subPortName; - String _name = subPort.getName(); - String _plus = ("_" + _name); - subPortName = (_subPortName + _plus); - } - final String indexName = CppPortMapping.getIndexName(indexMap, receptaclePort, receptacleEnd); - StringConcatenation _builder = new StringConcatenation(); - String _nameRef = CppUtils.nameRef(receptaclePart); - _builder.append(_nameRef, ""); - _builder.append("connect_"); - String _name_1 = receptaclePort.getName(); - _builder.append(_name_1, ""); - _builder.append(" "); - _builder.append(subPortName, ""); - _builder.append(";"); - final String setter = _builder.toString(); - StringConcatenation _builder_1 = new StringConcatenation(); - String _nameRef_1 = CppUtils.nameRef(facetPart); - _builder_1.append(_nameRef_1, ""); - _builder_1.append("get_"); - String _name_2 = facetPort.getName(); - _builder_1.append(_name_2, ""); - _builder_1.append(" "); - _builder_1.append(subPortName, ""); - _builder_1.append("()"); - final String getter = _builder_1.toString(); - StringConcatenation _builder_2 = new StringConcatenation(); - _builder_2.append(setter, ""); - _builder_2.append("("); - _builder_2.append(indexName, ""); - _builder_2.append(getter, ""); - _builder_2.append(");\\n"); - return _builder_2.toString(); - } - } else { - ConnectableElement _role_4 = receptacleEnd.getRole(); - if ((_role_4 instanceof Port)) { - ConnectableElement _role_5 = receptacleEnd.getRole(); - final Port receptaclePort_1 = ((Port) _role_5); - Interface _required_1 = PortUtils.getRequired(receptaclePort_1); - boolean _notEquals_3 = (!Objects.equal(_required_1, null)); - if (_notEquals_3) { - ConnectableElement _role_6 = facetEnd.getRole(); - final Property facetPart_1 = ((Property) _role_6); - final Property receptaclePart_1 = facetEnd.getPartWithPort(); - final String indexName_1 = CppPortMapping.getIndexName(indexMap, receptaclePort_1, receptacleEnd); - StringConcatenation _builder_3 = new StringConcatenation(); - String _nameRef_2 = CppUtils.nameRef(receptaclePart_1); - _builder_3.append(_nameRef_2, ""); - _builder_3.append("connect_"); - String _name_3 = receptaclePort_1.getName(); - _builder_3.append(_name_3, ""); - final String setter_1 = _builder_3.toString(); - StringConcatenation _builder_4 = new StringConcatenation(); - _builder_4.append("&"); - String _name_4 = facetPart_1.getName(); - _builder_4.append(_name_4, ""); - final String getter_1 = _builder_4.toString(); - StringConcatenation _builder_5 = new StringConcatenation(); - _builder_5.append(setter_1, ""); - _builder_5.append("("); - _builder_5.append(indexName_1, ""); - _builder_5.append(getter_1, ""); - _builder_5.append(");\\n"); - return _builder_5.toString(); - } - } else { - ConnectableElement _role_7 = facetEnd.getRole(); - if ((_role_7 instanceof Port)) { - ConnectableElement _role_8 = facetEnd.getRole(); - final Port facetPort_1 = ((Port) _role_8); - Interface _provided_1 = PortUtils.getProvided(facetPort_1); - boolean _notEquals_4 = (!Objects.equal(_provided_1, null)); - if (_notEquals_4) { - final Property facetPart_2 = facetEnd.getPartWithPort(); - ConnectableElement _role_9 = facetEnd.getRole(); - final Property receptaclePart_2 = ((Property) _role_9); - final String setter_2 = receptaclePart_2.getName(); - StringConcatenation _builder_6 = new StringConcatenation(); - String _nameRef_3 = CppUtils.nameRef(facetPart_2); - _builder_6.append(_nameRef_3, ""); - _builder_6.append("get_"); - String _name_5 = facetPort_1.getName(); - _builder_6.append(_name_5, ""); - _builder_6.append("();"); - final String getter_2 = _builder_6.toString(); - StringConcatenation _builder_7 = new StringConcatenation(); - _builder_7.append(setter_2, ""); - _builder_7.append(" = "); - _builder_7.append(getter_2, ""); - _builder_7.append(";\\n"); - return _builder_7.toString(); - } - } else { - boolean _notEquals_5 = (!Objects.equal(association, null)); - if (_notEquals_5) { - ConnectableElement _role_10 = facetEnd.getRole(); - final Property facetPart_3 = ((Property) _role_10); - ConnectableElement _role_11 = receptacleEnd.getRole(); - final Property receptaclePart_3 = ((Property) _role_11); - Type _type = facetPart_3.getType(); - final Property assocProp1 = association.getMemberEnd(null, _type); - boolean _and_2 = false; - boolean _notEquals_6 = (!Objects.equal(assocProp1, null)); - if (!_notEquals_6) { - _and_2 = false; - } else { - boolean _isNavigable = assocProp1.isNavigable(); - _and_2 = _isNavigable; - } - if (_and_2) { - StringConcatenation _builder_8 = new StringConcatenation(); - String _nameRef_4 = CppUtils.nameRef(receptaclePart_3); - _builder_8.append(_nameRef_4, ""); - String _name_6 = assocProp1.getName(); - _builder_8.append(_name_6, ""); - final String setter_3 = _builder_8.toString(); - StringConcatenation _builder_9 = new StringConcatenation(); - _builder_9.append("&"); - String _name_7 = facetPart_3.getName(); - _builder_9.append(_name_7, ""); - final String getter_3 = _builder_9.toString(); - StringConcatenation _builder_10 = new StringConcatenation(); - _builder_10.append(setter_3, ""); - _builder_10.append(" = "); - _builder_10.append(getter_3, ""); - _builder_10.append(";\\n"); - return _builder_10.toString(); - } - } else { - String _name_8 = connector.getName(); - String _plus_1 = ("Connector <" + _name_8); - String _plus_2 = (_plus_1 + - "> does not use ports, but it is not typed (only connectors between ports should not be typed)"); - throw new TransformationException(_plus_2); - } - } - } - } - return ""; - } - - /** - * Handle ports with multiplicity > 1. The idea is that we could have - * multiple connections targeting a receptacle. The first connection would - * start with index 0. Implementations can make no assumption which - * connection is associated with a certain index. [want to avoid associative - * array in runtime]. - * - * @param port - * @param end - * @return - */ - public static String getIndexName(final Map<ConnectorEnd, Integer> indexMap, final Port port, final ConnectorEnd end) { - boolean _or = false; - int _upper = port.getUpper(); - boolean _greaterThan = (_upper > 1); - if (_greaterThan) { - _or = true; - } else { - int _upper_1 = port.getUpper(); - boolean _equals = (_upper_1 == (-1)); - _or = _equals; - } - if (_or) { - Integer indexValue = indexMap.get(end); - boolean _equals_1 = Objects.equal(indexValue, null); - if (_equals_1) { - indexValue = Integer.valueOf(0); - indexMap.put(end, indexValue); - } - String index = (indexValue + ", "); - indexValue++; - indexMap.put(end, indexValue); - return index; - } - return ""; - } - - /** - * Return true, if the bootloader is responsible for the instantiation of a - * part. [Structual difference: bootloader can decide instance based - and - * instances are deployed] - * - * If a part is a component type or an abstract implementation, it cannot be - * instantiated. Thus, a heir has to be selected in the deployment plan. - * Since the selection might be different for different instances of the - * composite, the instantiation is not done by the component itself, but by - * the bootloader. The bootloader also has to instantiate, if different - * allocation variants are required. (this is for instance the case for - * distribution connectors and for the system itself) - * - * If possible, we want to let composites instantiate sub-components, since - * this eases the transition to systems which support reconfiguration. - * - * [TODO: optimization: analyze whether the deployment plan selects a single - * implementation. If yes, let the composite instantiate] - * - * [TODO: elements within an assembly need to be instantiated by composite - - * if System - by bootloader. assembly also need to be instantiated by - * composite!! - * - * @param implementation - * @return - */ - public static boolean instantiateViaBootloader(final org.eclipse.uml2.uml.Class implementation) { - boolean _or = false; - boolean _isAbstract = implementation.isAbstract(); - if (_isAbstract) { - _or = true; - } else { - boolean _isAssembly = Utils.isAssembly(implementation); - _or = _isAssembly; - } - return _or; - } - - /** - * Return whether a part needs to be instantiated by the bootloader instead - * by the composite in which it is contained. The criteria is based on the - * question whether the containing composite is flattened, as it is the case - * for the system component and the interaction components for distribution. - * - * @param part - * @return - */ - public static boolean instantiateViaBootloader(final StructuralFeature part) { - boolean _notEquals = (!Objects.equal(part, null)); - if (_notEquals) { - Type _type = part.getType(); - if ((_type instanceof org.eclipse.uml2.uml.Class)) { - Type _type_1 = part.getType(); - final org.eclipse.uml2.uml.Class implementation = ((org.eclipse.uml2.uml.Class) _type_1); - return CppPortMapping.instantiateViaBootloader(implementation); - } else { - return false; - } - } - return false; - } - - /** - * Transform parts if necessary. - * - * If the bootloader is responsible for creating an instance (if it is a - * abstract type), mark the associated part as a C++ pointer. We do not want - * to change the aggregation kind, since it remains logically a composition, - * it is merely an implementation issue that it must be a pointer for C++ if - * the concrete type is not yet known. - * - * @param compositeImplementation - * a (composite) component - */ - @Override - public void transformParts(final org.eclipse.uml2.uml.Class compositeImplementation) { - EList<Property> _parts = Utils.getParts(compositeImplementation); - for (final Property attribute : _parts) { - { - final Type type = attribute.getType(); - if ((type instanceof org.eclipse.uml2.uml.Class)) { - final org.eclipse.uml2.uml.Class cl = ((org.eclipse.uml2.uml.Class) type); - boolean _instantiateViaBootloader = CppPortMapping.instantiateViaBootloader(cl); - if (_instantiateViaBootloader) { - StereotypeUtil.apply(attribute, Ptr.class); - } - } - } - } - } -} diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/CppUtils.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/CppUtils.java deleted file mode 100644 index aa48c6bf38c..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/CppUtils.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.eclipse.papyrus.qompass.designer.cpp.xtend; - -import com.google.common.base.Objects; -import org.eclipse.papyrus.C_Cpp.Ptr; -import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil; -import org.eclipse.uml2.uml.AggregationKind; -import org.eclipse.uml2.uml.Property; - -@SuppressWarnings("all") -public class CppUtils { - public static String nameRef(final Property part) { - String _name = part.getName(); - String _refOp = CppUtils.refOp(part); - return (_name + _refOp); - } - - /** - * return the operator for (de-) referencing a part. If the part is - * instantiate via the bootloader, it becomes a pointer. If it is - * instantiated by the composite itself, it is not a pointer, it will be - * instantiated along with the composite - * - * @param part - * @return - */ - public static String refOp(final Property part) { - String _xifexpression = null; - boolean _or = false; - AggregationKind _aggregation = part.getAggregation(); - boolean _equals = Objects.equal(_aggregation, AggregationKind.SHARED_LITERAL); - if (_equals) { - _or = true; - } else { - boolean _isApplied = StereotypeUtil.isApplied(part, Ptr.class); - _or = _isApplied; - } - if (_or) { - _xifexpression = "->"; - } else { - _xifexpression = "."; - } - return _xifexpression; - } -} diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/DynamicCppToOO.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/DynamicCppToOO.java deleted file mode 100644 index 7e203b639c9..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/DynamicCppToOO.java +++ /dev/null @@ -1,714 +0,0 @@ -/** - * Copyright (c) 2015 CEA LIST. - * - * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Ansgar Radermacher ansgar.radermacher@cea.fr - */ -package org.eclipse.papyrus.qompass.designer.cpp.xtend; - -import com.google.common.base.Objects; -import java.util.HashMap; -import java.util.Map; -import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.papyrus.C_Cpp.Ptr; -import org.eclipse.papyrus.qompass.designer.core.PortInfo; -import org.eclipse.papyrus.qompass.designer.core.PortUtils; -import org.eclipse.papyrus.qompass.designer.core.Utils; -import org.eclipse.papyrus.qompass.designer.core.extensions.IOOTrafo; -import org.eclipse.papyrus.qompass.designer.core.transformations.CompTypeTrafos; -import org.eclipse.papyrus.qompass.designer.core.transformations.LazyCopier; -import org.eclipse.papyrus.qompass.designer.core.transformations.PrefixConstants; -import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationException; -import org.eclipse.papyrus.qompass.designer.cpp.Constants; -import org.eclipse.papyrus.qompass.designer.cpp.Messages; -import org.eclipse.papyrus.qompass.designer.cpp.xtend.CppUtils; -import org.eclipse.papyrus.uml.tools.utils.ConnectorUtil; -import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil; -import org.eclipse.uml2.uml.AggregationKind; -import org.eclipse.uml2.uml.Association; -import org.eclipse.uml2.uml.Behavior; -import org.eclipse.uml2.uml.ConnectableElement; -import org.eclipse.uml2.uml.Connector; -import org.eclipse.uml2.uml.ConnectorEnd; -import org.eclipse.uml2.uml.Interface; -import org.eclipse.uml2.uml.InterfaceRealization; -import org.eclipse.uml2.uml.NamedElement; -import org.eclipse.uml2.uml.OpaqueBehavior; -import org.eclipse.uml2.uml.Operation; -import org.eclipse.uml2.uml.Parameter; -import org.eclipse.uml2.uml.Port; -import org.eclipse.uml2.uml.Property; -import org.eclipse.uml2.uml.Type; -import org.eclipse.uml2.uml.UMLPackage; -import org.eclipse.xtend2.lib.StringConcatenation; - -/** - * This class realizes the dynamic variant of the OO-transformation - */ -@SuppressWarnings("all") -public class DynamicCppToOO implements IOOTrafo { - protected LazyCopier copier; - - private final static String PART_MANAGER = "services::PartManager"; - - private final static String INIT_PARTS = "initParts"; - - private final static String PARTS = "parts"; - - private final static String progLang = "C/C++"; - - protected org.eclipse.uml2.uml.Class bootloader; - - @Override - public void init(final LazyCopier copier, final org.eclipse.uml2.uml.Class bootloader) { - this.copier = copier; - this.bootloader = bootloader; - } - - @Override - public void addPortOperations(final org.eclipse.uml2.uml.Class implementation) { - this.addGetPortOperation(implementation); - DynamicCppToOO.addConnectPortOperation(implementation); - } - - /** - * Add the get_p operation for each port with a provided interface. It also - * adds a suitable implementation that evaluates delegation connectors from - * the port to a property within the composite. The delegation target could - * either be a normal class (no port) or an inner component. - * - * @param implementation - */ - public void addGetPortOperation(final org.eclipse.uml2.uml.Class implementation) { - EList<Port> _allPorts2 = PortUtils.getAllPorts2(implementation); - EList<PortInfo> _flattenExtendedPorts = PortUtils.flattenExtendedPorts(_allPorts2); - for (final PortInfo portInfo : _flattenExtendedPorts) { - { - final Interface providedIntf = portInfo.getProvided(); - boolean _notEquals = (!Objects.equal(providedIntf, null)); - if (_notEquals) { - String _name = portInfo.getName(); - final String opName = (PrefixConstants.getP_Prefix + _name); - Operation op = implementation.getOwnedOperation(opName, null, null); - boolean _notEquals_1 = (!Objects.equal(op, null)); - if (_notEquals_1) { - Type _type = op.getType(); - boolean _notEquals_2 = (!Objects.equal(_type, providedIntf)); - if (_notEquals_2) { - op.createOwnedParameter(Constants.retParamName, providedIntf); - } - } else { - Operation _createOwnedOperation = implementation.createOwnedOperation(opName, null, null, providedIntf); - op = _createOwnedOperation; - EList<Parameter> _ownedParameters = op.getOwnedParameters(); - final Parameter retParam = _ownedParameters.get(0); - retParam.setName(Constants.retParamName); - StereotypeUtil.apply(retParam, Ptr.class); - EClass _opaqueBehavior = UMLPackage.eINSTANCE.getOpaqueBehavior(); - Behavior _createOwnedBehavior = implementation.createOwnedBehavior(opName, _opaqueBehavior); - final OpaqueBehavior behavior = ((OpaqueBehavior) _createOwnedBehavior); - EList<Behavior> _methods = op.getMethods(); - _methods.add(behavior); - Port _modelPort = portInfo.getModelPort(); - final ConnectorEnd ce = ConnectorUtil.getDelegation(implementation, _modelPort); - String body = null; - boolean _notEquals_3 = (!Objects.equal(ce, null)); - if (_notEquals_3) { - final Property part = ce.getPartWithPort(); - final ConnectableElement role = ce.getRole(); - body = "return "; - if ((role instanceof Port)) { - String _body = body; - StringConcatenation _builder = new StringConcatenation(); - String _nameRef = CppUtils.nameRef(part); - _builder.append(_nameRef, ""); - _builder.append(PrefixConstants.getP_Prefix, ""); - String _name_1 = ((Port)role).getName(); - _builder.append(_name_1, ""); - _builder.append("();"); - body = (_body + _builder); - } else { - String _body_1 = body; - String _name_2 = role.getName(); - body = (_body_1 + _name_2); - } - } else { - InterfaceRealization _interfaceRealization = implementation.getInterfaceRealization(null, providedIntf); - boolean implementsIntf = (!Objects.equal(_interfaceRealization, null)); - if ((!implementsIntf)) { - final Interface providedIntfInCopy = this.copier.<Interface>getCopy(providedIntf); - InterfaceRealization _interfaceRealization_1 = implementation.getInterfaceRealization(null, providedIntfInCopy); - boolean _notEquals_4 = (!Objects.equal(_interfaceRealization_1, null)); - implementsIntf = _notEquals_4; - } - if (implementsIntf) { - body = "return this;"; - } else { - String _name_3 = providedIntf.getName(); - Port _port = portInfo.getPort(); - String _name_4 = _port.getName(); - String _name_5 = implementation.getName(); - String _format = String.format(Messages.CompImplTrafos_IntfNotImplemented, _name_3, _name_4, _name_5); - throw new RuntimeException(_format); - } - } - EList<String> _languages = behavior.getLanguages(); - _languages.add(Constants.progLang); - EList<String> _bodies = behavior.getBodies(); - _bodies.add(body); - } - } - } - } - } - - /** - * Add a connect_<portName> operation for ports with a required interface. - * Whereas operation and a behavior is added for each owned port, a behavior - * (method) is needed for ports inherited from a component type (the - * behavior is implementation specific, as it needs to take delegation to - * parts into account) - * - * @param implementation - */ - public static void addConnectPortOperation(final org.eclipse.uml2.uml.Class implementation) { - EList<Port> _allPorts2 = PortUtils.getAllPorts2(implementation); - EList<PortInfo> _flattenExtendedPorts = PortUtils.flattenExtendedPorts(_allPorts2); - for (final PortInfo portInfo : _flattenExtendedPorts) { - { - final Interface requiredIntf = portInfo.getRequired(); - boolean _notEquals = (!Objects.equal(requiredIntf, null)); - if (_notEquals) { - String _name = portInfo.getName(); - final String opName = (PrefixConstants.connectQ_Prefix + _name); - Operation _ownedOperation = implementation.getOwnedOperation(opName, null, null); - boolean _notEquals_1 = (!Objects.equal(_ownedOperation, null)); - if (_notEquals_1) { - } else { - Operation op = implementation.createOwnedOperation(opName, null, null); - boolean _or = false; - int _upper = portInfo.getUpper(); - boolean _greaterThan = (_upper > 1); - if (_greaterThan) { - _or = true; - } else { - int _upper_1 = portInfo.getUpper(); - boolean _equals = (_upper_1 == (-1)); - _or = _equals; - } - final boolean multiPort = _or; - if (multiPort) { - org.eclipse.uml2.uml.Package _top = Utils.getTop(implementation); - final NamedElement eLong = Utils.getQualifiedElement(_top, - CompTypeTrafos.INDEX_TYPE_FOR_MULTI_RECEPTACLE); - if ((eLong instanceof Type)) { - op.createOwnedParameter("index", ((Type) eLong)); - } else { - String _format = String.format(Messages.CompImplTrafos_CannotFindType, - CompTypeTrafos.INDEX_TYPE_FOR_MULTI_RECEPTACLE); - throw new RuntimeException(_format); - } - } - final Parameter refParam = op.createOwnedParameter("ref", requiredIntf); - StereotypeUtil.apply(refParam, Ptr.class); - EClass _opaqueBehavior = UMLPackage.eINSTANCE.getOpaqueBehavior(); - Behavior _createOwnedBehavior = implementation.createOwnedBehavior(opName, _opaqueBehavior); - final OpaqueBehavior behavior = ((OpaqueBehavior) _createOwnedBehavior); - EList<Behavior> _methods = op.getMethods(); - _methods.add(behavior); - Port _modelPort = portInfo.getModelPort(); - final ConnectorEnd ce = ConnectorUtil.getDelegation(implementation, _modelPort); - String body = null; - boolean _notEquals_2 = (!Objects.equal(ce, null)); - if (_notEquals_2) { - final Property part = ce.getPartWithPort(); - String _name_1 = part.getName(); - body = _name_1; - final ConnectableElement role = ce.getRole(); - if ((role instanceof Port)) { - String _name_2 = ((Port)role).getName(); - final String targetOpName = (PrefixConstants.connectQ_Prefix + _name_2); - StringConcatenation _builder = new StringConcatenation(); - String _nameRef = CppUtils.nameRef(part); - _builder.append(_nameRef, ""); - _builder.append(targetOpName, ""); - body = _builder.toString(); - boolean _or_1 = false; - int _upper_2 = portInfo.getUpper(); - boolean _greaterThan_1 = (_upper_2 > 1); - if (_greaterThan_1) { - _or_1 = true; - } else { - int _upper_3 = portInfo.getUpper(); - boolean _equals_1 = (_upper_3 == (-1)); - _or_1 = _equals_1; - } - if (_or_1) { - String _body = body; - body = (_body + "(index, ref);"); - } else { - String _body_1 = body; - body = (_body_1 + "(ref);"); - } - } else { - String _body_2 = body; - StringConcatenation _builder_1 = new StringConcatenation(); - String _name_3 = part.getName(); - _builder_1.append(_name_3, ""); - _builder_1.append(";"); - body = (_body_2 + _builder_1); - } - } else { - String _name_4 = portInfo.getName(); - final String attributeName = (PrefixConstants.attributePrefix + _name_4); - boolean _hasNonPortOwnedAttribute = Utils.hasNonPortOwnedAttribute(implementation, attributeName); - boolean _not = (!_hasNonPortOwnedAttribute); - if (_not) { - final Property attr = implementation.createOwnedAttribute(attributeName, requiredIntf); - Port _port = portInfo.getPort(); - LazyCopier.copyMultElemModifiers(_port, attr); - attr.setAggregation(AggregationKind.SHARED_LITERAL); - } - body = attributeName; - if (multiPort) { - String _body_3 = body; - body = (_body_3 + "[index]"); - } - String _body_4 = body; - body = (_body_4 + " = ref;"); - } - EList<String> _languages = behavior.getLanguages(); - _languages.add(Constants.progLang); - EList<String> _bodies = behavior.getBodies(); - _bodies.add(body); - boolean _and = false; - int _length = PrefixConstants.getConnQ_Prefix.length(); - boolean _greaterThan_2 = (_length > 0); - if (!_greaterThan_2) { - _and = false; - } else { - boolean _notEquals_3 = (!Objects.equal(ce, null)); - _and = _notEquals_3; - } - if (_and) { - String _name_5 = portInfo.getName(); - final String getConnOpName = (PrefixConstants.getConnQ_Prefix + _name_5); - Operation getConnOp = implementation.getOwnedOperation(getConnOpName, null, null); - boolean _equals_2 = Objects.equal(getConnOp, null); - if (_equals_2) { - Operation _createOwnedOperation = implementation.createOwnedOperation(getConnOpName, null, null, requiredIntf); - getConnOp = _createOwnedOperation; - EList<Parameter> _ownedParameters = op.getOwnedParameters(); - final Parameter retParam = _ownedParameters.get(0); - retParam.setName(Constants.retParamName); - StereotypeUtil.apply(retParam, Ptr.class); - } - EClass _opaqueBehavior_1 = UMLPackage.eINSTANCE.getOpaqueBehavior(); - Behavior _createOwnedBehavior_1 = implementation.createOwnedBehavior(getConnOpName, _opaqueBehavior_1); - final OpaqueBehavior getConnBehavior = ((OpaqueBehavior) _createOwnedBehavior_1); - EList<Behavior> _methods_1 = getConnOp.getMethods(); - _methods_1.add(getConnBehavior); - String _name_6 = portInfo.getName(); - final String name = (PrefixConstants.attributePrefix + _name_6); - StringConcatenation _builder_2 = new StringConcatenation(); - _builder_2.append("return "); - _builder_2.append(name, ""); - _builder_2.append(";"); - body = _builder_2.toString(); - EList<String> _languages_1 = behavior.getLanguages(); - _languages_1.add(Constants.progLang); - EList<String> _bodies_1 = behavior.getBodies(); - _bodies_1.add(body); - } - } - } - } - } - } - - /** - * Add an operation "createConnections" that implements the connections - * between composite parts. It only takes the assembly connections into - * account, since delegation connectors are handled by the get_ and connect_ - * port operations above. - * - * @param implementation - */ - @Override - public void addConnectionOperation(final org.eclipse.uml2.uml.Class compositeImplementation) throws TransformationException { - String createConnBody = ""; - final Map<ConnectorEnd, Integer> indexMap = new HashMap<ConnectorEnd, Integer>(); - EList<Connector> _ownedConnectors = compositeImplementation.getOwnedConnectors(); - for (final Connector connector : _ownedConnectors) { - boolean _isAssembly = ConnectorUtil.isAssembly(connector); - if (_isAssembly) { - EList<ConnectorEnd> _ends = connector.getEnds(); - int _size = _ends.size(); - boolean _notEquals = (_size != 2); - if (_notEquals) { - StringConcatenation _builder = new StringConcatenation(); - _builder.append("Connector <"); - String _name = connector.getName(); - _builder.append(_name, ""); - _builder.append("> does not have two ends. This is currently not supported"); - throw new TransformationException(_builder.toString()); - } - EList<ConnectorEnd> _ends_1 = connector.getEnds(); - final ConnectorEnd end1 = _ends_1.get(0); - EList<ConnectorEnd> _ends_2 = connector.getEnds(); - final ConnectorEnd end2 = _ends_2.get(1); - StringConcatenation _builder_1 = new StringConcatenation(); - _builder_1.append("// realization of connector <"); - String _name_1 = connector.getName(); - _builder_1.append(_name_1, ""); - _builder_1.append(">\\n"); - String cmd = _builder_1.toString(); - boolean _and = false; - ConnectableElement _role = end1.getRole(); - if (!(_role instanceof Port)) { - _and = false; - } else { - ConnectableElement _role_1 = end1.getRole(); - boolean _isExtendedPort = PortUtils.isExtendedPort(((Port) _role_1)); - _and = _isExtendedPort; - } - if (_and) { - ConnectableElement _role_2 = end1.getRole(); - final Port port = ((Port) _role_2); - final EList<PortInfo> subPorts = PortUtils.flattenExtendedPort(port); - for (final PortInfo subPort : subPorts) { - { - String _cmd = cmd; - StringConcatenation _builder_2 = new StringConcatenation(); - _builder_2.append(" "); - _builder_2.append("// realization of connection for sub-port "); - Port _port = subPort.getPort(); - String _name_2 = _port.getName(); - _builder_2.append(_name_2, " "); - _builder_2.append("\\n"); - cmd = (_cmd + _builder_2); - String _cmd_1 = cmd; - Port _port_1 = subPort.getPort(); - String _connectPorts = DynamicCppToOO.connectPorts(indexMap, connector, end1, end2, _port_1); - cmd = (_cmd_1 + _connectPorts); - String _cmd_2 = cmd; - Port _port_2 = subPort.getPort(); - String _connectPorts_1 = DynamicCppToOO.connectPorts(indexMap, connector, end2, end1, _port_2); - cmd = (_cmd_2 + _connectPorts_1); - } - } - } else { - String _cmd = cmd; - String _connectPorts = DynamicCppToOO.connectPorts(indexMap, connector, end1, end2, null); - cmd = (_cmd + _connectPorts); - String _cmd_1 = cmd; - String _connectPorts_1 = DynamicCppToOO.connectPorts(indexMap, connector, end2, end1, null); - cmd = (_cmd_1 + _connectPorts_1); - } - String _createConnBody = createConnBody; - createConnBody = (_createConnBody + (cmd + "\n")); - } - } - int _length = createConnBody.length(); - boolean _greaterThan = (_length > 0); - if (_greaterThan) { - final Operation operation = compositeImplementation.createOwnedOperation(Constants.CREATE_CONNECTIONS, null, null); - String _name_2 = operation.getName(); - String _plus = ("b:" + _name_2); - EClass _opaqueBehavior = UMLPackage.eINSTANCE.getOpaqueBehavior(); - Behavior _createOwnedBehavior = compositeImplementation.createOwnedBehavior(_plus, _opaqueBehavior); - final OpaqueBehavior behavior = ((OpaqueBehavior) _createOwnedBehavior); - EList<String> _languages = behavior.getLanguages(); - _languages.add(Constants.progLang); - EList<String> _bodies = behavior.getBodies(); - _bodies.add(createConnBody); - behavior.setSpecification(operation); - } - } - - /** - * Create the body C++ code code that creates a connection between the two ends - * of a connector. This function checks whether the first end really is a receptacle - * and the second really is a facet. - * TODO: cleaner rewrite in xtend - * - * @param indexMap - * a map of indices that are used in case of multiplex - * receptacles - * @param connector - * a connector - * @param receptacleEnd - * an end of the connector that may point to a receptacle port - * @param facetEnd - * an end of the connector that may point to a facet port - * @param subPort - * a sub-port in case of extended ports - * @return - * @throws TransformationException - */ - public static String connectPorts(final Map<ConnectorEnd, Integer> indexMap, final Connector connector, final ConnectorEnd receptacleEnd, final ConnectorEnd facetEnd, final Port subPort) throws TransformationException { - final Association association = connector.getType(); - boolean _and = false; - ConnectableElement _role = receptacleEnd.getRole(); - if (!(_role instanceof Port)) { - _and = false; - } else { - ConnectableElement _role_1 = facetEnd.getRole(); - _and = (_role_1 instanceof Port); - } - if (_and) { - ConnectableElement _role_2 = facetEnd.getRole(); - final Port facetPort = ((Port) _role_2); - ConnectableElement _role_3 = receptacleEnd.getRole(); - final Port receptaclePort = ((Port) _role_3); - final PortInfo facetPI = PortInfo.fromSubPort(facetPort, subPort); - final PortInfo receptaclePI = PortInfo.fromSubPort(receptaclePort, subPort); - boolean _and_1 = false; - Interface _provided = facetPI.getProvided(); - boolean _notEquals = (!Objects.equal(_provided, null)); - if (!_notEquals) { - _and_1 = false; - } else { - Interface _required = receptaclePI.getRequired(); - boolean _notEquals_1 = (!Objects.equal(_required, null)); - _and_1 = _notEquals_1; - } - if (_and_1) { - final Property facetPart = facetEnd.getPartWithPort(); - final Property receptaclePart = receptacleEnd.getPartWithPort(); - String subPortName = ""; - boolean _notEquals_2 = (!Objects.equal(subPort, null)); - if (_notEquals_2) { - String _subPortName = subPortName; - String _name = subPort.getName(); - String _plus = ("_" + _name); - subPortName = (_subPortName + _plus); - } - final String indexName = DynamicCppToOO.getIndexName(indexMap, receptaclePort, receptacleEnd); - StringConcatenation _builder = new StringConcatenation(); - String _nameRef = CppUtils.nameRef(receptaclePart); - _builder.append(_nameRef, ""); - _builder.append("connect_"); - String _name_1 = receptaclePort.getName(); - _builder.append(_name_1, ""); - _builder.append(" "); - _builder.append(subPortName, ""); - _builder.append(";"); - final String setter = _builder.toString(); - StringConcatenation _builder_1 = new StringConcatenation(); - String _nameRef_1 = CppUtils.nameRef(facetPart); - _builder_1.append(_nameRef_1, ""); - _builder_1.append("get_"); - String _name_2 = facetPort.getName(); - _builder_1.append(_name_2, ""); - _builder_1.append(" "); - _builder_1.append(subPortName, ""); - _builder_1.append("()"); - final String getter = _builder_1.toString(); - StringConcatenation _builder_2 = new StringConcatenation(); - _builder_2.append(setter, ""); - _builder_2.append("("); - _builder_2.append(indexName, ""); - _builder_2.append(getter, ""); - _builder_2.append(");\\n"); - return _builder_2.toString(); - } - } else { - ConnectableElement _role_4 = receptacleEnd.getRole(); - if ((_role_4 instanceof Port)) { - ConnectableElement _role_5 = receptacleEnd.getRole(); - final Port receptaclePort_1 = ((Port) _role_5); - Interface _required_1 = PortUtils.getRequired(receptaclePort_1); - boolean _notEquals_3 = (!Objects.equal(_required_1, null)); - if (_notEquals_3) { - ConnectableElement _role_6 = facetEnd.getRole(); - final Property facetPart_1 = ((Property) _role_6); - final Property receptaclePart_1 = facetEnd.getPartWithPort(); - final String indexName_1 = DynamicCppToOO.getIndexName(indexMap, receptaclePort_1, receptacleEnd); - StringConcatenation _builder_3 = new StringConcatenation(); - String _nameRef_2 = CppUtils.nameRef(receptaclePart_1); - _builder_3.append(_nameRef_2, ""); - _builder_3.append("connect_"); - String _name_3 = receptaclePort_1.getName(); - _builder_3.append(_name_3, ""); - final String setter_1 = _builder_3.toString(); - StringConcatenation _builder_4 = new StringConcatenation(); - _builder_4.append("&"); - String _name_4 = facetPart_1.getName(); - _builder_4.append(_name_4, ""); - final String getter_1 = _builder_4.toString(); - StringConcatenation _builder_5 = new StringConcatenation(); - _builder_5.append(setter_1, ""); - _builder_5.append("("); - _builder_5.append(indexName_1, ""); - _builder_5.append(getter_1, ""); - _builder_5.append(");\\n"); - return _builder_5.toString(); - } - } else { - ConnectableElement _role_7 = facetEnd.getRole(); - if ((_role_7 instanceof Port)) { - ConnectableElement _role_8 = facetEnd.getRole(); - final Port facetPort_1 = ((Port) _role_8); - Interface _provided_1 = PortUtils.getProvided(facetPort_1); - boolean _notEquals_4 = (!Objects.equal(_provided_1, null)); - if (_notEquals_4) { - final Property facetPart_2 = facetEnd.getPartWithPort(); - ConnectableElement _role_9 = facetEnd.getRole(); - final Property receptaclePart_2 = ((Property) _role_9); - final String setter_2 = receptaclePart_2.getName(); - StringConcatenation _builder_6 = new StringConcatenation(); - String _nameRef_3 = CppUtils.nameRef(facetPart_2); - _builder_6.append(_nameRef_3, ""); - _builder_6.append("get_"); - String _name_5 = facetPort_1.getName(); - _builder_6.append(_name_5, ""); - _builder_6.append("();"); - final String getter_2 = _builder_6.toString(); - StringConcatenation _builder_7 = new StringConcatenation(); - _builder_7.append(setter_2, ""); - _builder_7.append(" = "); - _builder_7.append(getter_2, ""); - _builder_7.append(";\\n"); - return _builder_7.toString(); - } - } else { - boolean _notEquals_5 = (!Objects.equal(association, null)); - if (_notEquals_5) { - ConnectableElement _role_10 = facetEnd.getRole(); - final Property facetPart_3 = ((Property) _role_10); - ConnectableElement _role_11 = receptacleEnd.getRole(); - final Property receptaclePart_3 = ((Property) _role_11); - Type _type = facetPart_3.getType(); - final Property assocProp1 = association.getMemberEnd(null, _type); - boolean _and_2 = false; - boolean _notEquals_6 = (!Objects.equal(assocProp1, null)); - if (!_notEquals_6) { - _and_2 = false; - } else { - boolean _isNavigable = assocProp1.isNavigable(); - _and_2 = _isNavigable; - } - if (_and_2) { - StringConcatenation _builder_8 = new StringConcatenation(); - String _nameRef_4 = CppUtils.nameRef(receptaclePart_3); - _builder_8.append(_nameRef_4, ""); - String _name_6 = assocProp1.getName(); - _builder_8.append(_name_6, ""); - final String setter_3 = _builder_8.toString(); - StringConcatenation _builder_9 = new StringConcatenation(); - _builder_9.append("&"); - String _name_7 = facetPart_3.getName(); - _builder_9.append(_name_7, ""); - final String getter_3 = _builder_9.toString(); - StringConcatenation _builder_10 = new StringConcatenation(); - _builder_10.append(setter_3, ""); - _builder_10.append(" = "); - _builder_10.append(getter_3, ""); - _builder_10.append(";\\n"); - return _builder_10.toString(); - } - } else { - String _name_8 = connector.getName(); - String _plus_1 = ("Connector <" + _name_8); - String _plus_2 = (_plus_1 + - "> does not use ports, but it is not typed (only connectors between ports should not be typed)"); - throw new TransformationException(_plus_2); - } - } - } - } - return ""; - } - - /** - * Handle ports with multiplicity > 1. The idea is that we could have - * multiple connections targeting a receptacle. The first connection would - * start with index 0. Implementations can make no assumption which - * connection is associated with a certain index. [want to avoid associative - * array in runtime]. - * - * @param port - * @param end - * @return - */ - public static String getIndexName(final Map<ConnectorEnd, Integer> indexMap, final Port port, final ConnectorEnd end) { - boolean _or = false; - int _upper = port.getUpper(); - boolean _greaterThan = (_upper > 1); - if (_greaterThan) { - _or = true; - } else { - int _upper_1 = port.getUpper(); - boolean _equals = (_upper_1 == (-1)); - _or = _equals; - } - if (_or) { - Integer indexValue = indexMap.get(end); - boolean _equals_1 = Objects.equal(indexValue, null); - if (_equals_1) { - indexValue = Integer.valueOf(0); - indexMap.put(end, indexValue); - } - String index = (indexValue + ", "); - indexValue++; - indexMap.put(end, indexValue); - return index; - } - return ""; - } - - /** - * Transform parts if necessary. - * - * @param compositeImplementation - * a (composite) component - */ - @Override - public void transformParts(final org.eclipse.uml2.uml.Class compositeImplementation) { - String initPartsBody = ""; - EList<Property> _parts = Utils.getParts(compositeImplementation); - for (final Property attribute : _parts) { - { - final Type type = attribute.getType(); - if ((type instanceof org.eclipse.uml2.uml.Class)) { - String _initPartsBody = initPartsBody; - String _initPartBody = this.initPartBody(attribute); - initPartsBody = (_initPartsBody + _initPartBody); - attribute.destroy(); - } - } - } - org.eclipse.uml2.uml.Package _top = Utils.getTop(compositeImplementation); - final NamedElement partManager = Utils.getQualifiedElement(_top, DynamicCppToOO.PART_MANAGER); - if ((partManager instanceof Type)) { - compositeImplementation.createOwnedAttribute(DynamicCppToOO.PARTS, ((Type) partManager)); - } - final Operation operation = compositeImplementation.createOwnedOperation(DynamicCppToOO.INIT_PARTS, null, null); - String _name = operation.getName(); - String _plus = ("b:" + _name); - EClass _opaqueBehavior = UMLPackage.eINSTANCE.getOpaqueBehavior(); - Behavior _createOwnedBehavior = compositeImplementation.createOwnedBehavior(_plus, _opaqueBehavior); - final OpaqueBehavior behavior = ((OpaqueBehavior) _createOwnedBehavior); - EList<String> _languages = behavior.getLanguages(); - _languages.add(DynamicCppToOO.progLang); - EList<String> _bodies = behavior.getBodies(); - _bodies.add(initPartsBody); - } - - public String initPartBody(final Property part) { - String _name = part.getName(); - String _plus = ("parts.add(" + _name); - String _plus_1 = (_plus + ", "); - Type _type = part.getType(); - String _plus_2 = (_plus_1 + _type); - return (_plus_2 + ")"); - } -} diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/StaticCppToOO.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/StaticCppToOO.java deleted file mode 100644 index d2613c47cb4..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/StaticCppToOO.java +++ /dev/null @@ -1,769 +0,0 @@ -/** - * Copyright (c) 2015 CEA LIST. - * - * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Ansgar Radermacher ansgar.radermacher@cea.fr - */ -package org.eclipse.papyrus.qompass.designer.cpp.xtend; - -import com.google.common.base.Objects; -import java.util.HashMap; -import java.util.Map; -import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.papyrus.C_Cpp.Ptr; -import org.eclipse.papyrus.qompass.designer.core.PortInfo; -import org.eclipse.papyrus.qompass.designer.core.PortUtils; -import org.eclipse.papyrus.qompass.designer.core.Utils; -import org.eclipse.papyrus.qompass.designer.core.extensions.IOOTrafo; -import org.eclipse.papyrus.qompass.designer.core.transformations.CompTypeTrafos; -import org.eclipse.papyrus.qompass.designer.core.transformations.LazyCopier; -import org.eclipse.papyrus.qompass.designer.core.transformations.PrefixConstants; -import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationException; -import org.eclipse.papyrus.qompass.designer.cpp.Constants; -import org.eclipse.papyrus.qompass.designer.cpp.Messages; -import org.eclipse.papyrus.qompass.designer.cpp.xtend.CppUtils; -import org.eclipse.papyrus.uml.tools.utils.ConnectorUtil; -import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil; -import org.eclipse.uml2.uml.AggregationKind; -import org.eclipse.uml2.uml.Association; -import org.eclipse.uml2.uml.Behavior; -import org.eclipse.uml2.uml.ConnectableElement; -import org.eclipse.uml2.uml.Connector; -import org.eclipse.uml2.uml.ConnectorEnd; -import org.eclipse.uml2.uml.Interface; -import org.eclipse.uml2.uml.InterfaceRealization; -import org.eclipse.uml2.uml.NamedElement; -import org.eclipse.uml2.uml.OpaqueBehavior; -import org.eclipse.uml2.uml.Operation; -import org.eclipse.uml2.uml.Parameter; -import org.eclipse.uml2.uml.Port; -import org.eclipse.uml2.uml.Property; -import org.eclipse.uml2.uml.StructuralFeature; -import org.eclipse.uml2.uml.Type; -import org.eclipse.uml2.uml.UMLPackage; -import org.eclipse.xtend2.lib.StringConcatenation; - -/** - * This class realizes the transformation from component-based to object-oriented - * models. It includes the replacement of ports and connectors. Ports are - * replaced with attributes and access operations, connectors within a composite - * by an operation that creates the initial setup. - * - * 1. add an operation that allows to retrieve the reference to an interface provided - * by a port. This operation has a mapping specific name, e.g. get_<port_name> - * 2. add an operation that allows to connect a specific port. - * the connect_q operation (*including a - * storage attribute*) for a port with a required interface - * 3. add an implementation for the getcnx_q operation for a port - * with a required interface (the operation itself has been added before) - * - * Problems: need to align bootloader creation with this mapping, since - * the bootloader may be responsible for instantiation - * - * Caveat: Assure that the folder derivedInterfaces already exists in a model. - * Otherwise the call to getProvided/getRequired interface might trigger its - * creation resulting in the corruption of list iterators (ConcurrentAccess - * exception) - */ -@SuppressWarnings("all") -public class StaticCppToOO implements IOOTrafo { - protected LazyCopier copier; - - protected org.eclipse.uml2.uml.Class bootloader; - - @Override - public void init(final LazyCopier copier, final org.eclipse.uml2.uml.Class bootloader) { - this.copier = copier; - this.bootloader = bootloader; - } - - @Override - public void addPortOperations(final org.eclipse.uml2.uml.Class implementation) { - this.addGetPortOperation(implementation); - StaticCppToOO.addConnectPortOperation(implementation); - } - - /** - * Add the get_p operation for each port with a provided interface. It also - * adds a suitable implementation that evaluates delegation connectors from - * the port to a property within the composite. The delegation target could - * either be a normal class (no port) or an inner component. - * - * @param implementation - */ - public void addGetPortOperation(final org.eclipse.uml2.uml.Class implementation) { - EList<Port> _allPorts2 = PortUtils.getAllPorts2(implementation); - EList<PortInfo> _flattenExtendedPorts = PortUtils.flattenExtendedPorts(_allPorts2); - for (final PortInfo portInfo : _flattenExtendedPorts) { - { - final Interface providedIntf = portInfo.getProvided(); - boolean _notEquals = (!Objects.equal(providedIntf, null)); - if (_notEquals) { - String _name = portInfo.getName(); - final String opName = (PrefixConstants.getP_Prefix + _name); - Operation op = implementation.getOwnedOperation(opName, null, null); - boolean _notEquals_1 = (!Objects.equal(op, null)); - if (_notEquals_1) { - Type _type = op.getType(); - boolean _notEquals_2 = (!Objects.equal(_type, providedIntf)); - if (_notEquals_2) { - op.createOwnedParameter(Constants.retParamName, providedIntf); - } - } else { - Operation _createOwnedOperation = implementation.createOwnedOperation(opName, null, null, providedIntf); - op = _createOwnedOperation; - EList<Parameter> _ownedParameters = op.getOwnedParameters(); - final Parameter retParam = _ownedParameters.get(0); - retParam.setName(Constants.retParamName); - StereotypeUtil.apply(retParam, Ptr.class); - EClass _opaqueBehavior = UMLPackage.eINSTANCE.getOpaqueBehavior(); - Behavior _createOwnedBehavior = implementation.createOwnedBehavior(opName, _opaqueBehavior); - final OpaqueBehavior behavior = ((OpaqueBehavior) _createOwnedBehavior); - EList<Behavior> _methods = op.getMethods(); - _methods.add(behavior); - Port _modelPort = portInfo.getModelPort(); - final ConnectorEnd ce = ConnectorUtil.getDelegation(implementation, _modelPort); - String body = null; - boolean _notEquals_3 = (!Objects.equal(ce, null)); - if (_notEquals_3) { - final Property part = ce.getPartWithPort(); - final ConnectableElement role = ce.getRole(); - body = "return "; - if ((role instanceof Port)) { - String _body = body; - StringConcatenation _builder = new StringConcatenation(); - String _nameRef = CppUtils.nameRef(part); - _builder.append(_nameRef, ""); - _builder.append(PrefixConstants.getP_Prefix, ""); - String _name_1 = ((Port)role).getName(); - _builder.append(_name_1, ""); - _builder.append("();"); - body = (_body + _builder); - } else { - String _body_1 = body; - String _name_2 = role.getName(); - body = (_body_1 + _name_2); - } - } else { - InterfaceRealization _interfaceRealization = implementation.getInterfaceRealization(null, providedIntf); - boolean implementsIntf = (!Objects.equal(_interfaceRealization, null)); - if ((!implementsIntf)) { - final Interface providedIntfInCopy = this.copier.<Interface>getCopy(providedIntf); - InterfaceRealization _interfaceRealization_1 = implementation.getInterfaceRealization(null, providedIntfInCopy); - boolean _notEquals_4 = (!Objects.equal(_interfaceRealization_1, null)); - implementsIntf = _notEquals_4; - } - if (implementsIntf) { - body = "return this;"; - } else { - String _name_3 = providedIntf.getName(); - Port _port = portInfo.getPort(); - String _name_4 = _port.getName(); - String _name_5 = implementation.getName(); - String _format = String.format(Messages.CompImplTrafos_IntfNotImplemented, _name_3, _name_4, _name_5); - throw new RuntimeException(_format); - } - } - EList<String> _languages = behavior.getLanguages(); - _languages.add(Constants.progLang); - EList<String> _bodies = behavior.getBodies(); - _bodies.add(body); - } - } - } - } - } - - /** - * Add a connect_<portName> operation for ports with a required interface. - * Whereas operation and a behavior is added for each owned port, a behavior - * (method) is needed for ports inherited from a component type (the - * behavior is implementation specific, as it needs to take delegation to - * parts into account) - * - * @param implementation - */ - public static void addConnectPortOperation(final org.eclipse.uml2.uml.Class implementation) { - EList<Port> _allPorts2 = PortUtils.getAllPorts2(implementation); - EList<PortInfo> _flattenExtendedPorts = PortUtils.flattenExtendedPorts(_allPorts2); - for (final PortInfo portInfo : _flattenExtendedPorts) { - { - final Interface requiredIntf = portInfo.getRequired(); - boolean _notEquals = (!Objects.equal(requiredIntf, null)); - if (_notEquals) { - String _name = portInfo.getName(); - final String opName = (PrefixConstants.connectQ_Prefix + _name); - Operation _ownedOperation = implementation.getOwnedOperation(opName, null, null); - boolean _notEquals_1 = (!Objects.equal(_ownedOperation, null)); - if (_notEquals_1) { - } else { - Operation op = implementation.createOwnedOperation(opName, null, null); - boolean _or = false; - int _upper = portInfo.getUpper(); - boolean _greaterThan = (_upper > 1); - if (_greaterThan) { - _or = true; - } else { - int _upper_1 = portInfo.getUpper(); - boolean _equals = (_upper_1 == (-1)); - _or = _equals; - } - final boolean multiPort = _or; - if (multiPort) { - org.eclipse.uml2.uml.Package _top = Utils.getTop(implementation); - final NamedElement eLong = Utils.getQualifiedElement(_top, - CompTypeTrafos.INDEX_TYPE_FOR_MULTI_RECEPTACLE); - if ((eLong instanceof Type)) { - op.createOwnedParameter("index", ((Type) eLong)); - } else { - String _format = String.format(Messages.CompImplTrafos_CannotFindType, - CompTypeTrafos.INDEX_TYPE_FOR_MULTI_RECEPTACLE); - throw new RuntimeException(_format); - } - } - final Parameter refParam = op.createOwnedParameter("ref", requiredIntf); - StereotypeUtil.apply(refParam, Ptr.class); - EClass _opaqueBehavior = UMLPackage.eINSTANCE.getOpaqueBehavior(); - Behavior _createOwnedBehavior = implementation.createOwnedBehavior(opName, _opaqueBehavior); - final OpaqueBehavior behavior = ((OpaqueBehavior) _createOwnedBehavior); - EList<Behavior> _methods = op.getMethods(); - _methods.add(behavior); - Port _modelPort = portInfo.getModelPort(); - final ConnectorEnd ce = ConnectorUtil.getDelegation(implementation, _modelPort); - String body = null; - boolean _notEquals_2 = (!Objects.equal(ce, null)); - if (_notEquals_2) { - final Property part = ce.getPartWithPort(); - String _name_1 = part.getName(); - body = _name_1; - final ConnectableElement role = ce.getRole(); - if ((role instanceof Port)) { - String _name_2 = ((Port)role).getName(); - final String targetOpName = (PrefixConstants.connectQ_Prefix + _name_2); - StringConcatenation _builder = new StringConcatenation(); - String _nameRef = CppUtils.nameRef(part); - _builder.append(_nameRef, ""); - _builder.append(targetOpName, ""); - body = _builder.toString(); - boolean _or_1 = false; - int _upper_2 = portInfo.getUpper(); - boolean _greaterThan_1 = (_upper_2 > 1); - if (_greaterThan_1) { - _or_1 = true; - } else { - int _upper_3 = portInfo.getUpper(); - boolean _equals_1 = (_upper_3 == (-1)); - _or_1 = _equals_1; - } - if (_or_1) { - String _body = body; - body = (_body + "(index, ref);"); - } else { - String _body_1 = body; - body = (_body_1 + "(ref);"); - } - } else { - String _body_2 = body; - StringConcatenation _builder_1 = new StringConcatenation(); - String _name_3 = part.getName(); - _builder_1.append(_name_3, ""); - _builder_1.append(";"); - body = (_body_2 + _builder_1); - } - } else { - String _name_4 = portInfo.getName(); - final String attributeName = (PrefixConstants.attributePrefix + _name_4); - boolean _hasNonPortOwnedAttribute = Utils.hasNonPortOwnedAttribute(implementation, attributeName); - boolean _not = (!_hasNonPortOwnedAttribute); - if (_not) { - final Property attr = implementation.createOwnedAttribute(attributeName, requiredIntf); - Port _port = portInfo.getPort(); - LazyCopier.copyMultElemModifiers(_port, attr); - attr.setAggregation(AggregationKind.SHARED_LITERAL); - } - body = attributeName; - if (multiPort) { - String _body_3 = body; - body = (_body_3 + "[index]"); - } - String _body_4 = body; - body = (_body_4 + " = ref;"); - } - EList<String> _languages = behavior.getLanguages(); - _languages.add(Constants.progLang); - EList<String> _bodies = behavior.getBodies(); - _bodies.add(body); - boolean _and = false; - int _length = PrefixConstants.getConnQ_Prefix.length(); - boolean _greaterThan_2 = (_length > 0); - if (!_greaterThan_2) { - _and = false; - } else { - boolean _notEquals_3 = (!Objects.equal(ce, null)); - _and = _notEquals_3; - } - if (_and) { - String _name_5 = portInfo.getName(); - final String getConnOpName = (PrefixConstants.getConnQ_Prefix + _name_5); - Operation getConnOp = implementation.getOwnedOperation(getConnOpName, null, null); - boolean _equals_2 = Objects.equal(getConnOp, null); - if (_equals_2) { - Operation _createOwnedOperation = implementation.createOwnedOperation(getConnOpName, null, null, requiredIntf); - getConnOp = _createOwnedOperation; - EList<Parameter> _ownedParameters = op.getOwnedParameters(); - final Parameter retParam = _ownedParameters.get(0); - retParam.setName(Constants.retParamName); - StereotypeUtil.apply(retParam, Ptr.class); - } - EClass _opaqueBehavior_1 = UMLPackage.eINSTANCE.getOpaqueBehavior(); - Behavior _createOwnedBehavior_1 = implementation.createOwnedBehavior(getConnOpName, _opaqueBehavior_1); - final OpaqueBehavior getConnBehavior = ((OpaqueBehavior) _createOwnedBehavior_1); - EList<Behavior> _methods_1 = getConnOp.getMethods(); - _methods_1.add(getConnBehavior); - String _name_6 = portInfo.getName(); - final String name = (PrefixConstants.attributePrefix + _name_6); - StringConcatenation _builder_2 = new StringConcatenation(); - _builder_2.append("return "); - _builder_2.append(name, ""); - _builder_2.append(";"); - body = _builder_2.toString(); - EList<String> _languages_1 = behavior.getLanguages(); - _languages_1.add(Constants.progLang); - EList<String> _bodies_1 = behavior.getBodies(); - _bodies_1.add(body); - } - } - } - } - } - } - - /** - * Add an operation "createConnections" that implements the connections - * between composite parts. It only takes the assembly connections into - * account, since delegation connectors are handled by the get_ and connect_ - * port operations above. - * - * @param implementation - */ - @Override - public void addConnectionOperation(final org.eclipse.uml2.uml.Class compositeImplementation) throws TransformationException { - String createConnBody = ""; - final Map<ConnectorEnd, Integer> indexMap = new HashMap<ConnectorEnd, Integer>(); - EList<Connector> _ownedConnectors = compositeImplementation.getOwnedConnectors(); - for (final Connector connector : _ownedConnectors) { - boolean _isAssembly = ConnectorUtil.isAssembly(connector); - if (_isAssembly) { - EList<ConnectorEnd> _ends = connector.getEnds(); - int _size = _ends.size(); - boolean _notEquals = (_size != 2); - if (_notEquals) { - StringConcatenation _builder = new StringConcatenation(); - _builder.append("Connector <"); - String _name = connector.getName(); - _builder.append(_name, ""); - _builder.append("> does not have two ends. This is currently not supported"); - throw new TransformationException(_builder.toString()); - } - EList<ConnectorEnd> _ends_1 = connector.getEnds(); - final ConnectorEnd end1 = _ends_1.get(0); - EList<ConnectorEnd> _ends_2 = connector.getEnds(); - final ConnectorEnd end2 = _ends_2.get(1); - StringConcatenation _builder_1 = new StringConcatenation(); - _builder_1.append("// realization of connector <"); - String _name_1 = connector.getName(); - _builder_1.append(_name_1, ""); - _builder_1.append(">\\n"); - String cmd = _builder_1.toString(); - boolean _and = false; - ConnectableElement _role = end1.getRole(); - if (!(_role instanceof Port)) { - _and = false; - } else { - ConnectableElement _role_1 = end1.getRole(); - boolean _isExtendedPort = PortUtils.isExtendedPort(((Port) _role_1)); - _and = _isExtendedPort; - } - if (_and) { - ConnectableElement _role_2 = end1.getRole(); - final Port port = ((Port) _role_2); - final EList<PortInfo> subPorts = PortUtils.flattenExtendedPort(port); - for (final PortInfo subPort : subPorts) { - { - String _cmd = cmd; - StringConcatenation _builder_2 = new StringConcatenation(); - _builder_2.append(" "); - _builder_2.append("// realization of connection for sub-port "); - Port _port = subPort.getPort(); - String _name_2 = _port.getName(); - _builder_2.append(_name_2, " "); - _builder_2.append("\\n"); - cmd = (_cmd + _builder_2); - String _cmd_1 = cmd; - Port _port_1 = subPort.getPort(); - String _connectPorts = StaticCppToOO.connectPorts(indexMap, connector, end1, end2, _port_1); - cmd = (_cmd_1 + _connectPorts); - String _cmd_2 = cmd; - Port _port_2 = subPort.getPort(); - String _connectPorts_1 = StaticCppToOO.connectPorts(indexMap, connector, end2, end1, _port_2); - cmd = (_cmd_2 + _connectPorts_1); - } - } - } else { - String _cmd = cmd; - String _connectPorts = StaticCppToOO.connectPorts(indexMap, connector, end1, end2, null); - cmd = (_cmd + _connectPorts); - String _cmd_1 = cmd; - String _connectPorts_1 = StaticCppToOO.connectPorts(indexMap, connector, end2, end1, null); - cmd = (_cmd_1 + _connectPorts_1); - } - String _createConnBody = createConnBody; - createConnBody = (_createConnBody + (cmd + "\n")); - } - } - int _length = createConnBody.length(); - boolean _greaterThan = (_length > 0); - if (_greaterThan) { - final Operation operation = compositeImplementation.createOwnedOperation(Constants.CREATE_CONNECTIONS, null, null); - String _name_2 = operation.getName(); - String _plus = ("b:" + _name_2); - EClass _opaqueBehavior = UMLPackage.eINSTANCE.getOpaqueBehavior(); - Behavior _createOwnedBehavior = compositeImplementation.createOwnedBehavior(_plus, _opaqueBehavior); - final OpaqueBehavior behavior = ((OpaqueBehavior) _createOwnedBehavior); - EList<String> _languages = behavior.getLanguages(); - _languages.add(Constants.progLang); - EList<String> _bodies = behavior.getBodies(); - _bodies.add(createConnBody); - behavior.setSpecification(operation); - } - } - - /** - * Create the body C++ code code that creates a connection between the two ends - * of a connector. This function checks whether the first end really is a receptacle - * and the second really is a facet. - * - * @param indexMap - * a map of indices that are used in case of multiplex - * receptacles - * @param connector - * a connector - * @param receptacleEnd - * an end of the connector that may point to a receptacle port - * @param facetEnd - * an end of the connector that may point to a facet port - * @param subPort - * a sub-port in case of extended ports - * @return - * @throws TransformationException - */ - public static String connectPorts(final Map<ConnectorEnd, Integer> indexMap, final Connector connector, final ConnectorEnd receptacleEnd, final ConnectorEnd facetEnd, final Port subPort) throws TransformationException { - final Association association = connector.getType(); - boolean _and = false; - ConnectableElement _role = receptacleEnd.getRole(); - if (!(_role instanceof Port)) { - _and = false; - } else { - ConnectableElement _role_1 = facetEnd.getRole(); - _and = (_role_1 instanceof Port); - } - if (_and) { - ConnectableElement _role_2 = facetEnd.getRole(); - final Port facetPort = ((Port) _role_2); - ConnectableElement _role_3 = receptacleEnd.getRole(); - final Port receptaclePort = ((Port) _role_3); - final PortInfo facetPI = PortInfo.fromSubPort(facetPort, subPort); - final PortInfo receptaclePI = PortInfo.fromSubPort(receptaclePort, subPort); - boolean _and_1 = false; - Interface _provided = facetPI.getProvided(); - boolean _notEquals = (!Objects.equal(_provided, null)); - if (!_notEquals) { - _and_1 = false; - } else { - Interface _required = receptaclePI.getRequired(); - boolean _notEquals_1 = (!Objects.equal(_required, null)); - _and_1 = _notEquals_1; - } - if (_and_1) { - final Property facetPart = facetEnd.getPartWithPort(); - final Property receptaclePart = receptacleEnd.getPartWithPort(); - String subPortName = ""; - boolean _notEquals_2 = (!Objects.equal(subPort, null)); - if (_notEquals_2) { - String _subPortName = subPortName; - String _name = subPort.getName(); - String _plus = ("_" + _name); - subPortName = (_subPortName + _plus); - } - final String indexName = StaticCppToOO.getIndexName(indexMap, receptaclePort, receptacleEnd); - StringConcatenation _builder = new StringConcatenation(); - String _nameRef = CppUtils.nameRef(receptaclePart); - _builder.append(_nameRef, ""); - _builder.append("connect_"); - String _name_1 = receptaclePort.getName(); - _builder.append(_name_1, ""); - _builder.append(" "); - _builder.append(subPortName, ""); - _builder.append(";"); - final String setter = _builder.toString(); - StringConcatenation _builder_1 = new StringConcatenation(); - String _nameRef_1 = CppUtils.nameRef(facetPart); - _builder_1.append(_nameRef_1, ""); - _builder_1.append("get_"); - String _name_2 = facetPort.getName(); - _builder_1.append(_name_2, ""); - _builder_1.append(" "); - _builder_1.append(subPortName, ""); - _builder_1.append("()"); - final String getter = _builder_1.toString(); - StringConcatenation _builder_2 = new StringConcatenation(); - _builder_2.append(setter, ""); - _builder_2.append("("); - _builder_2.append(indexName, ""); - _builder_2.append(getter, ""); - _builder_2.append(");\\n"); - return _builder_2.toString(); - } - } else { - ConnectableElement _role_4 = receptacleEnd.getRole(); - if ((_role_4 instanceof Port)) { - ConnectableElement _role_5 = receptacleEnd.getRole(); - final Port receptaclePort_1 = ((Port) _role_5); - Interface _required_1 = PortUtils.getRequired(receptaclePort_1); - boolean _notEquals_3 = (!Objects.equal(_required_1, null)); - if (_notEquals_3) { - ConnectableElement _role_6 = facetEnd.getRole(); - final Property facetPart_1 = ((Property) _role_6); - final Property receptaclePart_1 = facetEnd.getPartWithPort(); - final String indexName_1 = StaticCppToOO.getIndexName(indexMap, receptaclePort_1, receptacleEnd); - StringConcatenation _builder_3 = new StringConcatenation(); - String _nameRef_2 = CppUtils.nameRef(receptaclePart_1); - _builder_3.append(_nameRef_2, ""); - _builder_3.append("connect_"); - String _name_3 = receptaclePort_1.getName(); - _builder_3.append(_name_3, ""); - final String setter_1 = _builder_3.toString(); - StringConcatenation _builder_4 = new StringConcatenation(); - _builder_4.append("&"); - String _name_4 = facetPart_1.getName(); - _builder_4.append(_name_4, ""); - final String getter_1 = _builder_4.toString(); - StringConcatenation _builder_5 = new StringConcatenation(); - _builder_5.append(setter_1, ""); - _builder_5.append("("); - _builder_5.append(indexName_1, ""); - _builder_5.append(getter_1, ""); - _builder_5.append(");\\n"); - return _builder_5.toString(); - } - } else { - ConnectableElement _role_7 = facetEnd.getRole(); - if ((_role_7 instanceof Port)) { - ConnectableElement _role_8 = facetEnd.getRole(); - final Port facetPort_1 = ((Port) _role_8); - Interface _provided_1 = PortUtils.getProvided(facetPort_1); - boolean _notEquals_4 = (!Objects.equal(_provided_1, null)); - if (_notEquals_4) { - final Property facetPart_2 = facetEnd.getPartWithPort(); - ConnectableElement _role_9 = facetEnd.getRole(); - final Property receptaclePart_2 = ((Property) _role_9); - final String setter_2 = receptaclePart_2.getName(); - StringConcatenation _builder_6 = new StringConcatenation(); - String _nameRef_3 = CppUtils.nameRef(facetPart_2); - _builder_6.append(_nameRef_3, ""); - _builder_6.append("get_"); - String _name_5 = facetPort_1.getName(); - _builder_6.append(_name_5, ""); - _builder_6.append("();"); - final String getter_2 = _builder_6.toString(); - StringConcatenation _builder_7 = new StringConcatenation(); - _builder_7.append(setter_2, ""); - _builder_7.append(" = "); - _builder_7.append(getter_2, ""); - _builder_7.append(";\\n"); - return _builder_7.toString(); - } - } else { - boolean _notEquals_5 = (!Objects.equal(association, null)); - if (_notEquals_5) { - ConnectableElement _role_10 = facetEnd.getRole(); - final Property facetPart_3 = ((Property) _role_10); - ConnectableElement _role_11 = receptacleEnd.getRole(); - final Property receptaclePart_3 = ((Property) _role_11); - Type _type = facetPart_3.getType(); - final Property assocProp1 = association.getMemberEnd(null, _type); - boolean _and_2 = false; - boolean _notEquals_6 = (!Objects.equal(assocProp1, null)); - if (!_notEquals_6) { - _and_2 = false; - } else { - boolean _isNavigable = assocProp1.isNavigable(); - _and_2 = _isNavigable; - } - if (_and_2) { - StringConcatenation _builder_8 = new StringConcatenation(); - String _nameRef_4 = CppUtils.nameRef(receptaclePart_3); - _builder_8.append(_nameRef_4, ""); - String _name_6 = assocProp1.getName(); - _builder_8.append(_name_6, ""); - final String setter_3 = _builder_8.toString(); - StringConcatenation _builder_9 = new StringConcatenation(); - _builder_9.append("&"); - String _name_7 = facetPart_3.getName(); - _builder_9.append(_name_7, ""); - final String getter_3 = _builder_9.toString(); - StringConcatenation _builder_10 = new StringConcatenation(); - _builder_10.append(setter_3, ""); - _builder_10.append(" = "); - _builder_10.append(getter_3, ""); - _builder_10.append(";\\n"); - return _builder_10.toString(); - } - } else { - String _name_8 = connector.getName(); - String _plus_1 = ("Connector <" + _name_8); - String _plus_2 = (_plus_1 + - "> does not use ports, but it is not typed (only connectors between ports should not be typed)"); - throw new TransformationException(_plus_2); - } - } - } - } - return ""; - } - - /** - * Handle ports with multiplicity > 1. The idea is that we could have - * multiple connections targeting a receptacle. The first connection would - * start with index 0. Implementations can make no assumption which - * connection is associated with a certain index. [want to avoid associative - * array in runtime]. - * - * @param port - * @param end - * @return - */ - public static String getIndexName(final Map<ConnectorEnd, Integer> indexMap, final Port port, final ConnectorEnd end) { - boolean _or = false; - int _upper = port.getUpper(); - boolean _greaterThan = (_upper > 1); - if (_greaterThan) { - _or = true; - } else { - int _upper_1 = port.getUpper(); - boolean _equals = (_upper_1 == (-1)); - _or = _equals; - } - if (_or) { - Integer indexValue = indexMap.get(end); - boolean _equals_1 = Objects.equal(indexValue, null); - if (_equals_1) { - indexValue = Integer.valueOf(0); - indexMap.put(end, indexValue); - } - String index = (indexValue + ", "); - indexValue++; - indexMap.put(end, indexValue); - return index; - } - return ""; - } - - /** - * Return true, if the bootloader is responsible for the instantiation of a - * part. [Structual difference: bootloader can decide instance based - and - * instances are deployed] - * - * If a part is a component type or an abstract implementation, it cannot be - * instantiated. Thus, a heir has to be selected in the deployment plan. - * Since the selection might be different for different instances of the - * composite, the instantiation is not done by the component itself, but by - * the bootloader. The bootloader also has to instantiate, if different - * allocation variants are required. (this is for instance the case for - * distribution connectors and for the system itself) - * - * If possible, we want to let composites instantiate sub-components, since - * this eases the transition to systems which support reconfiguration. - * - * [TODO: optimization: analyze whether the deployment plan selects a single - * implementation. If yes, let the composite instantiate] - * - * [TODO: elements within an assembly need to be instantiated by composite - - * if System - by bootloader. assembly also need to be instantiated by - * composite!! - * - * @param implementation - * @return - */ - public static boolean instantiateViaBootloader(final org.eclipse.uml2.uml.Class implementation) { - boolean _or = false; - boolean _isAbstract = implementation.isAbstract(); - if (_isAbstract) { - _or = true; - } else { - boolean _isAssembly = Utils.isAssembly(implementation); - _or = _isAssembly; - } - return _or; - } - - /** - * Return whether a part needs to be instantiated by the bootloader instead - * by the composite in which it is contained. The criteria is based on the - * question whether the containing composite is flattened, as it is the case - * for the system component and the interaction components for distribution. - * - * @param part - * @return - */ - public static boolean instantiateViaBootloader(final StructuralFeature part) { - boolean _notEquals = (!Objects.equal(part, null)); - if (_notEquals) { - Type _type = part.getType(); - if ((_type instanceof org.eclipse.uml2.uml.Class)) { - Type _type_1 = part.getType(); - final org.eclipse.uml2.uml.Class implementation = ((org.eclipse.uml2.uml.Class) _type_1); - return StaticCppToOO.instantiateViaBootloader(implementation); - } else { - return false; - } - } - return false; - } - - /** - * Transform parts if necessary. - * - * If the bootloader is responsible for creating an instance (if it is a - * abstract type), mark the associated part as a C++ pointer. We do not want - * to change the aggregation kind, since it remains logically a composition, - * it is merely an implementation issue that it must be a pointer for C++ if - * the concrete type is not yet known. - * - * @param compositeImplementation - * a (composite) component - */ - @Override - public void transformParts(final org.eclipse.uml2.uml.Class compositeImplementation) { - EList<Property> _parts = Utils.getParts(compositeImplementation); - for (final Property attribute : _parts) { - { - final Type type = attribute.getType(); - if ((type instanceof org.eclipse.uml2.uml.Class)) { - final org.eclipse.uml2.uml.Class cl = ((org.eclipse.uml2.uml.Class) type); - boolean _instantiateViaBootloader = StaticCppToOO.instantiateViaBootloader(cl); - if (_instantiateViaBootloader) { - StereotypeUtil.apply(attribute, Ptr.class); - } - } - } - } - } -} diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.java/pom.xml b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.java/pom.xml index 7bfbe2b38b8..50bab3159b8 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.java/pom.xml +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.java/pom.xml @@ -11,4 +11,46 @@ <groupId>org.eclipse.papyrus</groupId> <version>1.1.0-SNAPSHOT</version> <packaging>eclipse-plugin</packaging> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-clean-plugin</artifactId> + <configuration> + <filesets> + <fileset> + <directory>xtend-gen</directory> + <includes> + <include>**/*</include> + </includes> + <excludes> + <exclude>.gitignore</exclude> + </excludes> + </fileset> + </filesets> + </configuration> + </plugin> + <plugin> + <groupId>org.eclipse.xtend</groupId> + <artifactId>xtend-maven-plugin</artifactId> + <executions> + <execution> + <phase>generate-sources</phase> + <goals> + <goal>compile</goal> + </goals> + </execution> + </executions> + <configuration> + <outputDirectory>xtend-gen</outputDirectory> + <testOutputDirectory>${project.build.directory}/xtend-gen/test</testOutputDirectory> + </configuration> + </plugin> + </plugins> + </build> +</project> </project> diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/META-INF/MANIFEST.MF b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/META-INF/MANIFEST.MF index d6927063a68..d8bf6c20b30 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/META-INF/MANIFEST.MF +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/META-INF/MANIFEST.MF @@ -7,34 +7,20 @@ Require-Bundle: org.eclipse.ui, org.eclipse.core.resources,
org.eclipse.ui.ide,
org.eclipse.papyrus.fcm.profile;bundle-version="1.1.0",
- org.eclipse.emf.edit.ui,
org.eclipse.papyrus.marte.static.profile;bundle-version="1.1.0",
- org.eclipse.papyrus.qompass.designer.vsl;bundle-version="1.1.0",
- org.eclipse.papyrus.uml.modelexplorer.widgets;bundle-version="1.1.0",
- org.eclipse.emf.compare;bundle-version="3.0.0",
org.eclipse.papyrus.uml.diagram.common;bundle-version="1.1.0",
org.eclipse.papyrus.infra.gmfdiag.widgets;bundle-version="1.1.0",
- org.eclipse.draw2d;bundle-version="3.8.0",
- org.eclipse.papyrus.uml.modelexplorer;bundle-version="1.1.0",
org.eclipse.gef;bundle-version="3.8.0",
- org.eclipse.gmf.runtime.notation;bundle-version="1.5.0",
org.eclipse.papyrus.uml.profile;bundle-version="1.1.0",
org.eclipse.papyrus.uml.properties;bundle-version="1.1.0",
org.eclipse.papyrus.uml.tools;bundle-version="1.1.0",
- org.eclipse.acceleo.engine;bundle-version="3.1.0",
- org.eclipse.acceleo.parser;bundle-version="3.1.0",
- org.eclipse.papyrus.cpp.profile;bundle-version="1.1.0",
- org.eclipse.papyrus.infra.core;bundle-version="1.1.0",
org.eclipse.gmf.runtime.common.core;bundle-version="1.7.0",
org.eclipse.gmf.runtime.emf.commands.core;bundle-version="1.4.0",
org.eclipse.papyrus.infra.widgets;bundle-version="1.1.0",
org.eclipse.papyrus.infra.emf;bundle-version="1.1.0",
- org.eclipse.papyrus.acceleo;bundle-version="1.1.0",
- org.eclipse.papyrus.infra.services.labelprovider;bundle-version="1.1.0",
org.eclipse.papyrus.uml.tools.utils;bundle-version="1.1.0",
org.eclipse.papyrus.infra.widgets.toolbox;bundle-version="1.1.0",
- org.eclipse.papyrus.qompass.designer.core;bundle-version="1.1.0",
- org.eclipse.papyrus.emf.facet.custom.ui;bundle-version="1.1.0"
+ org.eclipse.papyrus.qompass.designer.core;bundle-version="1.1.0"
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
Bundle-Version: 1.1.0.qualifier
@@ -42,7 +28,6 @@ Bundle-Localization: plugin Bundle-Name: %pluginName
Bundle-Activator: org.eclipse.papyrus.qompass.designer.ui.Activator
Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.papyrus.qompass.designer.ui;singleton
- :=true
+Bundle-SymbolicName: org.eclipse.papyrus.qompass.designer.ui;singleton:=true
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/.classpath b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/.classpath index ad32c83a788..358df1bc1d1 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/.classpath +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/.classpath @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <classpath> + <classpathentry kind="src" path="xtend-gen"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> <classpathentry kind="src" path="src"/> diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/.project b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/.project index e943dd85a61..748b00bc5a7 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/.project +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/.project @@ -6,6 +6,11 @@ </projects> <buildSpec> <buildCommand> + <name>org.eclipse.xtext.ui.shared.xtextBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> <name>org.eclipse.jdt.core.javabuilder</name> <arguments> </arguments> @@ -30,5 +35,6 @@ <nature>org.eclipse.pde.PluginNature</nature> <nature>org.eclipse.acceleo.ide.ui.acceleoNature</nature> <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.xtext.ui.shared.xtextNature</nature> </natures> </projectDescription> diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/META-INF/MANIFEST.MF b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/META-INF/MANIFEST.MF index 7200b375626..19ecc572797 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/META-INF/MANIFEST.MF +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/META-INF/MANIFEST.MF @@ -1,6 +1,6 @@ Manifest-Version: 1.0
Export-Package: org.eclipse.papyrus.qompass.modellibs.core,
- org.eclipse.papyrus.qompass.modellibs.core.acceleo
+ org.eclipse.papyrus.qompass.modellibs.core.xtend
Require-Bundle: org.eclipse.ui,
org.eclipse.ui.ide;bundle-version="3.8.0",
org.eclipse.core.runtime,
@@ -12,7 +12,11 @@ Require-Bundle: org.eclipse.ui, org.eclipse.papyrus.infra.core.log;bundle-version="1.1.0",
org.eclipse.core.resources,
org.eclipse.papyrus.cpp.profile;bundle-version="1.1.0",
- org.eclipse.papyrus.uml.diagram.wizards;bundle-version="1.1.0"
+ org.eclipse.papyrus.uml.diagram.wizards;bundle-version="1.1.0",
+ com.google.guava,
+ org.eclipse.xtext.xbase.lib,
+ org.eclipse.xtend.lib,
+ org.eclipse.xtend.lib.macro
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
Bundle-Version: 1.1.0.qualifier
@@ -20,7 +24,6 @@ Bundle-Localization: plugin Bundle-Name: %pluginName
Bundle-Activator: org.eclipse.papyrus.qompass.modellibs.core.Activator
Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.papyrus.qompass.modellibs.core;single
- ton:=true
+Bundle-SymbolicName: org.eclipse.papyrus.qompass.modellibs.core;singleton:=true
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/pom.xml b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/pom.xml index 611dd6d7586..08072928efc 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/pom.xml +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/pom.xml @@ -11,4 +11,45 @@ <groupId>org.eclipse.papyrus</groupId> <version>1.1.0-SNAPSHOT</version> <packaging>eclipse-plugin</packaging> -</project>
\ No newline at end of file + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-clean-plugin</artifactId> + <configuration> + <filesets> + <fileset> + <directory>xtend-gen</directory> + <includes> + <include>**/*</include> + </includes> + <excludes> + <exclude>.gitignore</exclude> + </excludes> + </fileset> + </filesets> + </configuration> + </plugin> + <plugin> + <groupId>org.eclipse.xtend</groupId> + <artifactId>xtend-maven-plugin</artifactId> + <executions> + <execution> + <phase>generate-sources</phase> + <goals> + <goal>compile</goal> + </goals> + </execution> + </executions> + <configuration> + <outputDirectory>xtend-gen</outputDirectory> + <testOutputDirectory>${project.build.directory}/xtend-gen/test</testOutputDirectory> + </configuration> + </plugin> + </plugins> + </build> +</project> diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/Marshalling.emtl b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/Marshalling.emtl deleted file mode 100644 index f9849fa3f87..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/Marshalling.emtl +++ /dev/null @@ -1,627 +0,0 @@ -<?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="Marshalling" nsURI="org::eclipse::papyrus::qompass::modellibs::core::acceleo::Marshalling" endHeaderPosition="60"> - <input> - <takesTypesFrom href="http://www.eclipse.org/uml2/5.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:Comment"> - <body startPosition="227" endPosition="1028" value="
 All marshalling mechanisms produce an Event, since we need a common data type.
 An advantage of the Event data type is that ID and kind can be used to
 identify data without having to unmarshall.
 (what about target instance?) [=> as long as an event is within the pool of an object, this information is
 not required on each event. But it needs to be added in the moment, an event is transferred.

Also: two different tasks: Call => CallEvent
	CallEvent => buffer
	Call => buffer

	CallEvent => Call
	buffer => CallEvent
	operations marshall all,
 
 An alternative option would be to produce a buffer only
 In case of OO marshalling, there is no need to produce an event via
 an out port, but to pass the buffer in the call

 Better(?): Marshalling returns CallEvent or buffer
 marshall
"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Template" name="marshallStruct" visibility="Public"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="struct ParamData {
"/> - <body xsi:type="mtl:ForBlock"> - <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/5.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/5.0.0/UML#//Parameter"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/> - <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="self" referredVariable="/10"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";
"/> - <loopVariable name="parameter"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </loopVariable> - <iterSet xsi:type="mtl:QueryInvocation" eType="/6/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/marshallStruct/operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </argument> - </iterSet> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="};
Event event;
event.ID = "/> - <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/marshallStruct/operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";
event.kind = CallEvent;
ParamData * data = &event.params; 
"/> - <body xsi:type="mtl:ForBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	data->"/> - <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/marshallStruct/%.5/parameter"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" = "/> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:VariableExp" name="parameter" referredVariable="/0/marshallStruct/%.5/parameter"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";
"/> - <loopVariable name="parameter"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </loopVariable> - <iterSet xsi:type="mtl:QueryInvocation" eType="/6/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/marshallStruct/operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </argument> - </iterSet> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="out->dispatch(event);"/> - <parameter name="operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </parameter> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Template" name="marshallASN" visibility="Public"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="Event event;
event.ID = "/> - <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/marshallASN/operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";
event.kind = CallEvent;
// create buffer for ASN.1 data types
char * pBuffer = &event.params + sizeof(event.params);		// grows backwards
int encodedSize = 0; // total size of encoded buffer
AsnLen itemSize; // size of an encoded item
int operationID = ID_"/> - <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/marshallASN/operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";
	
// now marshall in and inout parameters via ASN.1
"/> - <body xsi:type="mtl:ForBlock"> - <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/5.0.0/UML#//Type"/> - <source xsi:type="ocl.ecore:VariableExp" name="parameter" referredVariable="/0/marshallASN/%.5/parameter"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" varName_ASN = "/> - <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/marshallASN/%.5/parameter"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";
	itemSize = BEncAsnContent (&pBuffer, &varName_ASN);
	encodedSize += itemSize;
}
"/> - <loopVariable name="parameter"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </loopVariable> - <iterSet xsi:type="mtl:QueryInvocation" eType="/6/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/marshallASN/operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </argument> - </iterSet> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
itemSize = BEncAsnContent (&pBuffer, &operationID);
itemSize += BEncAsnContent (&pBuffer, &m_serverID);
encodedSize += itemSize;

encodedSize += BEncDefLen (&pBuffer, encodedSize);

out->dispatch(event);"/> - <parameter name="operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="marshallStruct"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/marshallStruct"/> - <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/5.0.0/UML#//Operation"/> - </eParameters> - </eOperations> - <eOperations name="marshallASN"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/marshallASN"/> - <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/5.0.0/UML#//Operation"/> - </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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ecore:EPackage name="collections"> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Parameter)" instanceClassName="java.util.List"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="i"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="i"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//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/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="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> - <ecore:EAnnotation source="positions"> - <eAnnotations source="positions.0" references="/0/%"> - <details key="start" value="219"/> - <details key="end" value="1030"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.1" references="/0/marshallStruct"> - <details key="start" value="1031"/> - <details key="end" value="1454"/> - <details key="line" value="28"/> - </eAnnotations> - <eAnnotations source="positions.2" references="/0/marshallStruct/%"> - <details key="start" value="1087"/> - <details key="end" value="1106"/> - <details key="line" value="29"/> - </eAnnotations> - <eAnnotations source="positions.3" references="/0/marshallStruct/%.1"> - <details key="start" value="1106"/> - <details key="end" value="1201"/> - <details key="line" value="30"/> - </eAnnotations> - <eAnnotations source="positions.4" references="/0/marshallStruct/%.1/%"> - <details key="start" value="1167"/> - <details key="end" value="1168"/> - <details key="line" value="31"/> - </eAnnotations> - <eAnnotations source="positions.5" references="/0/marshallStruct/%.1/%.1"> - <details key="start" value="1169"/> - <details key="end" value="1182"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.6" references="/0/marshallStruct/%.1/%.1/%"> - <details key="start" value="1177"/> - <details key="end" value="1181"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.7" references="/0/marshallStruct/%.1/%.1/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.8" references="/0/marshallStruct/%.1/%.2"> - <details key="start" value="1185"/> - <details key="end" value="1186"/> - <details key="line" value="31"/> - </eAnnotations> - <eAnnotations source="positions.9" references="/0/marshallStruct/%.1/%.3"> - <details key="start" value="1187"/> - <details key="end" value="1191"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.10" references="/0/marshallStruct/%.1/%.3/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.11" references="/0/marshallStruct/%.1/%.4"> - <details key="start" value="1193"/> - <details key="end" value="1195"/> - <details key="line" value="31"/> - </eAnnotations> - <eAnnotations source="positions.12" references="/0/marshallStruct/%.1/parameter"> - <details key="start" value="1112"/> - <details key="end" value="1133"/> - <details key="line" value="30"/> - </eAnnotations> - <eAnnotations source="positions.13" references="/0/marshallStruct/%.1/%.5"> - <details key="start" value="1136"/> - <details key="end" value="1164"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.14" references="/0/marshallStruct/%.1/%.5/operation"> - <details key="start" value="1154"/> - <details key="end" value="1163"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.15" references="/0/marshallStruct/%.2"> - <details key="start" value="1202"/> - <details key="end" value="1229"/> - <details key="line" value="33"/> - </eAnnotations> - <eAnnotations source="positions.16" references="/0/marshallStruct/%.3"> - <details key="start" value="1230"/> - <details key="end" value="1244"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.17" references="/0/marshallStruct/%.3/operation"> - <details key="start" value="1230"/> - <details key="end" value="1239"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.18" references="/0/marshallStruct/%.4"> - <details key="start" value="1246"/> - <details key="end" value="1307"/> - <details key="line" value="35"/> - </eAnnotations> - <eAnnotations source="positions.19" references="/0/marshallStruct/%.5"> - <details key="start" value="1307"/> - <details key="end" value="1420"/> - <details key="line" value="38"/> - </eAnnotations> - <eAnnotations source="positions.20" references="/0/marshallStruct/%.5/%"> - <details key="start" value="1368"/> - <details key="end" value="1375"/> - <details key="line" value="39"/> - </eAnnotations> - <eAnnotations source="positions.21" references="/0/marshallStruct/%.5/%.1"> - <details key="start" value="1376"/> - <details key="end" value="1390"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.22" references="/0/marshallStruct/%.5/%.1/parameter"> - <details key="start" value="1376"/> - <details key="end" value="1385"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.23" references="/0/marshallStruct/%.5/%.2"> - <details key="start" value="1392"/> - <details key="end" value="1395"/> - <details key="line" value="39"/> - </eAnnotations> - <eAnnotations source="positions.24" references="/0/marshallStruct/%.5/%.3"> - <details key="start" value="1396"/> - <details key="end" value="1410"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.25" references="/0/marshallStruct/%.5/%.3/parameter"> - <details key="start" value="1396"/> - <details key="end" value="1405"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.26" references="/0/marshallStruct/%.5/%.4"> - <details key="start" value="1412"/> - <details key="end" value="1414"/> - <details key="line" value="39"/> - </eAnnotations> - <eAnnotations source="positions.27" references="/0/marshallStruct/%.5/parameter"> - <details key="start" value="1313"/> - <details key="end" value="1334"/> - <details key="line" value="38"/> - </eAnnotations> - <eAnnotations source="positions.28" references="/0/marshallStruct/%.5/%.5"> - <details key="start" value="1337"/> - <details key="end" value="1365"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.29" references="/0/marshallStruct/%.5/%.5/operation"> - <details key="start" value="1355"/> - <details key="end" value="1364"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.30" references="/0/marshallStruct/%.6"> - <details key="start" value="1421"/> - <details key="end" value="1442"/> - <details key="line" value="41"/> - </eAnnotations> - <eAnnotations source="positions.31" references="/0/marshallStruct/operation"> - <details key="start" value="1063"/> - <details key="end" value="1084"/> - <details key="line" value="28"/> - </eAnnotations> - <eAnnotations source="positions.32" references="/0/marshallASN"> - <details key="start" value="1456"/> - <details key="end" value="2322"/> - <details key="line" value="44"/> - </eAnnotations> - <eAnnotations source="positions.33" references="/0/marshallASN/%"> - <details key="start" value="1509"/> - <details key="end" value="1533"/> - <details key="line" value="45"/> - </eAnnotations> - <eAnnotations source="positions.34" references="/0/marshallASN/%.1"> - <details key="start" value="1534"/> - <details key="end" value="1548"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.35" references="/0/marshallASN/%.1/operation"> - <details key="start" value="1534"/> - <details key="end" value="1543"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.36" references="/0/marshallASN/%.2"> - <details key="start" value="1550"/> - <details key="end" value="1819"/> - <details key="line" value="46"/> - </eAnnotations> - <eAnnotations source="positions.37" references="/0/marshallASN/%.3"> - <details key="start" value="1820"/> - <details key="end" value="1834"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.38" references="/0/marshallASN/%.3/operation"> - <details key="start" value="1820"/> - <details key="end" value="1829"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.39" references="/0/marshallASN/%.4"> - <details key="start" value="1836"/> - <details key="end" value="1890"/> - <details key="line" value="52"/> - </eAnnotations> - <eAnnotations source="positions.40" references="/0/marshallASN/%.5"> - <details key="start" value="1890"/> - <details key="end" value="2104"/> - <details key="line" value="55"/> - </eAnnotations> - <eAnnotations source="positions.41" references="/0/marshallASN/%.5/%"> - <details key="start" value="1952"/> - <details key="end" value="1955"/> - <details key="line" value="56"/> - </eAnnotations> - <eAnnotations source="positions.42" references="/0/marshallASN/%.5/%.1"> - <details key="start" value="1956"/> - <details key="end" value="1980"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.43" references="/0/marshallASN/%.5/%.1/%"> - <details key="start" value="1956"/> - <details key="end" value="1970"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.44" references="/0/marshallASN/%.5/%.1/%/parameter"> - <details key="start" value="1956"/> - <details key="end" value="1965"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.45" references="/0/marshallASN/%.5/%.2"> - <details key="start" value="1982"/> - <details key="end" value="1997"/> - <details key="line" value="57"/> - </eAnnotations> - <eAnnotations source="positions.46" references="/0/marshallASN/%.5/%.3"> - <details key="start" value="1998"/> - <details key="end" value="2012"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.47" references="/0/marshallASN/%.5/%.3/parameter"> - <details key="start" value="1998"/> - <details key="end" value="2007"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.48" references="/0/marshallASN/%.5/%.4"> - <details key="start" value="2014"/> - <details key="end" value="2098"/> - <details key="line" value="57"/> - </eAnnotations> - <eAnnotations source="positions.49" references="/0/marshallASN/%.5/parameter"> - <details key="start" value="1896"/> - <details key="end" value="1917"/> - <details key="line" value="55"/> - </eAnnotations> - <eAnnotations source="positions.50" references="/0/marshallASN/%.5/%.5"> - <details key="start" value="1920"/> - <details key="end" value="1949"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.51" references="/0/marshallASN/%.5/%.5/operation"> - <details key="start" value="1920"/> - <details key="end" value="1929"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.52" references="/0/marshallASN/%.6"> - <details key="start" value="2105"/> - <details key="end" value="2310"/> - <details key="line" value="62"/> - </eAnnotations> - <eAnnotations source="positions.53" references="/0/marshallASN/operation"> - <details key="start" value="1485"/> - <details key="end" value="1506"/> - <details key="line" value="44"/> - </eAnnotations> - </ecore:EAnnotation> -</xmi:XMI> diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/Marshalling.mtl b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/Marshalling.mtl deleted file mode 100644 index ed3990a89eb..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/Marshalling.mtl +++ /dev/null @@ -1,70 +0,0 @@ -[module Marshalling('http://www.eclipse.org/uml2/5.0.0/UML')/] - -[import org::eclipse::papyrus::qompass::designer::core::acceleo::UMLTool /] -[import org::eclipse::papyrus::qompass::designer::core::acceleo::utils_cpp /] - -[comment - All marshalling mechanisms produce an Event, since we need a common data type. - An advantage of the Event data type is that ID and kind can be used to - identify data without having to unmarshall. - (what about target instance?) [=> as long as an event is within the pool of an object, this information is - not required on each event. But it needs to be added in the moment, an event is transferred. - -Also: two different tasks: Call => CallEvent - CallEvent => buffer - Call => buffer - - CallEvent => Call - buffer => CallEvent - operations marshall all, - - An alternative option would be to produce a buffer only - In case of OO marshalling, there is no need to produce an event via - an out port, but to pass the buffer in the call - - Better(?): Marshalling returns CallEvent or buffer - marshall -/] -[template public marshallStruct(operation : Operation)] -struct ParamData { -[for (parameter : Parameter | parametersInInout(operation))] - [cppType(type) /] [name/]; -[/for] -}; -Event event; -event.ID = [operation.name/]; -event.kind = CallEvent; -ParamData * data = &event.params; -[for (parameter : Parameter | parametersInInout(operation))] - data->[parameter.name/] = [parameter.name/]; -[/for] -out->dispatch(event); -[/template] - -[template public marshallASN(operation : Operation)] -Event event; -event.ID = [operation.name/]; -event.kind = CallEvent; -// create buffer for ASN.1 data types -char * pBuffer = &event.params + sizeof(event.params); // grows backwards -int encodedSize = 0; // total size of encoded buffer -AsnLen itemSize; // size of an encoded item -int operationID = ID_[operation.name/]; - -// now marshall in and inout parameters via ASN.1 -[for (parameter : Parameter | operation.parametersInInout())] -{ - [parameter.type.cppType()/] varName_ASN = [parameter.name/]; - itemSize = BEncAsnContent (&pBuffer, &varName_ASN); - encodedSize += itemSize; -} -[/for] - -itemSize = BEncAsnContent (&pBuffer, &operationID); -itemSize += BEncAsnContent (&pBuffer, &m_serverID); -encodedSize += itemSize; - -encodedSize += BEncDefLen (&pBuffer, encodedSize); - -out->dispatch(event); -[/template]
\ No newline at end of file diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/StateMachine.emtl b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/StateMachine.emtl deleted file mode 100644 index 638d179c78a..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/StateMachine.emtl +++ /dev/null @@ -1,898 +0,0 @@ -<?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="StateMachine" nsURI="org::eclipse::papyrus::qompass::modellibs::core::acceleo::StateMachine" startHeaderPosition="29" endHeaderPosition="90"> - <input> - <takesTypesFrom href="http://www.eclipse.org/uml2/5.0.0/UML#/"/> - </input> - <imports href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/EnumService.emtl#/0"/> - <imports href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.emtl#/0"/> - <imports href="acceptableEvents.emtl#/0"/> - <ownedModuleElement xsi:type="mtl:Template" name="StateMachine" visibility="Public"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
// processEvents body - generated by Qompass 
//
// supports ports "/> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="mtl:ForBlock"> - <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/EnumService.emtl#/0/literal"/> - <argument xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="PortEnum_"> - <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: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="clazz" referredVariable="/0/StateMachine/clazz"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </argument> - </argument> - <argument xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="port_"> - <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:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/StateMachine/%.1/%/port"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </argument> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/> - <loopVariable name="port"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/> - </loopVariable> - <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/8/Set(Port)"> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - <source xsi:type="ocl.ecore:VariableExp" name="clazz" referredVariable="/0/StateMachine/clazz"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Class"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//EncapsulatedClassifier/ownedPort"/> - </iterSet> - </body> - <ifExpr xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:VariableExp" name="clazz" referredVariable="/0/StateMachine/clazz"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Class"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> - </ifExpr> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
TRACEpr (AO);
PR ("IN "/> - <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="clazz" referredVariable="/0/StateMachine/clazz"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="::checkPreCond()" << showI);
	
"/> - <body xsi:type="mtl:ForBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="core::ContainerServices::CallEvent_ event;
int timeout;
int newState;
int newSubSate;

switch(m_currentState)
{
"/> - <body xsi:type="mtl:ForBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	case "/> - <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/EnumService.emtl#/0/literal"/> - <argument xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="LStateIDs_"> - <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: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="clazz" referredVariable="/0/StateMachine/clazz"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </argument> - </argument> - <argument xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="STATE_"> - <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: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="state" referredVariable="/0/StateMachine/%.5/%.1/state"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </argument> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=":
		// -------- treatment of accepted events
"/> - <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="acceptableEvents.emtl#/0/acceptableEvents"/> - <argument xsi:type="ocl.ecore:VariableExp" name="state" referredVariable="/0/StateMachine/%.5/%.1/state"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="		break;
"/> - <loopVariable name="state"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </loopVariable> - <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/8/Bag(Vertex)"> - <source xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/8/Bag(Vertex)"> - <source xsi:type="ocl.ecore:PropertyCallExp" eType="/8/Set(Region)"> - <source xsi:type="ocl.ecore:VariableExp" name="sm" referredVariable="/0/StateMachine/%.5/sm"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine/region"/> - </source> - <body xsi:type="ocl.ecore:PropertyCallExp" eType="/8/Set(Vertex)"> - <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/StateMachine/%.5/%.1/select/collect/temp1"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Region"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Region/subvertex"/> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp1"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Region"/> - </iterator> - </source> - <body xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:VariableExp" name="temp2" referredVariable="/0/StateMachine/%.5/%.1/select/temp2"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/6/State"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp2"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex"/> - </iterator> - </iterSet> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	
	default:
		OSAL_ERROR ("Inconsistent state");
		break;
}
if (animOut != 0) {
	animOut->enterState(newState, "/> - <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/fragment"/> - <argument xsi:type="ocl.ecore:VariableExp" name="clazz" referredVariable="/0/StateMachine/clazz"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=");
}

"/> - <loopVariable name="sm"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/> - </loopVariable> - <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/8/Set(Behavior)"> - <source xsi:type="ocl.ecore:PropertyCallExp" eType="/8/Set(Behavior)"> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/ownedBehavior"/> - </source> - <body xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/StateMachine/%.5/select/temp3"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/6/StateMachine"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp3"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </iterator> - </iterSet> - </body> - <parameter name="clazz"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/> - </parameter> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="boundPackageRef" visibility="Public"> - <parameter name="actual"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </parameter> - <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/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="/28"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool"> - <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="boundPackageRef(org.eclipse.uml2.uml.Type)"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - <argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/8/Sequence(Type)" kind="Sequence"> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - <item xsi:type="ocl.ecore:VariableExp" name="actual" referredVariable="/0/boundPackageRef/actual"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </item> - </part> - </argument> - </expression> - <type xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </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> - <eOperations name="+"> - <eAnnotations source="MTL non-standard"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="other"> - <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - </eParameters> - </eOperations> - </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="StateMachine"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/StateMachine"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="clazz"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/> - </eParameters> - </eOperations> - <eOperations name="boundPackageRef"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/boundPackageRef"/> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - <eParameters name="actual"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </eParameters> - </eOperations> - <eOperations name="literal"> - <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/EnumService.emtl#/0/literal"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="arg1"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eParameters> - <eParameters name="arg2"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eParameters> - </eOperations> - <eOperations name="fragment"> - <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/fragment"/> - </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/5.0.0/UML#//Element"/> - </eParameters> - </eOperations> - <eOperations name="acceptableEvents"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL"> - <references href="acceptableEvents.emtl#/0/acceptableEvents"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="state"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </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="BehavioredClassifier_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/> - </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/5.0.0/UML#//Type"/> - </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/5.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/5.0.0/UML#//Classifier"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </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/5.0.0/UML#//Operation"/> - </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/5.0.0/UML#//NamedElement"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Trigger_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="State_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </eAnnotations> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/> - </ocl.ecore:Variable> - <ecore:EPackage name="types"> - <eClassifiers xsi:type="ocl.ecore:TypeType" name="Class"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:TypeType" name="StateMachine"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:TypeType" name="State"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/> - </ocl.ecore:Variable> - <ecore:EPackage name="collections"> - <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Port)" instanceClassName="java.util.Set"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Behavior)" instanceClassName="java.util.Set"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Region)" instanceClassName="java.util.Set"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Region"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Vertex)" instanceClassName="java.util.Set"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:BagType" name="Bag(Vertex)" instanceClassName="org.eclipse.ocl.util.Bag"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Type)" instanceClassName="java.util.List"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" instanceClassName="java.util.List"> - <elementType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="i"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="i"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="i"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ecore:EAnnotation source="positions"> - <eAnnotations source="positions.0" references="/0/StateMachine"> - <details key="start" value="334"/> - <details key="end" value="1520"/> - <details key="line" value="8"/> - </eAnnotations> - <eAnnotations source="positions.1" references="/0/StateMachine/%"> - <details key="start" value="395"/> - <details key="end" value="463"/> - <details key="line" value="9"/> - </eAnnotations> - <eAnnotations source="positions.2" references="/0/StateMachine/%.1"> - <details key="start" value="463"/> - <details key="end" value="612"/> - <details key="line" value="12"/> - </eAnnotations> - <eAnnotations source="positions.3" references="/0/StateMachine/%.1/%"> - <details key="start" value="492"/> - <details key="end" value="607"/> - <details key="line" value="12"/> - </eAnnotations> - <eAnnotations source="positions.4" references="/0/StateMachine/%.1/%/%"> - <details key="start" value="546"/> - <details key="end" value="547"/> - <details key="line" value="12"/> - </eAnnotations> - <eAnnotations source="positions.5" references="/0/StateMachine/%.1/%/%.1"> - <details key="start" value="548"/> - <details key="end" value="598"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.6" references="/0/StateMachine/%.1/%/%.1/%"> - <details key="start" value="556"/> - <details key="end" value="578"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.7" references="/0/StateMachine/%.1/%/%.1/%/%"> - <details key="start" value="556"/> - <details key="end" value="567"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.8" references="/0/StateMachine/%.1/%/%.1/%/%.1"> - <details key="start" value="568"/> - <details key="end" value="578"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.9" references="/0/StateMachine/%.1/%/%.1/%/%.1/clazz"> - <details key="start" value="568"/> - <details key="end" value="573"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.10" references="/0/StateMachine/%.1/%/%.1/%.1"> - <details key="start" value="580"/> - <details key="end" value="597"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.11" references="/0/StateMachine/%.1/%/%.1/%.1/%"> - <details key="start" value="580"/> - <details key="end" value="587"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.12" references="/0/StateMachine/%.1/%/%.1/%.1/%.1"> - <details key="start" value="588"/> - <details key="end" value="597"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.13" references="/0/StateMachine/%.1/%/%.1/%.1/%.1/port"> - <details key="start" value="588"/> - <details key="end" value="592"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.14" references="/0/StateMachine/%.1/%/%.2"> - <details key="start" value="600"/> - <details key="end" value="601"/> - <details key="line" value="12"/> - </eAnnotations> - <eAnnotations source="positions.15" references="/0/StateMachine/%.1/%/port"> - <details key="start" value="498"/> - <details key="end" value="509"/> - <details key="line" value="12"/> - </eAnnotations> - <eAnnotations source="positions.16" references="/0/StateMachine/%.1/%/%.3"> - <details key="start" value="512"/> - <details key="end" value="544"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.17" references="/0/StateMachine/%.1/%/%.3/%"> - <details key="start" value="512"/> - <details key="end" value="534"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.18" references="/0/StateMachine/%.1/%/%.3/%/clazz"> - <details key="start" value="512"/> - <details key="end" value="517"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.19" references="/0/StateMachine/%.1/%/%.3/%/%"> - <details key="start" value="528"/> - <details key="end" value="533"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.20" references="/0/StateMachine/%.1/%.1"> - <details key="start" value="467"/> - <details key="end" value="491"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.21" references="/0/StateMachine/%.1/%.1/clazz"> - <details key="start" value="467"/> - <details key="end" value="472"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.22" references="/0/StateMachine/%.1/%.1/%"> - <details key="start" value="485"/> - <details key="end" value="490"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.23" references="/0/StateMachine/%.2"> - <details key="start" value="612"/> - <details key="end" value="635"/> - <details key="line" value="13"/> - </eAnnotations> - <eAnnotations source="positions.24" references="/0/StateMachine/%.3"> - <details key="start" value="636"/> - <details key="end" value="646"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.25" references="/0/StateMachine/%.3/clazz"> - <details key="start" value="636"/> - <details key="end" value="641"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.26" references="/0/StateMachine/%.4"> - <details key="start" value="648"/> - <details key="end" value="679"/> - <details key="line" value="14"/> - </eAnnotations> - <eAnnotations source="positions.27" references="/0/StateMachine/%.5"> - <details key="start" value="679"/> - <details key="end" value="1508"/> - <details key="line" value="16"/> - </eAnnotations> - <eAnnotations source="positions.28" references="/0/StateMachine/%.5/%"> - <details key="start" value="756"/> - <details key="end" value="868"/> - <details key="line" value="17"/> - </eAnnotations> - <eAnnotations source="positions.29" references="/0/StateMachine/%.5/%.1"> - <details key="start" value="869"/> - <details key="end" value="1365"/> - <details key="line" value="24"/> - </eAnnotations> - <eAnnotations source="positions.30" references="/0/StateMachine/%.5/%.1/%"> - <details key="start" value="941"/> - <details key="end" value="947"/> - <details key="line" value="25"/> - </eAnnotations> - <eAnnotations source="positions.31" references="/0/StateMachine/%.5/%.1/%.1"> - <details key="start" value="948"/> - <details key="end" value="1001"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.32" references="/0/StateMachine/%.5/%.1/%.1/%"> - <details key="start" value="956"/> - <details key="end" value="979"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.33" references="/0/StateMachine/%.5/%.1/%.1/%/%"> - <details key="start" value="956"/> - <details key="end" value="968"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.34" references="/0/StateMachine/%.5/%.1/%.1/%/%.1"> - <details key="start" value="969"/> - <details key="end" value="979"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.35" references="/0/StateMachine/%.5/%.1/%.1/%/%.1/clazz"> - <details key="start" value="969"/> - <details key="end" value="974"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.36" references="/0/StateMachine/%.5/%.1/%.1/%.1"> - <details key="start" value="981"/> - <details key="end" value="1000"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.37" references="/0/StateMachine/%.5/%.1/%.1/%.1/%"> - <details key="start" value="981"/> - <details key="end" value="989"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.38" references="/0/StateMachine/%.5/%.1/%.1/%.1/%.1"> - <details key="start" value="990"/> - <details key="end" value="1000"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.39" references="/0/StateMachine/%.5/%.1/%.1/%.1/%.1/state"> - <details key="start" value="990"/> - <details key="end" value="995"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.40" references="/0/StateMachine/%.5/%.1/%.2"> - <details key="start" value="1003"/> - <details key="end" value="1048"/> - <details key="line" value="25"/> - </eAnnotations> - <eAnnotations source="positions.41" references="/0/StateMachine/%.5/%.1/%.3"> - <details key="start" value="1049"/> - <details key="end" value="1073"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.42" references="/0/StateMachine/%.5/%.1/%.3/state"> - <details key="start" value="1049"/> - <details key="end" value="1054"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.43" references="/0/StateMachine/%.5/%.1/%.4"> - <details key="start" value="1075"/> - <details key="end" value="1076"/> - <details key="line" value="28"/> - </eAnnotations> - <eAnnotations source="positions.44" references="/0/StateMachine/%.5/%.1/%.5"> - <details key="start" value="1349"/> - <details key="end" value="1358"/> - <details key="line" value="35"/> - </eAnnotations> - <eAnnotations source="positions.45" references="/0/StateMachine/%.5/%.1/state"> - <details key="start" value="875"/> - <details key="end" value="888"/> - <details key="line" value="24"/> - </eAnnotations> - <eAnnotations source="positions.46" references="/0/StateMachine/%.5/%.1/select"> - <details key="start" value="891"/> - <details key="end" value="938"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.47" references="/0/StateMachine/%.5/%.1/select/collect"> - <details key="start" value="891"/> - <details key="end" value="910"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.48" references="/0/StateMachine/%.5/%.1/select/collect/%"> - <details key="start" value="891"/> - <details key="end" value="900"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.49" references="/0/StateMachine/%.5/%.1/select/collect/%/sm"> - <details key="start" value="891"/> - <details key="end" value="893"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.50" references="/0/StateMachine/%.5/%.1/select/collect/%.1"> - <details key="start" value="901"/> - <details key="end" value="910"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.51" references="/0/StateMachine/%.5/%.1/select/collect/%.1/temp1"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.52" references="/0/StateMachine/%.5/%.1/select/collect/temp1"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.53" references="/0/StateMachine/%.5/%.1/select/%"> - <details key="start" value="919"/> - <details key="end" value="937"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.54" references="/0/StateMachine/%.5/%.1/select/%/temp2"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.55" references="/0/StateMachine/%.5/%.1/select/%/%"> - <details key="start" value="931"/> - <details key="end" value="936"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.56" references="/0/StateMachine/%.5/%.1/select/temp2"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.57" references="/0/StateMachine/%.5/%.2"> - <details key="start" value="1366"/> - <details key="end" value="1477"/> - <details key="line" value="37"/> - </eAnnotations> - <eAnnotations source="positions.58" references="/0/StateMachine/%.5/%.3"> - <details key="start" value="1478"/> - <details key="end" value="1494"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.59" references="/0/StateMachine/%.5/%.3/clazz"> - <details key="start" value="1478"/> - <details key="end" value="1483"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.60" references="/0/StateMachine/%.5/%.4"> - <details key="start" value="1496"/> - <details key="end" value="1502"/> - <details key="line" value="43"/> - </eAnnotations> - <eAnnotations source="positions.61" references="/0/StateMachine/%.5/sm"> - <details key="start" value="685"/> - <details key="end" value="702"/> - <details key="line" value="16"/> - </eAnnotations> - <eAnnotations source="positions.62" references="/0/StateMachine/%.5/select"> - <details key="start" value="705"/> - <details key="end" value="753"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.63" references="/0/StateMachine/%.5/select/%"> - <details key="start" value="705"/> - <details key="end" value="718"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.64" references="/0/StateMachine/%.5/select/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.65" references="/0/StateMachine/%.5/select/%.1"> - <details key="start" value="727"/> - <details key="end" value="752"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.66" references="/0/StateMachine/%.5/select/%.1/temp1"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.67" references="/0/StateMachine/%.5/select/%.1/%"> - <details key="start" value="739"/> - <details key="end" value="751"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.68" references="/0/StateMachine/%.5/select/temp3"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.69" references="/0/StateMachine/clazz"> - <details key="start" value="364"/> - <details key="end" value="392"/> - <details key="line" value="8"/> - </eAnnotations> - <eAnnotations source="positions.70" references="/0/boundPackageRef"> - <details key="start" value="1523"/> - <details key="end" value="1719"/> - <details key="line" value="50"/> - </eAnnotations> - <eAnnotations source="positions.71" references="/0/boundPackageRef/actual"> - <details key="start" value="1553"/> - <details key="end" value="1566"/> - <details key="line" value="50"/> - </eAnnotations> - <eAnnotations source="positions.72" references="/0/boundPackageRef/%"> - <details key="start" value="1581"/> - <details key="end" value="1716"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.73" references="/0/boundPackageRef/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.74" references="/0/boundPackageRef/%/%"> - <details key="start" value="1588"/> - <details key="end" value="1647"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.75" references="/0/boundPackageRef/%/%.1"> - <details key="start" value="1651"/> - <details key="end" value="1695"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.76" references="/0/boundPackageRef/%/%.2"> - <details key="start" value="1699"/> - <details key="end" value="1715"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.77" references="/0/boundPackageRef/%/%.2/%/actual"> - <details key="start" value="1708"/> - <details key="end" value="1714"/> - <details key="line" value="0"/> - </eAnnotations> - </ecore:EAnnotation> -</xmi:XMI> diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/StateMachine.mtl b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/StateMachine.mtl deleted file mode 100644 index 256b1827ae0..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/StateMachine.mtl +++ /dev/null @@ -1,53 +0,0 @@ -[comment encoding = UTF-8 /] -[module StateMachine('http://www.eclipse.org/uml2/5.0.0/UML')/] - -[import org::eclipse::papyrus::qompass::designer::core::acceleo::EnumService/] -[import org::eclipse::papyrus::qompass::designer::core::acceleo::UMLTool/] -[import org::eclipse::papyrus::qompass::modellibs::core::acceleo::acceptableEvents/] - -[template public StateMachine(clazz : BehavioredClassifier)] - -// processEvents body - generated by Qompass -// -// supports ports [if clazz.oclIsKindOf(Class)][for (port : Port | clazz.oclAsType(Class).ownedPort)] [literal('PortEnum_'+clazz.name, 'port_'+port.name)/] [/for][/if] -TRACEpr (AO); -PR ("IN [clazz.name/]::checkPreCond()" << showI); - -[for (sm : StateMachine | ownedBehavior->select(oclIsKindOf(StateMachine)))] -core::ContainerServices::CallEvent_ event; -int timeout; -int newState; -int newSubSate; - -switch(m_currentState) -{ - [for (state : State | sm.region.subvertex->select(oclIsKindOf(State)))] - case [literal('LStateIDs_'+clazz.name, 'STATE_'+state.name)/]: - // -------- treatment of accepted events -[state.acceptableEvents()/] -[comment // -------- treatment of ignored events /] -[comment [state.ignoredEvents()/] -[comment // -------- treatment of rejected events /] -[comment [state.rejectedEvent()/] -[comment // -------- not accepted nor ignored neither rejected - // else not acceptable event -/] - break; - [/for] - - default: - OSAL_ERROR ("Inconsistent state"); - break; -} -if (animOut != 0) { - animOut->enterState(newState, [clazz.fragment()/]); -} - -[/for] -[/template] - - -[query public boundPackageRef(actual : Type) : Package = - invoke('org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool', - 'boundPackageRef(org.eclipse.uml2.uml.Type)', - Sequence{actual}) /]
\ No newline at end of file diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/StateMachineUtil.emtl b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/StateMachineUtil.emtl deleted file mode 100644 index d11e089640e..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/StateMachineUtil.emtl +++ /dev/null @@ -1,360 +0,0 @@ -<?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="StateMachineUtil" nsURI="org::eclipse::papyrus::qompass::modellibs::core::acceleo::StateMachineUtil" startHeaderPosition="29" endHeaderPosition="94"> - <input> - <takesTypesFrom href="http://www.eclipse.org/uml2/5.0.0/UML#/"/> - </input> - <ownedModuleElement xsi:type="mtl:Query" name="boundPackageRef" visibility="Public"> - <parameter name="actual"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </parameter> - <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/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/5.0.0/UML#//Type"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.modellibs.core.acceleo.StateMachineUtil"> - <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="boundPackageRef(org.eclipse.uml2.uml.Type)"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - <argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/4/Sequence(Type)" kind="Sequence"> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - <item xsi:type="ocl.ecore:VariableExp" name="actual" referredVariable="/0/boundPackageRef/actual"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </item> - </part> - </argument> - </expression> - <type xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Comment"> - <body startPosition="314" endPosition="345" value=" called by acceptableEvents.mtl"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="declareDependencyToOperationIDs" visibility="Public"> - <parameter name="pkg"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </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="/8"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.modellibs.core.acceleo.StateMachineUtil"> - <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="declareDependencyToOperationIDs(org.eclipse.uml2.uml.Package)"> - <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(Package)" kind="Sequence"> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - <item xsi:type="ocl.ecore:VariableExp" name="pkg" referredVariable="/0/declareDependencyToOperationIDs/pkg"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </item> - </part> - </argument> - </expression> - <type xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Comment"> - <body startPosition="596" endPosition="627" value=" called by acceptableEvents.mtl"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="declareDependencyToSignalIDs" visibility="Public"> - <parameter name="pkg"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </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="/11"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.modellibs.core.acceleo.StateMachineUtil"> - <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="declareDependencyToSignalIDs(org.eclipse.uml2.uml.Package)"> - <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(Package)" kind="Sequence"> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - <item xsi:type="ocl.ecore:VariableExp" name="pkg" referredVariable="/0/declareDependencyToSignalIDs/pkg"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </item> - </part> - </argument> - </expression> - <type xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> - </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="boundPackageRef"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/boundPackageRef"/> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - <eParameters name="actual"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </eParameters> - </eOperations> - <eOperations name="declareDependencyToOperationIDs"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/declareDependencyToOperationIDs"/> - <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> - <eParameters name="pkg"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </eParameters> - </eOperations> - <eOperations name="declareDependencyToSignalIDs"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/declareDependencyToSignalIDs"/> - <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> - <eParameters name="pkg"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </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="Type_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </eAnnotations> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </ocl.ecore:Variable> - <ecore:EPackage name="collections"> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Type)" instanceClassName="java.util.List"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(OclAny)" instanceClassName="java.util.List"> - <elementType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Package)" instanceClassName="java.util.List"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </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/boundPackageRef"> - <details key="start" value="98"/> - <details key="end" value="304"/> - <details key="line" value="4"/> - </eAnnotations> - <eAnnotations source="positions.1" references="/0/boundPackageRef/actual"> - <details key="start" value="128"/> - <details key="end" value="141"/> - <details key="line" value="4"/> - </eAnnotations> - <eAnnotations source="positions.2" references="/0/boundPackageRef/%"> - <details key="start" value="156"/> - <details key="end" value="301"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.3" references="/0/boundPackageRef/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.4" references="/0/boundPackageRef/%/%"> - <details key="start" value="163"/> - <details key="end" value="232"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.5" references="/0/boundPackageRef/%/%.1"> - <details key="start" value="236"/> - <details key="end" value="280"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.6" references="/0/boundPackageRef/%/%.2"> - <details key="start" value="284"/> - <details key="end" value="300"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.7" references="/0/boundPackageRef/%/%.2/%/actual"> - <details key="start" value="293"/> - <details key="end" value="299"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.8" references="/0/%"> - <details key="start" value="306"/> - <details key="end" value="347"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.9" references="/0/declareDependencyToOperationIDs"> - <details key="start" value="348"/> - <details key="end" value="586"/> - <details key="line" value="10"/> - </eAnnotations> - <eAnnotations source="positions.10" references="/0/declareDependencyToOperationIDs/pkg"> - <details key="start" value="394"/> - <details key="end" value="407"/> - <details key="line" value="10"/> - </eAnnotations> - <eAnnotations source="positions.11" references="/0/declareDependencyToOperationIDs/%"> - <details key="start" value="422"/> - <details key="end" value="583"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.12" references="/0/declareDependencyToOperationIDs/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.13" references="/0/declareDependencyToOperationIDs/%/%"> - <details key="start" value="429"/> - <details key="end" value="498"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.14" references="/0/declareDependencyToOperationIDs/%/%.1"> - <details key="start" value="502"/> - <details key="end" value="565"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.15" references="/0/declareDependencyToOperationIDs/%/%.2"> - <details key="start" value="569"/> - <details key="end" value="582"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.16" references="/0/declareDependencyToOperationIDs/%/%.2/%/pkg"> - <details key="start" value="578"/> - <details key="end" value="581"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.17" references="/0/%.1"> - <details key="start" value="588"/> - <details key="end" value="629"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.18" references="/0/declareDependencyToSignalIDs"> - <details key="start" value="630"/> - <details key="end" value="862"/> - <details key="line" value="16"/> - </eAnnotations> - <eAnnotations source="positions.19" references="/0/declareDependencyToSignalIDs/pkg"> - <details key="start" value="673"/> - <details key="end" value="686"/> - <details key="line" value="16"/> - </eAnnotations> - <eAnnotations source="positions.20" references="/0/declareDependencyToSignalIDs/%"> - <details key="start" value="701"/> - <details key="end" value="859"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.21" references="/0/declareDependencyToSignalIDs/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.22" references="/0/declareDependencyToSignalIDs/%/%"> - <details key="start" value="708"/> - <details key="end" value="777"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.23" references="/0/declareDependencyToSignalIDs/%/%.1"> - <details key="start" value="781"/> - <details key="end" value="841"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.24" references="/0/declareDependencyToSignalIDs/%/%.2"> - <details key="start" value="845"/> - <details key="end" value="858"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.25" references="/0/declareDependencyToSignalIDs/%/%.2/%/pkg"> - <details key="start" value="854"/> - <details key="end" value="857"/> - <details key="line" value="0"/> - </eAnnotations> - </ecore:EAnnotation> -</xmi:XMI> diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/StateMachineUtil.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/StateMachineUtil.java deleted file mode 100644 index 359c064f956..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/StateMachineUtil.java +++ /dev/null @@ -1,81 +0,0 @@ -/***************************************************************************** - * Copyright (c) 2013 CEA LIST. - * - * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Ansgar Radermacher ansgar.radermacher@cea.fr - * - *****************************************************************************/ - -package org.eclipse.papyrus.qompass.modellibs.core.acceleo; - -import org.eclipse.papyrus.qompass.designer.core.Utils; -import org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool; -import org.eclipse.papyrus.qompass.designer.core.templates.TemplateUtils; -import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationContext; -import org.eclipse.uml2.uml.Package; -import org.eclipse.uml2.uml.PackageableElement; -import org.eclipse.uml2.uml.TemplateBinding; -import org.eclipse.uml2.uml.Type; - - -public class StateMachineUtil { - - /** - * Return the bound package in the context of template instantiation for a given actual. - * - * This is required by the state machine template which needs to access operation IDs - * provided by the call interceptor. - * - * @param actual - * The actual for template binding - * @return - */ - public static Package boundPackageRef(Type actual) { - for (Package nestedPkg : Utils.getTop(actual).getNestedPackages()) { - if (nestedPkg.getTemplateBindings().size() > 0) { - TemplateBinding binding = nestedPkg.getTemplateBindings().get(0); - if (actual == TemplateUtils.getFirstActualFromBinding(binding)) { - return nestedPkg; - } - } - } - return null; - } - - /** - * Declares a dependency from the current classifier which is produced by template instantiation - * to the element (enum) "OperationIDs", if found within the passed package. - * Called by Acceleo script "acceptableEvents.mtl". - * - * @param pkg - * @return - */ - public static void declareDependencyToOperationIDs(Package pkg) { - PackageableElement type = pkg.getPackagedElement("OperationIDs"); //$NON-NLS-1$ - if (type instanceof Type) { - UMLTool.declareDependency(TransformationContext.classifier, (Type) type); - } - } - - /** - * Declares a dependency from the current classifier which is produced by template instantiation - * to the element (enum) "SignalIDs", if found within the passed package. - * Called by Acceleo script "acceptableEvents.mtl". - * - * @param pkg - * the package in which an enumeration is looked up - * @return - */ - public static void declareDependencyToSignalIDs(Package pkg) { - PackageableElement type = pkg.getPackagedElement("SignalIDs"); //$NON-NLS-1$ - if (type instanceof Type) { - UMLTool.declareDependency(TransformationContext.classifier, (Type) type); - } - } -} diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/StateMachineUtil.mtl b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/StateMachineUtil.mtl deleted file mode 100644 index 5029ff2cbe1..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/StateMachineUtil.mtl +++ /dev/null @@ -1,19 +0,0 @@ -[comment encoding = UTF-8 /] -[module StateMachineUtil('http://www.eclipse.org/uml2/5.0.0/UML')/] - -[query public boundPackageRef(actual : Type) : Package = - invoke('org.eclipse.papyrus.qompass.modellibs.core.acceleo.StateMachineUtil', - 'boundPackageRef(org.eclipse.uml2.uml.Type)', - Sequence{actual}) /] - -[comment called by acceptableEvents.mtl/] -[query public declareDependencyToOperationIDs(pkg : Package) : OclVoid = - invoke('org.eclipse.papyrus.qompass.modellibs.core.acceleo.StateMachineUtil', - 'declareDependencyToOperationIDs(org.eclipse.uml2.uml.Package)', - Sequence{pkg}) /] - -[comment called by acceptableEvents.mtl/] -[query public declareDependencyToSignalIDs(pkg : Package) : OclVoid = - invoke('org.eclipse.papyrus.qompass.modellibs.core.acceleo.StateMachineUtil', - 'declareDependencyToSignalIDs(org.eclipse.uml2.uml.Package)', - Sequence{pkg}) /] diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/TransitionService.emtl b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/TransitionService.emtl deleted file mode 100644 index 38958cbdaa0..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/TransitionService.emtl +++ /dev/null @@ -1,174 +0,0 @@ -<?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="TransitionService" nsURI="org::eclipse::papyrus::qompass::modellibs::core::acceleo::TransitionService" endHeaderPosition="66"> - <input> - <takesTypesFrom href="http://www.eclipse.org/uml2/3.0.0/UML#/"/> - </input> - <ownedModuleElement xsi:type="mtl:Comment"> - <body startPosition="78" endPosition="107" value=" Copyright (c) 2012 CEA List."/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="getNumber" visibility="Public"> - <parameter name="transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Transition"/> - </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/3.0.0/UML#//Transition"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.designer.core.acceleo.TransitionService"> - <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="getNumber(org.eclipse.uml2.uml.Transition)"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - <argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/4/Sequence(Transition)" kind="Sequence"> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Transition"/> - <item xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/getNumber/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Transition"/> - </item> - </part> - </argument> - </expression> - <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> - </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="getNumber"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/getNumber"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> - <eParameters name="transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Transition"/> - </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="Transition_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/3.0.0/UML#//Transition"/> - </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/3.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ecore:EPackage name="collections"> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Transition)" instanceClassName="java.util.List"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Transition"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" instanceClassName="java.util.List"> - <elementType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ecore:EAnnotation source="positions"> - <eAnnotations source="positions.0" references="/0/%"> - <details key="start" value="70"/> - <details key="end" value="109"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.1" references="/0/getNumber"> - <details key="start" value="111"/> - <details key="end" value="325"/> - <details key="line" value="5"/> - </eAnnotations> - <eAnnotations source="positions.2" references="/0/getNumber/transition"> - <details key="start" value="135"/> - <details key="end" value="158"/> - <details key="line" value="5"/> - </eAnnotations> - <eAnnotations source="positions.3" references="/0/getNumber/%"> - <details key="start" value="173"/> - <details key="end" value="322"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.4" references="/0/getNumber/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.5" references="/0/getNumber/%/%"> - <details key="start" value="180"/> - <details key="end" value="249"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.6" references="/0/getNumber/%/%.1"> - <details key="start" value="253"/> - <details key="end" value="297"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.7" references="/0/getNumber/%/%.2"> - <details key="start" value="301"/> - <details key="end" value="321"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.8" references="/0/getNumber/%/%.2/%/transition"> - <details key="start" value="310"/> - <details key="end" value="320"/> - <details key="line" value="0"/> - </eAnnotations> - </ecore:EAnnotation> -</xmi:XMI> diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/TransitionService.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/TransitionService.java deleted file mode 100644 index 6ba749d0c45..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/TransitionService.java +++ /dev/null @@ -1,54 +0,0 @@ -/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ansgar Radermacher ansgar.radermacher@cea.fr
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.qompass.modellibs.core.acceleo;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.uml2.uml.Region;
-import org.eclipse.uml2.uml.StateMachine;
-import org.eclipse.uml2.uml.Transition;
-
-
-/**
- * This class encapsulates an <code>org.eclipse.uml2.uml.Transition</code><BR>
- *
- * @author Remi SCHNEKENBURGER
- */
-public class TransitionService {
-
- /**
- * Get the transition number within the state machine
- * BEWARE: this method works only with Accord|UML compliant State Machines,
- * with no parallel processing, i.e. a single region
- *
- * @return Returns the transition number, returns 0 if pb
- */
- public int getNumber(Transition transition) {
- int nb = 0;
- StateMachine stateMachine = transition.containingStateMachine();
- EList<Region> SMRegions = stateMachine.getRegions();
- if (SMRegions.size() >= 2) {
- // TODO error message
- } else {
- Region theRegion = SMRegions.get(0);
- for (Transition currentTrans : theRegion.getTransitions()) {
- nb = nb + 1;
- if (currentTrans == transition) {
- break;
- }
- }
- }
- return nb;
- }
-}
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/TransitionService.mtl b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/TransitionService.mtl deleted file mode 100644 index 1a728a94007..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/TransitionService.mtl +++ /dev/null @@ -1,8 +0,0 @@ -[module TransitionService('http://www.eclipse.org/uml2/3.0.0/UML')/] - -[comment Copyright (c) 2012 CEA List./] - -[query public getNumber(transition : Transition) : Integer = - invoke('org.eclipse.papyrus.qompass.designer.core.acceleo.TransitionService', - 'getNumber(org.eclipse.uml2.uml.Transition)', - Sequence{transition}) /] diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/acceptableEvents.emtl b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/acceptableEvents.emtl deleted file mode 100644 index 9fe25d267e3..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/acceptableEvents.emtl +++ /dev/null @@ -1,4282 +0,0 @@ -<?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="acceptableEvents" nsURI="org::eclipse::papyrus::qompass::modellibs::core::acceleo::acceptableEvents" endHeaderPosition="65"> - <input> - <takesTypesFrom href="http://www.eclipse.org/uml2/5.0.0/UML#/"/> - </input> - <imports href="TransitionService.emtl#/0"/> - <imports href="StateMachineUtil.emtl#/0"/> - <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/EnumService.emtl#/0"/> - <imports href="platform:/plugin/org.eclipse.papyrus.qompass.designer.vsl/org/eclipse/papyrus/qompass/designer/vsl/ParseVSL.emtl#/0"/> - <ownedModuleElement xsi:type="mtl:Comment"> - <body startPosition="473" endPosition="516" value=" produce a call event trigger label (TODO) "/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Comment"> - <body startPosition="528" endPosition="680" value="
Pass the actual to which the port is bound. In case of a CallEvent, pass the implemented interface
(Not the class to which the state machine is bound)
"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Template" name="cetrigger" visibility="Public"> - <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="mtl:QueryInvocation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - <definition href="StateMachineUtil.emtl#/0/boundPackageRef"/> - <argument xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface"/> - <definition href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.emtl#/0/implementsInterface"/> - <argument xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/cetrigger/operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </argument> - </argument> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/qualifiedName"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="::ID_"/> - <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="self" referredVariable="/8"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> - <body xsi:type="ocl.ecore: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="StateMachineUtil.emtl#/0/declareDependencyToOperationIDs"/> - <argument xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - <definition href="StateMachineUtil.emtl#/0/boundPackageRef"/> - <argument xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface"/> - <definition href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.emtl#/0/implementsInterface"/> - <argument xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/cetrigger/operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </argument> - </argument> - </argument> - </body> - <parameter name="operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </parameter> - <post xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/trim"> - <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="/5"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </source> - </post> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Comment"> - <body startPosition="994" endPosition="1030" value="
Use service for global enumerations"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Template" name="setrigger" visibility="Public"> - <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/EnumService.emtl#/0/literal"/> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="SignalEvents"> - <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:OperationCallExp" referredOperation="/1/String_Class/+"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="SIG_"> - <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:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Signal"/> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//SignalEvent"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Event"/> - <source xsi:type="ocl.ecore:VariableExp" name="trigger" referredVariable="/0/setrigger/trigger"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger/event"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/15/SignalEvent"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//SignalEvent"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//SignalEvent/signal"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </argument> - </argument> - </body> - <parameter name="trigger"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - </parameter> - <post xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/trim"> - <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="/13"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </source> - </post> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Template" name="acceptableEvents" visibility="Public"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
		// loop on state
		// execute action ...
		timeout = -1;	// no timeout by default
"/> - <body xsi:type="mtl:ForBlock"> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="		// transition "/> - <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="self" referredVariable="/25"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" - trigger: TimeEvent, expression "/> - <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="/21/Sequence(String)"> - <source xsi:type="ocl.ecore:PropertyCallExp" eType="/21/Sequence(String)"> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ValueSpecification"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TimeExpression"/> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TimeEvent"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Event"/> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - <source xsi:type="ocl.ecore:OperationCallExp" eType="/21/Sequence(Trigger)"> - <source xsi:type="ocl.ecore:PropertyCallExp" eType="/21/Set(Trigger)"> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableEvents/%.1/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/trigger"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/asSequence"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/first"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger/event"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/15/TimeEvent"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TimeEvent"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TimeEvent/when"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TimeExpression/expr"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/15/OpaqueExpression"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression/body"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/asSequence"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/first"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".
		timeout = "/> - <body xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> - <definition href="platform:/plugin/org.eclipse.papyrus.qompass.designer.vsl/org/eclipse/papyrus/qompass/designer/vsl/ParseVSL.emtl#/0/getDurationFromVSL"/> - <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="/21/Sequence(String)"> - <source xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/21/Bag(String)"> - <source xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/21/Bag(OpaqueExpression)"> - <source xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/21/Bag(ValueSpecification)"> - <source xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/21/Bag(TimeExpression)"> - <source xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/21/Bag(TimeEvent)"> - <source xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/21/Bag(Event)"> - <source xsi:type="ocl.ecore:PropertyCallExp" eType="/21/Set(Trigger)"> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/27"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/trigger"/> - </source> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Event"/> - <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/acceptableEvents/%.1/%/%.5/%/%/collect/collect/collect/collect/collect/collect/temp1"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger/event"/> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp1"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - </iterator> - </source> - <body xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TimeEvent"/> - <source xsi:type="ocl.ecore:VariableExp" name="temp2" referredVariable="/0/acceptableEvents/%.1/%/%.5/%/%/collect/collect/collect/collect/collect/temp2"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Event"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/15/TimeEvent"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TimeEvent"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp2"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Event"/> - </iterator> - </source> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TimeExpression"/> - <source xsi:type="ocl.ecore:VariableExp" name="temp3" referredVariable="/0/acceptableEvents/%.1/%/%.5/%/%/collect/collect/collect/collect/temp3"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TimeEvent"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TimeEvent/when"/> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp3"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TimeEvent"/> - </iterator> - </source> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ValueSpecification"/> - <source xsi:type="ocl.ecore:VariableExp" name="temp4" referredVariable="/0/acceptableEvents/%.1/%/%.5/%/%/collect/collect/collect/temp4"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TimeExpression"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TimeExpression/expr"/> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp4"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TimeExpression"/> - </iterator> - </source> - <body xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/> - <source xsi:type="ocl.ecore:VariableExp" name="temp5" referredVariable="/0/acceptableEvents/%.1/%/%.5/%/%/collect/collect/temp5"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ValueSpecification"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/15/OpaqueExpression"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp5"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ValueSpecification"/> - </iterator> - </source> - <body xsi:type="ocl.ecore:PropertyCallExp" eType="/21/Sequence(String)"> - <source xsi:type="ocl.ecore:VariableExp" name="temp6" referredVariable="/0/acceptableEvents/%.1/%/%.5/%/%/collect/temp6"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression/body"/> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp6"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/> - </iterator> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Bag(T)_Class/asSequence"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/first"/> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/1000;
"/> - <ifExpr xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Event"/> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - <source xsi:type="ocl.ecore:OperationCallExp" eType="/21/Sequence(Trigger)"> - <source xsi:type="ocl.ecore:PropertyCallExp" eType="/21/Set(Trigger)"> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableEvents/%.1/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/trigger"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/asSequence"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/first"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger/event"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/15/TimeEvent"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TimeEvent"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> - </ifExpr> - </body> - <loopVariable name="transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </loopVariable> - <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/21/Set(Transition)"> - <source xsi:type="ocl.ecore:VariableExp" name="state" referredVariable="/0/acceptableEvents/state"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex/outgoing"/> - </iterSet> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="		// upcoming support for nested state machines
		// timeout = setTimeoutInSubState (timeout);

		// get an event from the pool.
		event = ep->readEvent(timeout);
	
		// process event in sub-state
		// need variable for current sub-state, better array of variables? (graph, if we accept parallel states)
"/> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="mtl:ForBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	"/> - <body xsi:type="mtl:TemplateInvocation" definition="/0/acceptableSubEvents"> - <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="substate" referredVariable="/0/acceptableEvents/%.3/%/substate"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> - <loopVariable name="substate"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </loopVariable> - <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/21/Bag(Vertex)"> - <source xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/21/Bag(Vertex)"> - <source xsi:type="ocl.ecore:PropertyCallExp" eType="/21/Set(Region)"> - <source xsi:type="ocl.ecore:VariableExp" name="state" referredVariable="/0/acceptableEvents/state"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//State/region"/> - </source> - <body xsi:type="ocl.ecore:PropertyCallExp" eType="/21/Set(Vertex)"> - <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/acceptableEvents/%.3/%/select/collect/temp7"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Region"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Region/subvertex"/> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp7"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Region"/> - </iterator> - </source> - <body xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:VariableExp" name="temp2" referredVariable="/0/acceptableEvents/%.3/%/select/temp8"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/15/State"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp8"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex"/> - </iterator> - </iterSet> - </body> - <ifExpr xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> - <source xsi:type="ocl.ecore:PropertyCallExp" eType="/21/Set(Region)"> - <source xsi:type="ocl.ecore:VariableExp" name="state" referredVariable="/0/acceptableEvents/state"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//State/region"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(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="ocl.ecore:StringLiteralExp" stringSymbol="		// processEventInSubState (event);

"/> - <body xsi:type="mtl:ForBlock"> - <body xsi:type="mtl:LetBlock"> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="		// transition "/> - <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="transition" referredVariable="/0/acceptableEvents/%.5/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" - trigger: TimeEvent (there should be at most one outgoing timed transition per state).
		if (event.operationID == core::ContainerServices::EventPool::ID_TIMEOUT) {
			newState = STATE_"/> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex"/> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableEvents/%.5/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/target"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";
"/> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="			executor->"/> - <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:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/> - <source xsi:type="ocl.ecore:VariableExp" name="state" referredVariable="/0/acceptableEvents/state"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex/containingStateMachine"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_"/> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableEvents/%.5/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_"/> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableEvents/%.5/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/effect"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="();
"/> - <ifExpr xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableEvents/%.5/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/effect"/> - </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="		}		
"/> - <ifExpr xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Event"/> - <source xsi:type="ocl.ecore:VariableExp" name="trigger" referredVariable="/0/acceptableEvents/%.5/%/trigger"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger/event"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/15/TimeEvent"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TimeEvent"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> - </ifExpr> - </body> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="		// transition "/> - <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="self" referredVariable="/47"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" - trigger: CallEvent ("/> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Event"/> - <source xsi:type="ocl.ecore:VariableExp" name="trigger" referredVariable="/0/acceptableEvents/%.5/%/trigger"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger/event"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="), 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:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Event"/> - <source xsi:type="ocl.ecore:VariableExp" name="trigger" referredVariable="/0/acceptableEvents/%.5/%/trigger"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger/event"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/15/CallEvent"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent/operation"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
		if (event.operationID == "/> - <body xsi:type="mtl:TemplateInvocation" definition="/0/cetrigger"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Event"/> - <source xsi:type="ocl.ecore:VariableExp" name="trigger" referredVariable="/0/acceptableEvents/%.5/%/trigger"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger/event"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/15/CallEvent"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent/operation"/> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=") {
			newState = STATE_"/> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex"/> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableEvents/%.5/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/target"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";
"/> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="			executor->"/> - <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:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/> - <source xsi:type="ocl.ecore:VariableExp" name="state" referredVariable="/0/acceptableEvents/state"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex/containingStateMachine"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_"/> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableEvents/%.5/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_"/> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableEvents/%.5/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/effect"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="();
"/> - <ifExpr xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableEvents/%.5/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/effect"/> - </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="		} 
"/> - <ifExpr xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Event"/> - <source xsi:type="ocl.ecore:VariableExp" name="trigger" referredVariable="/0/acceptableEvents/%.5/%/trigger"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger/event"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/15/CallEvent"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> - </ifExpr> - </body> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="mtl:LetBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="		// transition "/> - <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="self" referredVariable="/58"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" - trigger: SignalEvent ("/> - <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="signalEvent" referredVariable="/0/acceptableEvents/%.5/%/%.2/%/signalEvent"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//SignalEvent"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="), signal "/> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Signal"/> - <source xsi:type="ocl.ecore:VariableExp" name="signalEvent" referredVariable="/0/acceptableEvents/%.5/%/%.2/%/signalEvent"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//SignalEvent"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//SignalEvent/signal"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
		if (event.operationID == "/> - <body xsi:type="mtl:TemplateInvocation" definition="/0/setrigger"> - <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="trigger" referredVariable="/0/acceptableEvents/%.5/%/trigger"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=") {
			newState = STATE_"/> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex"/> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableEvents/%.5/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/target"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";
"/> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="void* data = &event.params;"/> - <ifExpr xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> - <source xsi:type="ocl.ecore:PropertyCallExp" eType="/21/OrderedSet(Property)"> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Signal"/> - <source xsi:type="ocl.ecore:VariableExp" name="signalEvent" referredVariable="/0/acceptableEvents/%.5/%/%.2/%/signalEvent"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//SignalEvent"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//SignalEvent/signal"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/attribute"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/size"/> - </source> - <argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="0"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3E"/> - </ifExpr> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" 
			executor->"/> - <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:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/> - <source xsi:type="ocl.ecore:VariableExp" name="state" referredVariable="/0/acceptableEvents/state"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex/containingStateMachine"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_"/> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableEvents/%.5/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_"/> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableEvents/%.5/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/effect"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="("/> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="data"/> - <ifExpr xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> - <source xsi:type="ocl.ecore:PropertyCallExp" eType="/21/OrderedSet(Property)"> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Signal"/> - <source xsi:type="ocl.ecore:VariableExp" name="signalEvent" referredVariable="/0/acceptableEvents/%.5/%/%.2/%/signalEvent"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//SignalEvent"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//SignalEvent/signal"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/attribute"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/size"/> - </source> - <argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="0"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3E"/> - </ifExpr> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=");

"/> - <ifExpr xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableEvents/%.5/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/effect"/> - </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="			// ok = EvQUEUE ;
		}
"/> - <letVariable name="signalEvent"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//SignalEvent"/> - <initExpression xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//SignalEvent"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Event"/> - <source xsi:type="ocl.ecore:VariableExp" name="trigger" referredVariable="/0/acceptableEvents/%.5/%/trigger"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger/event"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/15/SignalEvent"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//SignalEvent"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> - </initExpression> - </letVariable> - </body> - <ifExpr xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Event"/> - <source xsi:type="ocl.ecore:VariableExp" name="trigger" referredVariable="/0/acceptableEvents/%.5/%/trigger"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger/event"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/15/SignalEvent"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//SignalEvent"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> - </ifExpr> - </body> - <letVariable name="trigger"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - <initExpression xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - <source xsi:type="ocl.ecore:OperationCallExp" eType="/21/Sequence(Trigger)"> - <source xsi:type="ocl.ecore:PropertyCallExp" eType="/21/Set(Trigger)"> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableEvents/%.5/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/trigger"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/asSequence"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/first"/> - </initExpression> - </letVariable> - </body> - <loopVariable name="transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </loopVariable> - <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/21/Set(Transition)"> - <source xsi:type="ocl.ecore:VariableExp" name="state" referredVariable="/0/acceptableEvents/state"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex/outgoing"/> - </iterSet> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="		if (newState != m_currentState) {
			m_currentState = newState;
		}"/> - <parameter name="state"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </parameter> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Template" name="acceptableSubEvents" visibility="Public"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="// handle substates
"/> - <body xsi:type="mtl:ForBlock"> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="		// transition "/> - <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="transition" referredVariable="/0/acceptableSubEvents/%.1/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" - trigger: TimeEvent (there should be at most one outgoing timed transition per state).
		if (event.operationID == core::ContainerServices::EventPool::ID_TIMEOUT) {
			newSubState = STATE_"/> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex"/> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableSubEvents/%.1/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/target"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";
"/> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="			executor->"/> - <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:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/> - <source xsi:type="ocl.ecore:VariableExp" name="state" referredVariable="/0/acceptableSubEvents/state"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex/containingStateMachine"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_"/> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableSubEvents/%.1/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_"/> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableSubEvents/%.1/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/effect"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="();
"/> - <ifExpr xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableSubEvents/%.1/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/effect"/> - </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="		}		
"/> - <ifExpr xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Event"/> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - <source xsi:type="ocl.ecore:OperationCallExp" eType="/21/Sequence(Trigger)"> - <source xsi:type="ocl.ecore:PropertyCallExp" eType="/21/Set(Trigger)"> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableSubEvents/%.1/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/trigger"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/asSequence"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/first"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger/event"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/15/TimeEvent"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TimeEvent"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> - </ifExpr> - </body> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="		// transition "/> - <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="self" referredVariable="/85"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" - trigger: CallEvent, operation "/> - <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/21/Bag(String)"> - <source xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/21/Bag(Operation)"> - <source xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/21/Bag(CallEvent)"> - <source xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/21/Bag(Event)"> - <source xsi:type="ocl.ecore:PropertyCallExp" eType="/21/Set(Trigger)"> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableSubEvents/%.1/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/trigger"/> - </source> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Event"/> - <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/acceptableSubEvents/%.1/%.1/collect/collect/collect/collect/temp9"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger/event"/> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp9"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - </iterator> - </source> - <body xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent"/> - <source xsi:type="ocl.ecore:VariableExp" name="temp2" referredVariable="/0/acceptableSubEvents/%.1/%.1/collect/collect/collect/temp10"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Event"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/15/CallEvent"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp10"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Event"/> - </iterator> - </source> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - <source xsi:type="ocl.ecore:VariableExp" name="temp3" referredVariable="/0/acceptableSubEvents/%.1/%.1/collect/collect/temp11"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent/operation"/> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp11"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent"/> - </iterator> - </source> - <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="temp4" referredVariable="/0/acceptableSubEvents/%.1/%.1/collect/temp12"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp12"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </iterator> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
		if (event.operationID == "/> - <body xsi:type="mtl:TemplateInvocation" definition="/0/cetrigger"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Event"/> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - <source xsi:type="ocl.ecore:OperationCallExp" eType="/21/Sequence(Trigger)"> - <source xsi:type="ocl.ecore:PropertyCallExp" eType="/21/Set(Trigger)"> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableSubEvents/%.1/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/trigger"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/asSequence"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/first"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger/event"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/15/CallEvent"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent/operation"/> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=") {
			newSubState = STATE_"/> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex"/> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableSubEvents/%.1/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/target"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";
"/> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="			executor->"/> - <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:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/> - <source xsi:type="ocl.ecore:VariableExp" name="state" referredVariable="/0/acceptableSubEvents/state"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex/containingStateMachine"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_"/> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableSubEvents/%.1/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_"/> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableSubEvents/%.1/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/effect"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="();
"/> - <ifExpr xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableSubEvents/%.1/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/effect"/> - </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="		} 
"/> - <ifExpr xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Event"/> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - <source xsi:type="ocl.ecore:OperationCallExp" eType="/21/Sequence(Trigger)"> - <source xsi:type="ocl.ecore:PropertyCallExp" eType="/21/Set(Trigger)"> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableSubEvents/%.1/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/trigger"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/asSequence"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/first"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger/event"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/15/CallEvent"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> - </ifExpr> - </body> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="		// transition "/> - <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="self" referredVariable="/94"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" - trigger: SignalEvent, signal "/> - <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/21/Bag(String)"> - <source xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/21/Bag(Signal)"> - <source xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/21/Bag(SignalEvent)"> - <source xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/21/Bag(Event)"> - <source xsi:type="ocl.ecore:PropertyCallExp" eType="/21/Set(Trigger)"> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableSubEvents/%.1/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/trigger"/> - </source> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Event"/> - <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/acceptableSubEvents/%.1/%.2/collect/collect/collect/collect/temp13"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger/event"/> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp13"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - </iterator> - </source> - <body xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//SignalEvent"/> - <source xsi:type="ocl.ecore:VariableExp" name="temp2" referredVariable="/0/acceptableSubEvents/%.1/%.2/collect/collect/collect/temp14"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Event"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/15/SignalEvent"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//SignalEvent"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp14"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Event"/> - </iterator> - </source> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Signal"/> - <source xsi:type="ocl.ecore:VariableExp" name="temp3" referredVariable="/0/acceptableSubEvents/%.1/%.2/collect/collect/temp15"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//SignalEvent"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//SignalEvent/signal"/> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp15"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//SignalEvent"/> - </iterator> - </source> - <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="temp4" referredVariable="/0/acceptableSubEvents/%.1/%.2/collect/temp16"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Signal"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp16"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Signal"/> - </iterator> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
		if (event.operationID == SIG_"/> - <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/21/Bag(String)"> - <source xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/21/Bag(Signal)"> - <source xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/21/Bag(SignalEvent)"> - <source xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/21/Bag(Event)"> - <source xsi:type="ocl.ecore:PropertyCallExp" eType="/21/Set(Trigger)"> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableSubEvents/%.1/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/trigger"/> - </source> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Event"/> - <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/acceptableSubEvents/%.1/%.2/collect.1/collect/collect/collect/temp17"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger/event"/> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp17"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - </iterator> - </source> - <body xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//SignalEvent"/> - <source xsi:type="ocl.ecore:VariableExp" name="temp2" referredVariable="/0/acceptableSubEvents/%.1/%.2/collect.1/collect/collect/temp18"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Event"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/15/SignalEvent"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//SignalEvent"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp18"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Event"/> - </iterator> - </source> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Signal"/> - <source xsi:type="ocl.ecore:VariableExp" name="temp3" referredVariable="/0/acceptableSubEvents/%.1/%.2/collect.1/collect/temp19"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//SignalEvent"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//SignalEvent/signal"/> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp19"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//SignalEvent"/> - </iterator> - </source> - <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="temp4" referredVariable="/0/acceptableSubEvents/%.1/%.2/collect.1/temp20"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Signal"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp20"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Signal"/> - </iterator> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=") {
			newSubState = STATE_"/> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex"/> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableSubEvents/%.1/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/target"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=") ;
"/> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="			executor->"/> - <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:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/> - <source xsi:type="ocl.ecore:VariableExp" name="state" referredVariable="/0/acceptableSubEvents/state"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex/containingStateMachine"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_"/> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableSubEvents/%.1/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_"/> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableSubEvents/%.1/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/effect"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="();
"/> - <ifExpr xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableSubEvents/%.1/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/effect"/> - </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="			// ok = EvQUEUE ;
		}
"/> - <ifExpr xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Event"/> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - <source xsi:type="ocl.ecore:OperationCallExp" eType="/21/Sequence(Trigger)"> - <source xsi:type="ocl.ecore:PropertyCallExp" eType="/21/Set(Trigger)"> - <source xsi:type="ocl.ecore:VariableExp" name="transition" referredVariable="/0/acceptableSubEvents/%.1/transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/trigger"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/asSequence"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/first"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger/event"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/15/SignalEvent"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//SignalEvent"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> - </ifExpr> - </body> - <loopVariable name="transition"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </loopVariable> - <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/21/Set(Transition)"> - <source xsi:type="ocl.ecore:VariableExp" name="state" referredVariable="/0/acceptableSubEvents/state"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex/outgoing"/> - </iterSet> - </body> - <parameter name="state"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </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> - <eOperations name="trim"> - <eAnnotations source="MTL non-standard"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eOperations> - <eOperations name="+"> - <eAnnotations source="MTL non-standard"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="other"> - <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - </eParameters> - </eOperations> - </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="cetrigger"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/cetrigger"/> - <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/5.0.0/UML#//Operation"/> - </eParameters> - </eOperations> - <eOperations name="setrigger"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/setrigger"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="trigger"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - </eParameters> - </eOperations> - <eOperations name="acceptableEvents"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/acceptableEvents"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="state"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </eParameters> - </eOperations> - <eOperations name="acceptableSubEvents"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/acceptableSubEvents"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="state"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </eParameters> - </eOperations> - <eOperations name="boundPackageRef"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL"> - <references href="StateMachineUtil.emtl#/0/boundPackageRef"/> - </eAnnotations> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - <eParameters name="actual"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </eParameters> - </eOperations> - <eOperations name="declareDependencyToOperationIDs"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL"> - <references href="StateMachineUtil.emtl#/0/declareDependencyToOperationIDs"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> - <eParameters name="pkg"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </eParameters> - </eOperations> - <eOperations name="implementsInterface"> - <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/implementsInterface"/> - </eAnnotations> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface"/> - <eParameters name="operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </eParameters> - </eOperations> - <eOperations name="literal"> - <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/EnumService.emtl#/0/literal"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="arg1"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eParameters> - <eParameters name="arg2"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eParameters> - </eOperations> - <eOperations name="getDurationFromVSL"> - <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.vsl/org/eclipse/papyrus/qompass/designer/vsl/ParseVSL.emtl#/0/getDurationFromVSL"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> - <eParameters name="nfpDuration"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eParameters> - </eOperations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="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/5.0.0/UML#//Operation"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Trigger_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="State_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Transition_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Type_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Package_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </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/5.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/5.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/5.0.0/UML#//Classifier"/> - </eAnnotations> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//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/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - </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/5.0.0/UML#//Trigger"/> - </ocl.ecore:Variable> - <ecore:EPackage name="types"> - <eClassifiers xsi:type="ocl.ecore:TypeType" name="SignalEvent"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//SignalEvent"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:TypeType" name="TimeEvent"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TimeEvent"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:TypeType" name="OpaqueExpression"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:TypeType" name="State"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:TypeType" name="CallEvent"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </ocl.ecore:Variable> - <ecore:EPackage name="collections"> - <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Transition)" instanceClassName="java.util.Set"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Trigger)" instanceClassName="java.util.Set"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Trigger)" instanceClassName="java.util.List"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Trigger"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(String)" instanceClassName="java.util.List"> - <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:BagType" name="Bag(Event)" instanceClassName="org.eclipse.ocl.util.Bag"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Event"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:BagType" name="Bag(TimeEvent)" instanceClassName="org.eclipse.ocl.util.Bag"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TimeEvent"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:BagType" name="Bag(TimeExpression)" instanceClassName="org.eclipse.ocl.util.Bag"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TimeExpression"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:BagType" name="Bag(ValueSpecification)" instanceClassName="org.eclipse.ocl.util.Bag"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ValueSpecification"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:BagType" name="Bag(OpaqueExpression)" instanceClassName="org.eclipse.ocl.util.Bag"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:BagType" name="Bag(String)" instanceClassName="org.eclipse.ocl.util.Bag"> - <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Region)" instanceClassName="java.util.Set"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Region"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Vertex)" instanceClassName="java.util.Set"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:BagType" name="Bag(Vertex)" instanceClassName="org.eclipse.ocl.util.Bag"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(Property)" instanceClassName="java.util.LinkedHashSet"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Property)" instanceClassName="java.util.Set"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:BagType" name="Bag(CallEvent)" instanceClassName="org.eclipse.ocl.util.Bag"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:BagType" name="Bag(Operation)" instanceClassName="org.eclipse.ocl.util.Bag"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:BagType" name="Bag(SignalEvent)" instanceClassName="org.eclipse.ocl.util.Bag"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//SignalEvent"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:BagType" name="Bag(Signal)" instanceClassName="org.eclipse.ocl.util.Bag"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Signal"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="i"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="i"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="i"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/> - </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> - <ecore:EAnnotation source="positions"> - <eAnnotations source="positions.0" references="/0/%"> - <details key="start" value="465"/> - <details key="end" value="518"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.1" references="/0/%.1"> - <details key="start" value="520"/> - <details key="end" value="682"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.2" references="/0/cetrigger"> - <details key="start" value="683"/> - <details key="end" value="984"/> - <details key="line" value="14"/> - </eAnnotations> - <eAnnotations source="positions.3" references="/0/cetrigger/%"> - <details key="start" value="746"/> - <details key="end" value="747"/> - <details key="line" value="15"/> - </eAnnotations> - <eAnnotations source="positions.4" references="/0/cetrigger/%.1"> - <details key="start" value="748"/> - <details key="end" value="810"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.5" references="/0/cetrigger/%.1/%"> - <details key="start" value="748"/> - <details key="end" value="796"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.6" references="/0/cetrigger/%.1/%/%"> - <details key="start" value="764"/> - <details key="end" value="795"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.7" references="/0/cetrigger/%.1/%/%/operation"> - <details key="start" value="764"/> - <details key="end" value="773"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.8" references="/0/cetrigger/%.2"> - <details key="start" value="812"/> - <details key="end" value="817"/> - <details key="line" value="15"/> - </eAnnotations> - <eAnnotations source="positions.9" references="/0/cetrigger/%.3"> - <details key="start" value="818"/> - <details key="end" value="822"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.10" references="/0/cetrigger/%.3/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.11" references="/0/cetrigger/%.4"> - <details key="start" value="824"/> - <details key="end" value="825"/> - <details key="line" value="16"/> - </eAnnotations> - <eAnnotations source="positions.12" references="/0/cetrigger/%.5"> - <details key="start" value="885"/> - <details key="end" value="886"/> - <details key="line" value="17"/> - </eAnnotations> - <eAnnotations source="positions.13" references="/0/cetrigger/%.6"> - <details key="start" value="887"/> - <details key="end" value="969"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.14" references="/0/cetrigger/%.6/%"> - <details key="start" value="887"/> - <details key="end" value="935"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.15" references="/0/cetrigger/%.6/%/%"> - <details key="start" value="903"/> - <details key="end" value="934"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.16" references="/0/cetrigger/%.6/%/%/operation"> - <details key="start" value="903"/> - <details key="end" value="912"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.17" references="/0/cetrigger/operation"> - <details key="start" value="710"/> - <details key="end" value="730"/> - <details key="line" value="14"/> - </eAnnotations> - <eAnnotations source="positions.18" references="/0/cetrigger/%.7"> - <details key="start" value="737"/> - <details key="end" value="743"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.19" references="/0/cetrigger/%.7/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.20" references="/0/%.2"> - <details key="start" value="986"/> - <details key="end" value="1032"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.21" references="/0/setrigger"> - <details key="start" value="1033"/> - <details key="end" value="1190"/> - <details key="line" value="22"/> - </eAnnotations> - <eAnnotations source="positions.22" references="/0/setrigger/%"> - <details key="start" value="1092"/> - <details key="end" value="1093"/> - <details key="line" value="23"/> - </eAnnotations> - <eAnnotations source="positions.23" references="/0/setrigger/%.1"> - <details key="start" value="1094"/> - <details key="end" value="1176"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.24" references="/0/setrigger/%.1/%"> - <details key="start" value="1102"/> - <details key="end" value="1116"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.25" references="/0/setrigger/%.1/%.1"> - <details key="start" value="1118"/> - <details key="end" value="1175"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.26" references="/0/setrigger/%.1/%.1/%"> - <details key="start" value="1118"/> - <details key="end" value="1124"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.27" references="/0/setrigger/%.1/%.1/%.1"> - <details key="start" value="1127"/> - <details key="end" value="1175"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.28" references="/0/setrigger/%.1/%.1/%.1/%"> - <details key="start" value="1127"/> - <details key="end" value="1170"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.29" references="/0/setrigger/%.1/%.1/%.1/%/%"> - <details key="start" value="1127"/> - <details key="end" value="1163"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.30" references="/0/setrigger/%.1/%.1/%.1/%/%/%"> - <details key="start" value="1127"/> - <details key="end" value="1140"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.31" references="/0/setrigger/%.1/%.1/%.1/%/%/%/trigger"> - <details key="start" value="1127"/> - <details key="end" value="1134"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.32" references="/0/setrigger/%.1/%.1/%.1/%/%/%.1"> - <details key="start" value="1151"/> - <details key="end" value="1162"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.33" references="/0/setrigger/trigger"> - <details key="start" value="1060"/> - <details key="end" value="1076"/> - <details key="line" value="22"/> - </eAnnotations> - <eAnnotations source="positions.34" references="/0/setrigger/%.2"> - <details key="start" value="1083"/> - <details key="end" value="1089"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.35" references="/0/setrigger/%.2/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.36" references="/0/acceptableEvents"> - <details key="start" value="1192"/> - <details key="end" value="4186"/> - <details key="line" value="26"/> - </eAnnotations> - <eAnnotations source="positions.37" references="/0/acceptableEvents/%"> - <details key="start" value="1241"/> - <details key="end" value="1326"/> - <details key="line" value="27"/> - </eAnnotations> - <eAnnotations source="positions.38" references="/0/acceptableEvents/%.1"> - <details key="start" value="1326"/> - <details key="end" value="1807"/> - <details key="line" value="31"/> - </eAnnotations> - <eAnnotations source="positions.39" references="/0/acceptableEvents/%.1/%"> - <details key="start" value="1376"/> - <details key="end" value="1800"/> - <details key="line" value="32"/> - </eAnnotations> - <eAnnotations source="positions.40" references="/0/acceptableEvents/%.1/%/%"> - <details key="start" value="1454"/> - <details key="end" value="1470"/> - <details key="line" value="33"/> - </eAnnotations> - <eAnnotations source="positions.41" references="/0/acceptableEvents/%.1/%/%.1"> - <details key="start" value="1471"/> - <details key="end" value="1475"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.42" references="/0/acceptableEvents/%.1/%/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.43" references="/0/acceptableEvents/%.1/%/%.2"> - <details key="start" value="1477"/> - <details key="end" value="1511"/> - <details key="line" value="33"/> - </eAnnotations> - <eAnnotations source="positions.44" references="/0/acceptableEvents/%.1/%/%.3"> - <details key="start" value="1512"/> - <details key="end" value="1647"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.45" references="/0/acceptableEvents/%.1/%/%.3/%"> - <details key="start" value="1512"/> - <details key="end" value="1638"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.46" references="/0/acceptableEvents/%.1/%/%.3/%/%"> - <details key="start" value="1512"/> - <details key="end" value="1624"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.47" references="/0/acceptableEvents/%.1/%/%.3/%/%/%"> - <details key="start" value="1512"/> - <details key="end" value="1618"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.48" references="/0/acceptableEvents/%.1/%/%.3/%/%/%/%"> - <details key="start" value="1512"/> - <details key="end" value="1590"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.49" references="/0/acceptableEvents/%.1/%/%.3/%/%/%/%/%"> - <details key="start" value="1512"/> - <details key="end" value="1585"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.50" references="/0/acceptableEvents/%.1/%/%.3/%/%/%/%/%/%"> - <details key="start" value="1512"/> - <details key="end" value="1580"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.51" references="/0/acceptableEvents/%.1/%/%.3/%/%/%/%/%/%/%"> - <details key="start" value="1512"/> - <details key="end" value="1559"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.52" references="/0/acceptableEvents/%.1/%/%.3/%/%/%/%/%/%/%/%"> - <details key="start" value="1512"/> - <details key="end" value="1553"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.53" references="/0/acceptableEvents/%.1/%/%.3/%/%/%/%/%/%/%/%/%"> - <details key="start" value="1512"/> - <details key="end" value="1544"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.54" references="/0/acceptableEvents/%.1/%/%.3/%/%/%/%/%/%/%/%/%/%"> - <details key="start" value="1512"/> - <details key="end" value="1530"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.55" references="/0/acceptableEvents/%.1/%/%.3/%/%/%/%/%/%/%/%/%/%/transition"> - <details key="start" value="1512"/> - <details key="end" value="1522"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.56" references="/0/acceptableEvents/%.1/%/%.3/%/%/%/%/%/%/%.1"> - <details key="start" value="1570"/> - <details key="end" value="1579"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.57" references="/0/acceptableEvents/%.1/%/%.3/%/%/%/%.1"> - <details key="start" value="1601"/> - <details key="end" value="1617"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.58" references="/0/acceptableEvents/%.1/%/%.4"> - <details key="start" value="1649"/> - <details key="end" value="1663"/> - <details key="line" value="33"/> - </eAnnotations> - <eAnnotations source="positions.59" references="/0/acceptableEvents/%.1/%/%.5"> - <details key="start" value="1664"/> - <details key="end" value="1785"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.60" references="/0/acceptableEvents/%.1/%/%.5/%"> - <details key="start" value="1683"/> - <details key="end" value="1784"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.61" references="/0/acceptableEvents/%.1/%/%.5/%/%"> - <details key="start" value="1683"/> - <details key="end" value="1775"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.62" references="/0/acceptableEvents/%.1/%/%.5/%/%/collect"> - <details key="start" value="1683"/> - <details key="end" value="1761"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.63" references="/0/acceptableEvents/%.1/%/%.5/%/%/collect/collect"> - <details key="start" value="1683"/> - <details key="end" value="1755"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.64" references="/0/acceptableEvents/%.1/%/%.5/%/%/collect/collect/collect"> - <details key="start" value="1683"/> - <details key="end" value="1727"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.65" references="/0/acceptableEvents/%.1/%/%.5/%/%/collect/collect/collect/collect"> - <details key="start" value="1683"/> - <details key="end" value="1722"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.66" references="/0/acceptableEvents/%.1/%/%.5/%/%/collect/collect/collect/collect/collect"> - <details key="start" value="1683"/> - <details key="end" value="1717"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.67" references="/0/acceptableEvents/%.1/%/%.5/%/%/collect/collect/collect/collect/collect/collect"> - <details key="start" value="1683"/> - <details key="end" value="1696"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.68" references="/0/acceptableEvents/%.1/%/%.5/%/%/collect/collect/collect/collect/collect/collect/%"> - <details key="start" value="1683"/> - <details key="end" value="1690"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.69" references="/0/acceptableEvents/%.1/%/%.5/%/%/collect/collect/collect/collect/collect/collect/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.70" references="/0/acceptableEvents/%.1/%/%.5/%/%/collect/collect/collect/collect/collect/collect/%.1"> - <details key="start" value="1691"/> - <details key="end" value="1696"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.71" references="/0/acceptableEvents/%.1/%/%.5/%/%/collect/collect/collect/collect/collect/collect/%.1/temp1"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.72" references="/0/acceptableEvents/%.1/%/%.5/%/%/collect/collect/collect/collect/collect/collect/temp1"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.73" references="/0/acceptableEvents/%.1/%/%.5/%/%/collect/collect/collect/collect/collect/%"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.74" references="/0/acceptableEvents/%.1/%/%.5/%/%/collect/collect/collect/collect/collect/%/temp2"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.75" references="/0/acceptableEvents/%.1/%/%.5/%/%/collect/collect/collect/collect/collect/%/%"> - <details key="start" value="1707"/> - <details key="end" value="1716"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.76" references="/0/acceptableEvents/%.1/%/%.5/%/%/collect/collect/collect/collect/collect/temp2"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.77" references="/0/acceptableEvents/%.1/%/%.5/%/%/collect/collect/collect/collect/%"> - <details key="start" value="1718"/> - <details key="end" value="1722"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.78" references="/0/acceptableEvents/%.1/%/%.5/%/%/collect/collect/collect/collect/%/temp3"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.79" references="/0/acceptableEvents/%.1/%/%.5/%/%/collect/collect/collect/collect/temp3"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.80" references="/0/acceptableEvents/%.1/%/%.5/%/%/collect/collect/collect/%"> - <details key="start" value="1723"/> - <details key="end" value="1727"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.81" references="/0/acceptableEvents/%.1/%/%.5/%/%/collect/collect/collect/%/temp4"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.82" references="/0/acceptableEvents/%.1/%/%.5/%/%/collect/collect/collect/temp4"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.83" references="/0/acceptableEvents/%.1/%/%.5/%/%/collect/collect/%"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.84" references="/0/acceptableEvents/%.1/%/%.5/%/%/collect/collect/%/temp5"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.85" references="/0/acceptableEvents/%.1/%/%.5/%/%/collect/collect/%/%"> - <details key="start" value="1738"/> - <details key="end" value="1754"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.86" references="/0/acceptableEvents/%.1/%/%.5/%/%/collect/collect/temp5"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.87" references="/0/acceptableEvents/%.1/%/%.5/%/%/collect/%"> - <details key="start" value="1756"/> - <details key="end" value="1761"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.88" references="/0/acceptableEvents/%.1/%/%.5/%/%/collect/%/temp6"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.89" references="/0/acceptableEvents/%.1/%/%.5/%/%/collect/temp6"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.90" references="/0/acceptableEvents/%.1/%/%.6"> - <details key="start" value="1787"/> - <details key="end" value="1794"/> - <details key="line" value="34"/> - </eAnnotations> - <eAnnotations source="positions.91" references="/0/acceptableEvents/%.1/%/%.7"> - <details key="start" value="1380"/> - <details key="end" value="1452"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.92" references="/0/acceptableEvents/%.1/%/%.7/%"> - <details key="start" value="1381"/> - <details key="end" value="1428"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.93" references="/0/acceptableEvents/%.1/%/%.7/%/%"> - <details key="start" value="1381"/> - <details key="end" value="1422"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.94" references="/0/acceptableEvents/%.1/%/%.7/%/%/%"> - <details key="start" value="1381"/> - <details key="end" value="1413"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.95" references="/0/acceptableEvents/%.1/%/%.7/%/%/%/%"> - <details key="start" value="1381"/> - <details key="end" value="1399"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.96" references="/0/acceptableEvents/%.1/%/%.7/%/%/%/%/transition"> - <details key="start" value="1381"/> - <details key="end" value="1391"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.97" references="/0/acceptableEvents/%.1/%/%.7/%.1"> - <details key="start" value="1441"/> - <details key="end" value="1450"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.98" references="/0/acceptableEvents/%.1/transition"> - <details key="start" value="1332"/> - <details key="end" value="1355"/> - <details key="line" value="31"/> - </eAnnotations> - <eAnnotations source="positions.99" references="/0/acceptableEvents/%.1/%.1"> - <details key="start" value="1358"/> - <details key="end" value="1372"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.100" references="/0/acceptableEvents/%.1/%.1/state"> - <details key="start" value="1358"/> - <details key="end" value="1363"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.101" references="/0/acceptableEvents/%.2"> - <details key="start" value="1808"/> - <details key="end" value="2112"/> - <details key="line" value="37"/> - </eAnnotations> - <eAnnotations source="positions.102" references="/0/acceptableEvents/%.3"> - <details key="start" value="2112"/> - <details key="end" value="2293"/> - <details key="line" value="45"/> - </eAnnotations> - <eAnnotations source="positions.103" references="/0/acceptableEvents/%.3/%"> - <details key="start" value="2168"/> - <details key="end" value="2287"/> - <details key="line" value="47"/> - </eAnnotations> - <eAnnotations source="positions.104" references="/0/acceptableEvents/%.3/%/%"> - <details key="start" value="2246"/> - <details key="end" value="2247"/> - <details key="line" value="48"/> - </eAnnotations> - <eAnnotations source="positions.105" references="/0/acceptableEvents/%.3/%/%.1"> - <details key="start" value="2248"/> - <details key="end" value="2278"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.106" references="/0/acceptableEvents/%.3/%/%.1/substate"> - <details key="start" value="2248"/> - <details key="end" value="2256"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.107" references="/0/acceptableEvents/%.3/%/%.2"> - <details key="start" value="2280"/> - <details key="end" value="2281"/> - <details key="line" value="49"/> - </eAnnotations> - <eAnnotations source="positions.108" references="/0/acceptableEvents/%.3/%/substate"> - <details key="start" value="2174"/> - <details key="end" value="2190"/> - <details key="line" value="47"/> - </eAnnotations> - <eAnnotations source="positions.109" references="/0/acceptableEvents/%.3/%/select"> - <details key="start" value="2193"/> - <details key="end" value="2243"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.110" references="/0/acceptableEvents/%.3/%/select/collect"> - <details key="start" value="2193"/> - <details key="end" value="2215"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.111" references="/0/acceptableEvents/%.3/%/select/collect/%"> - <details key="start" value="2193"/> - <details key="end" value="2205"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.112" references="/0/acceptableEvents/%.3/%/select/collect/%/state"> - <details key="start" value="2193"/> - <details key="end" value="2198"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.113" references="/0/acceptableEvents/%.3/%/select/collect/%.1"> - <details key="start" value="2206"/> - <details key="end" value="2215"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.114" references="/0/acceptableEvents/%.3/%/select/collect/%.1/temp1"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.115" references="/0/acceptableEvents/%.3/%/select/collect/temp7"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.116" references="/0/acceptableEvents/%.3/%/select/%"> - <details key="start" value="2224"/> - <details key="end" value="2242"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.117" references="/0/acceptableEvents/%.3/%/select/%/temp2"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.118" references="/0/acceptableEvents/%.3/%/select/%/%"> - <details key="start" value="2236"/> - <details key="end" value="2241"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.119" references="/0/acceptableEvents/%.3/%/select/temp8"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.120" references="/0/acceptableEvents/%.3/%.1"> - <details key="start" value="2116"/> - <details key="end" value="2142"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.121" references="/0/acceptableEvents/%.3/%.1/%"> - <details key="start" value="2117"/> - <details key="end" value="2137"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.122" references="/0/acceptableEvents/%.3/%.1/%/%"> - <details key="start" value="2117"/> - <details key="end" value="2129"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.123" references="/0/acceptableEvents/%.3/%.1/%/%/state"> - <details key="start" value="2117"/> - <details key="end" value="2122"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.124" references="/0/acceptableEvents/%.3/%.1/%.1"> - <details key="start" value="2140"/> - <details key="end" value="2141"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.125" references="/0/acceptableEvents/%.4"> - <details key="start" value="2294"/> - <details key="end" value="2332"/> - <details key="line" value="51"/> - </eAnnotations> - <eAnnotations source="positions.126" references="/0/acceptableEvents/%.5"> - <details key="start" value="2332"/> - <details key="end" value="4104"/> - <details key="line" value="53"/> - </eAnnotations> - <eAnnotations source="positions.127" references="/0/acceptableEvents/%.5/%"> - <details key="start" value="2465"/> - <details key="end" value="4097"/> - <details key="line" value="55"/> - </eAnnotations> - <eAnnotations source="positions.128" references="/0/acceptableEvents/%.5/%/%"> - <details key="start" value="2534"/> - <details key="end" value="2978"/> - <details key="line" value="56"/> - </eAnnotations> - <eAnnotations source="positions.129" references="/0/acceptableEvents/%.5/%/%/%"> - <details key="start" value="2578"/> - <details key="end" value="2594"/> - <details key="line" value="57"/> - </eAnnotations> - <eAnnotations source="positions.130" references="/0/acceptableEvents/%.5/%/%/%.1"> - <details key="start" value="2595"/> - <details key="end" value="2610"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.131" references="/0/acceptableEvents/%.5/%/%/%.1/transition"> - <details key="start" value="2595"/> - <details key="end" value="2605"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.132" references="/0/acceptableEvents/%.5/%/%/%.2"> - <details key="start" value="2612"/> - <details key="end" value="2798"/> - <details key="line" value="57"/> - </eAnnotations> - <eAnnotations source="positions.133" references="/0/acceptableEvents/%.5/%/%/%.3"> - <details key="start" value="2799"/> - <details key="end" value="2821"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.134" references="/0/acceptableEvents/%.5/%/%/%.3/%"> - <details key="start" value="2799"/> - <details key="end" value="2816"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.135" references="/0/acceptableEvents/%.5/%/%/%.3/%/transition"> - <details key="start" value="2799"/> - <details key="end" value="2809"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.136" references="/0/acceptableEvents/%.5/%/%/%.4"> - <details key="start" value="2823"/> - <details key="end" value="2825"/> - <details key="line" value="59"/> - </eAnnotations> - <eAnnotations source="positions.137" references="/0/acceptableEvents/%.5/%/%/%.5"> - <details key="start" value="2825"/> - <details key="end" value="2965"/> - <details key="line" value="60"/> - </eAnnotations> - <eAnnotations source="positions.138" references="/0/acceptableEvents/%.5/%/%/%.5/%"> - <details key="start" value="2860"/> - <details key="end" value="2873"/> - <details key="line" value="60"/> - </eAnnotations> - <eAnnotations source="positions.139" references="/0/acceptableEvents/%.5/%/%/%.5/%.1"> - <details key="start" value="2874"/> - <details key="end" value="2909"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.140" references="/0/acceptableEvents/%.5/%/%/%.5/%.1/%"> - <details key="start" value="2874"/> - <details key="end" value="2904"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.141" references="/0/acceptableEvents/%.5/%/%/%.5/%.1/%/state"> - <details key="start" value="2874"/> - <details key="end" value="2879"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.142" references="/0/acceptableEvents/%.5/%/%/%.5/%.2"> - <details key="start" value="2911"/> - <details key="end" value="2912"/> - <details key="line" value="60"/> - </eAnnotations> - <eAnnotations source="positions.143" references="/0/acceptableEvents/%.5/%/%/%.5/%.3"> - <details key="start" value="2913"/> - <details key="end" value="2928"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.144" references="/0/acceptableEvents/%.5/%/%/%.5/%.3/transition"> - <details key="start" value="2913"/> - <details key="end" value="2923"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.145" references="/0/acceptableEvents/%.5/%/%/%.5/%.4"> - <details key="start" value="2930"/> - <details key="end" value="2931"/> - <details key="line" value="60"/> - </eAnnotations> - <eAnnotations source="positions.146" references="/0/acceptableEvents/%.5/%/%/%.5/%.5"> - <details key="start" value="2932"/> - <details key="end" value="2954"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.147" references="/0/acceptableEvents/%.5/%/%/%.5/%.5/%"> - <details key="start" value="2932"/> - <details key="end" value="2949"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.148" references="/0/acceptableEvents/%.5/%/%/%.5/%.5/%/transition"> - <details key="start" value="2932"/> - <details key="end" value="2942"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.149" references="/0/acceptableEvents/%.5/%/%/%.5/%.6"> - <details key="start" value="2956"/> - <details key="end" value="2960"/> - <details key="line" value="60"/> - </eAnnotations> - <eAnnotations source="positions.150" references="/0/acceptableEvents/%.5/%/%/%.5/%.7"> - <details key="start" value="2829"/> - <details key="end" value="2859"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.151" references="/0/acceptableEvents/%.5/%/%/%.5/%.7/%"> - <details key="start" value="2833"/> - <details key="end" value="2859"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.152" references="/0/acceptableEvents/%.5/%/%/%.5/%.7/%/%"> - <details key="start" value="2834"/> - <details key="end" value="2851"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.153" references="/0/acceptableEvents/%.5/%/%/%.5/%.7/%/%/transition"> - <details key="start" value="2834"/> - <details key="end" value="2844"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.154" references="/0/acceptableEvents/%.5/%/%/%.5/%.7/%/%.1"> - <details key="start" value="2854"/> - <details key="end" value="2858"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.155" references="/0/acceptableEvents/%.5/%/%/%.6"> - <details key="start" value="2966"/> - <details key="end" value="2972"/> - <details key="line" value="62"/> - </eAnnotations> - <eAnnotations source="positions.156" references="/0/acceptableEvents/%.5/%/%/%.7"> - <details key="start" value="2538"/> - <details key="end" value="2576"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.157" references="/0/acceptableEvents/%.5/%/%/%.7/%"> - <details key="start" value="2539"/> - <details key="end" value="2552"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.158" references="/0/acceptableEvents/%.5/%/%/%.7/%/trigger"> - <details key="start" value="2539"/> - <details key="end" value="2546"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.159" references="/0/acceptableEvents/%.5/%/%/%.7/%.1"> - <details key="start" value="2565"/> - <details key="end" value="2574"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.160" references="/0/acceptableEvents/%.5/%/%.1"> - <details key="start" value="2980"/> - <details key="end" value="3446"/> - <details key="line" value="64"/> - </eAnnotations> - <eAnnotations source="positions.161" references="/0/acceptableEvents/%.5/%/%.1/%"> - <details key="start" value="3025"/> - <details key="end" value="3041"/> - <details key="line" value="64"/> - </eAnnotations> - <eAnnotations source="positions.162" references="/0/acceptableEvents/%.5/%/%.1/%.1"> - <details key="start" value="3042"/> - <details key="end" value="3046"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.163" references="/0/acceptableEvents/%.5/%/%.1/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.164" references="/0/acceptableEvents/%.5/%/%.1/%.2"> - <details key="start" value="3048"/> - <details key="end" value="3071"/> - <details key="line" value="65"/> - </eAnnotations> - <eAnnotations source="positions.165" references="/0/acceptableEvents/%.5/%/%.1/%.3"> - <details key="start" value="3072"/> - <details key="end" value="3090"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.166" references="/0/acceptableEvents/%.5/%/%.1/%.3/%"> - <details key="start" value="3072"/> - <details key="end" value="3085"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.167" references="/0/acceptableEvents/%.5/%/%.1/%.3/%/trigger"> - <details key="start" value="3072"/> - <details key="end" value="3079"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.168" references="/0/acceptableEvents/%.5/%/%.1/%.4"> - <details key="start" value="3092"/> - <details key="end" value="3105"/> - <details key="line" value="65"/> - </eAnnotations> - <eAnnotations source="positions.169" references="/0/acceptableEvents/%.5/%/%.1/%.5"> - <details key="start" value="3106"/> - <details key="end" value="3155"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.170" references="/0/acceptableEvents/%.5/%/%.1/%.5/%"> - <details key="start" value="3106"/> - <details key="end" value="3150"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.171" references="/0/acceptableEvents/%.5/%/%.1/%.5/%/%"> - <details key="start" value="3106"/> - <details key="end" value="3140"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.172" references="/0/acceptableEvents/%.5/%/%.1/%.5/%/%/%"> - <details key="start" value="3106"/> - <details key="end" value="3119"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.173" references="/0/acceptableEvents/%.5/%/%.1/%.5/%/%/%/trigger"> - <details key="start" value="3106"/> - <details key="end" value="3113"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.174" references="/0/acceptableEvents/%.5/%/%.1/%.5/%/%/%.1"> - <details key="start" value="3130"/> - <details key="end" value="3139"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.175" references="/0/acceptableEvents/%.5/%/%.1/%.6"> - <details key="start" value="3157"/> - <details key="end" value="3185"/> - <details key="line" value="66"/> - </eAnnotations> - <eAnnotations source="positions.176" references="/0/acceptableEvents/%.5/%/%.1/%.7"> - <details key="start" value="3186"/> - <details key="end" value="3241"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.177" references="/0/acceptableEvents/%.5/%/%.1/%.7/%"> - <details key="start" value="3196"/> - <details key="end" value="3240"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.178" references="/0/acceptableEvents/%.5/%/%.1/%.7/%/%"> - <details key="start" value="3196"/> - <details key="end" value="3230"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.179" references="/0/acceptableEvents/%.5/%/%.1/%.7/%/%/%"> - <details key="start" value="3196"/> - <details key="end" value="3209"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.180" references="/0/acceptableEvents/%.5/%/%.1/%.7/%/%/%/trigger"> - <details key="start" value="3196"/> - <details key="end" value="3203"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.181" references="/0/acceptableEvents/%.5/%/%.1/%.7/%/%/%.1"> - <details key="start" value="3220"/> - <details key="end" value="3229"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.182" references="/0/acceptableEvents/%.5/%/%.1/%.8"> - <details key="start" value="3243"/> - <details key="end" value="3267"/> - <details key="line" value="66"/> - </eAnnotations> - <eAnnotations source="positions.183" references="/0/acceptableEvents/%.5/%/%.1/%.9"> - <details key="start" value="3268"/> - <details key="end" value="3290"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.184" references="/0/acceptableEvents/%.5/%/%.1/%.9/%"> - <details key="start" value="3268"/> - <details key="end" value="3285"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.185" references="/0/acceptableEvents/%.5/%/%.1/%.9/%/transition"> - <details key="start" value="3268"/> - <details key="end" value="3278"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.186" references="/0/acceptableEvents/%.5/%/%.1/%.10"> - <details key="start" value="3292"/> - <details key="end" value="3294"/> - <details key="line" value="67"/> - </eAnnotations> - <eAnnotations source="positions.187" references="/0/acceptableEvents/%.5/%/%.1/%.11"> - <details key="start" value="3294"/> - <details key="end" value="3434"/> - <details key="line" value="68"/> - </eAnnotations> - <eAnnotations source="positions.188" references="/0/acceptableEvents/%.5/%/%.1/%.11/%"> - <details key="start" value="3329"/> - <details key="end" value="3342"/> - <details key="line" value="68"/> - </eAnnotations> - <eAnnotations source="positions.189" references="/0/acceptableEvents/%.5/%/%.1/%.11/%.1"> - <details key="start" value="3343"/> - <details key="end" value="3378"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.190" references="/0/acceptableEvents/%.5/%/%.1/%.11/%.1/%"> - <details key="start" value="3343"/> - <details key="end" value="3373"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.191" references="/0/acceptableEvents/%.5/%/%.1/%.11/%.1/%/state"> - <details key="start" value="3343"/> - <details key="end" value="3348"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.192" references="/0/acceptableEvents/%.5/%/%.1/%.11/%.2"> - <details key="start" value="3380"/> - <details key="end" value="3381"/> - <details key="line" value="68"/> - </eAnnotations> - <eAnnotations source="positions.193" references="/0/acceptableEvents/%.5/%/%.1/%.11/%.3"> - <details key="start" value="3382"/> - <details key="end" value="3397"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.194" references="/0/acceptableEvents/%.5/%/%.1/%.11/%.3/transition"> - <details key="start" value="3382"/> - <details key="end" value="3392"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.195" references="/0/acceptableEvents/%.5/%/%.1/%.11/%.4"> - <details key="start" value="3399"/> - <details key="end" value="3400"/> - <details key="line" value="68"/> - </eAnnotations> - <eAnnotations source="positions.196" references="/0/acceptableEvents/%.5/%/%.1/%.11/%.5"> - <details key="start" value="3401"/> - <details key="end" value="3423"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.197" references="/0/acceptableEvents/%.5/%/%.1/%.11/%.5/%"> - <details key="start" value="3401"/> - <details key="end" value="3418"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.198" references="/0/acceptableEvents/%.5/%/%.1/%.11/%.5/%/transition"> - <details key="start" value="3401"/> - <details key="end" value="3411"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.199" references="/0/acceptableEvents/%.5/%/%.1/%.11/%.6"> - <details key="start" value="3425"/> - <details key="end" value="3429"/> - <details key="line" value="68"/> - </eAnnotations> - <eAnnotations source="positions.200" references="/0/acceptableEvents/%.5/%/%.1/%.11/%.7"> - <details key="start" value="3298"/> - <details key="end" value="3328"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.201" references="/0/acceptableEvents/%.5/%/%.1/%.11/%.7/%"> - <details key="start" value="3302"/> - <details key="end" value="3328"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.202" references="/0/acceptableEvents/%.5/%/%.1/%.11/%.7/%/%"> - <details key="start" value="3303"/> - <details key="end" value="3320"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.203" references="/0/acceptableEvents/%.5/%/%.1/%.11/%.7/%/%/transition"> - <details key="start" value="3303"/> - <details key="end" value="3313"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.204" references="/0/acceptableEvents/%.5/%/%.1/%.11/%.7/%/%.1"> - <details key="start" value="3323"/> - <details key="end" value="3327"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.205" references="/0/acceptableEvents/%.5/%/%.1/%.12"> - <details key="start" value="3435"/> - <details key="end" value="3440"/> - <details key="line" value="70"/> - </eAnnotations> - <eAnnotations source="positions.206" references="/0/acceptableEvents/%.5/%/%.1/%.13"> - <details key="start" value="2984"/> - <details key="end" value="3022"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.207" references="/0/acceptableEvents/%.5/%/%.1/%.13/%"> - <details key="start" value="2985"/> - <details key="end" value="2998"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.208" references="/0/acceptableEvents/%.5/%/%.1/%.13/%/trigger"> - <details key="start" value="2985"/> - <details key="end" value="2992"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.209" references="/0/acceptableEvents/%.5/%/%.1/%.13/%.1"> - <details key="start" value="3011"/> - <details key="end" value="3020"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.210" references="/0/acceptableEvents/%.5/%/%.2"> - <details key="start" value="3448"/> - <details key="end" value="4089"/> - <details key="line" value="72"/> - </eAnnotations> - <eAnnotations source="positions.211" references="/0/acceptableEvents/%.5/%/%.2/%"> - <details key="start" value="3497"/> - <details key="end" value="4082"/> - <details key="line" value="73"/> - </eAnnotations> - <eAnnotations source="positions.212" references="/0/acceptableEvents/%.5/%/%.2/%/%"> - <details key="start" value="3568"/> - <details key="end" value="3584"/> - <details key="line" value="74"/> - </eAnnotations> - <eAnnotations source="positions.213" references="/0/acceptableEvents/%.5/%/%.2/%/%.1"> - <details key="start" value="3585"/> - <details key="end" value="3589"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.214" references="/0/acceptableEvents/%.5/%/%.2/%/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.215" references="/0/acceptableEvents/%.5/%/%.2/%/%.2"> - <details key="start" value="3591"/> - <details key="end" value="3616"/> - <details key="line" value="74"/> - </eAnnotations> - <eAnnotations source="positions.216" references="/0/acceptableEvents/%.5/%/%.2/%/%.3"> - <details key="start" value="3617"/> - <details key="end" value="3633"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.217" references="/0/acceptableEvents/%.5/%/%.2/%/%.3/signalEvent"> - <details key="start" value="3617"/> - <details key="end" value="3628"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.218" references="/0/acceptableEvents/%.5/%/%.2/%/%.4"> - <details key="start" value="3635"/> - <details key="end" value="3645"/> - <details key="line" value="74"/> - </eAnnotations> - <eAnnotations source="positions.219" references="/0/acceptableEvents/%.5/%/%.2/%/%.5"> - <details key="start" value="3646"/> - <details key="end" value="3669"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.220" references="/0/acceptableEvents/%.5/%/%.2/%/%.5/%"> - <details key="start" value="3646"/> - <details key="end" value="3664"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.221" references="/0/acceptableEvents/%.5/%/%.2/%/%.5/%/signalEvent"> - <details key="start" value="3646"/> - <details key="end" value="3657"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.222" references="/0/acceptableEvents/%.5/%/%.2/%/%.6"> - <details key="start" value="3671"/> - <details key="end" value="3699"/> - <details key="line" value="75"/> - </eAnnotations> - <eAnnotations source="positions.223" references="/0/acceptableEvents/%.5/%/%.2/%/%.7"> - <details key="start" value="3700"/> - <details key="end" value="3718"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.224" references="/0/acceptableEvents/%.5/%/%.2/%/%.7/trigger"> - <details key="start" value="3710"/> - <details key="end" value="3717"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.225" references="/0/acceptableEvents/%.5/%/%.2/%/%.8"> - <details key="start" value="3720"/> - <details key="end" value="3744"/> - <details key="line" value="75"/> - </eAnnotations> - <eAnnotations source="positions.226" references="/0/acceptableEvents/%.5/%/%.2/%/%.9"> - <details key="start" value="3745"/> - <details key="end" value="3767"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.227" references="/0/acceptableEvents/%.5/%/%.2/%/%.9/%"> - <details key="start" value="3745"/> - <details key="end" value="3762"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.228" references="/0/acceptableEvents/%.5/%/%.2/%/%.9/%/transition"> - <details key="start" value="3745"/> - <details key="end" value="3755"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.229" references="/0/acceptableEvents/%.5/%/%.2/%/%.10"> - <details key="start" value="3769"/> - <details key="end" value="3771"/> - <details key="line" value="76"/> - </eAnnotations> - <eAnnotations source="positions.230" references="/0/acceptableEvents/%.5/%/%.2/%/%.11"> - <details key="start" value="3771"/> - <details key="end" value="4048"/> - <details key="line" value="77"/> - </eAnnotations> - <eAnnotations source="positions.231" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%"> - <details key="start" value="3809"/> - <details key="end" value="3886"/> - <details key="line" value="77"/> - </eAnnotations> - <eAnnotations source="positions.232" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%/%"> - <details key="start" value="3854"/> - <details key="end" value="3881"/> - <details key="line" value="77"/> - </eAnnotations> - <eAnnotations source="positions.233" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%/%.1"> - <details key="start" value="3813"/> - <details key="end" value="3853"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.234" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%/%.1/%"> - <details key="start" value="3813"/> - <details key="end" value="3849"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.235" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%/%.1/%/%"> - <details key="start" value="3813"/> - <details key="end" value="3841"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.236" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%/%.1/%/%/%"> - <details key="start" value="3813"/> - <details key="end" value="3831"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.237" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%/%.1/%/%/%/signalEvent"> - <details key="start" value="3813"/> - <details key="end" value="3824"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.238" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%/%.1/%.1"> - <details key="start" value="3852"/> - <details key="end" value="3853"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.239" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%.1"> - <details key="start" value="3886"/> - <details key="end" value="3901"/> - <details key="line" value="77"/> - </eAnnotations> - <eAnnotations source="positions.240" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%.2"> - <details key="start" value="3902"/> - <details key="end" value="3937"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.241" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%.2/%"> - <details key="start" value="3902"/> - <details key="end" value="3932"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.242" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%.2/%/state"> - <details key="start" value="3902"/> - <details key="end" value="3907"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.243" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%.3"> - <details key="start" value="3939"/> - <details key="end" value="3940"/> - <details key="line" value="78"/> - </eAnnotations> - <eAnnotations source="positions.244" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%.4"> - <details key="start" value="3941"/> - <details key="end" value="3956"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.245" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%.4/transition"> - <details key="start" value="3941"/> - <details key="end" value="3951"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.246" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%.5"> - <details key="start" value="3958"/> - <details key="end" value="3959"/> - <details key="line" value="78"/> - </eAnnotations> - <eAnnotations source="positions.247" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%.6"> - <details key="start" value="3960"/> - <details key="end" value="3982"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.248" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%.6/%"> - <details key="start" value="3960"/> - <details key="end" value="3977"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.249" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%.6/%/transition"> - <details key="start" value="3960"/> - <details key="end" value="3970"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.250" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%.7"> - <details key="start" value="3984"/> - <details key="end" value="3985"/> - <details key="line" value="78"/> - </eAnnotations> - <eAnnotations source="positions.251" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%.8"> - <details key="start" value="3985"/> - <details key="end" value="4039"/> - <details key="line" value="78"/> - </eAnnotations> - <eAnnotations source="positions.252" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%.8/%"> - <details key="start" value="4030"/> - <details key="end" value="4034"/> - <details key="line" value="78"/> - </eAnnotations> - <eAnnotations source="positions.253" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%.8/%.1"> - <details key="start" value="3989"/> - <details key="end" value="4029"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.254" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%.8/%.1/%"> - <details key="start" value="3989"/> - <details key="end" value="4025"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.255" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%.8/%.1/%/%"> - <details key="start" value="3989"/> - <details key="end" value="4017"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.256" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%.8/%.1/%/%/%"> - <details key="start" value="3989"/> - <details key="end" value="4007"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.257" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%.8/%.1/%/%/%/signalEvent"> - <details key="start" value="3989"/> - <details key="end" value="4000"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.258" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%.8/%.1/%.1"> - <details key="start" value="4028"/> - <details key="end" value="4029"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.259" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%.9"> - <details key="start" value="4039"/> - <details key="end" value="4043"/> - <details key="line" value="78"/> - </eAnnotations> - <eAnnotations source="positions.260" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%.10"> - <details key="start" value="3775"/> - <details key="end" value="3805"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.261" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%.10/%"> - <details key="start" value="3779"/> - <details key="end" value="3805"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.262" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%.10/%/%"> - <details key="start" value="3780"/> - <details key="end" value="3797"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.263" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%.10/%/%/transition"> - <details key="start" value="3780"/> - <details key="end" value="3790"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.264" references="/0/acceptableEvents/%.5/%/%.2/%/%.11/%.10/%/%.1"> - <details key="start" value="3800"/> - <details key="end" value="3804"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.265" references="/0/acceptableEvents/%.5/%/%.2/%/%.12"> - <details key="start" value="4049"/> - <details key="end" value="4074"/> - <details key="line" value="81"/> - </eAnnotations> - <eAnnotations source="positions.266" references="/0/acceptableEvents/%.5/%/%.2/%/signalEvent"> - <details key="start" value="3502"/> - <details key="end" value="3566"/> - <details key="line" value="73"/> - </eAnnotations> - <eAnnotations source="positions.267" references="/0/acceptableEvents/%.5/%/%.2/%/signalEvent/%"> - <details key="start" value="3531"/> - <details key="end" value="3567"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.268" references="/0/acceptableEvents/%.5/%/%.2/%/signalEvent/%/%"> - <details key="start" value="3531"/> - <details key="end" value="3544"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.269" references="/0/acceptableEvents/%.5/%/%.2/%/signalEvent/%/%/trigger"> - <details key="start" value="3531"/> - <details key="end" value="3538"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.270" references="/0/acceptableEvents/%.5/%/%.2/%/signalEvent/%/%.1"> - <details key="start" value="3555"/> - <details key="end" value="3566"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.271" references="/0/acceptableEvents/%.5/%/%.2/%.1"> - <details key="start" value="3452"/> - <details key="end" value="3492"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.272" references="/0/acceptableEvents/%.5/%/%.2/%.1/%"> - <details key="start" value="3453"/> - <details key="end" value="3466"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.273" references="/0/acceptableEvents/%.5/%/%.2/%.1/%/trigger"> - <details key="start" value="3453"/> - <details key="end" value="3460"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.274" references="/0/acceptableEvents/%.5/%/%.2/%.1/%.1"> - <details key="start" value="3479"/> - <details key="end" value="3490"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.275" references="/0/acceptableEvents/%.5/%/trigger"> - <details key="start" value="2470"/> - <details key="end" value="2531"/> - <details key="line" value="55"/> - </eAnnotations> - <eAnnotations source="positions.276" references="/0/acceptableEvents/%.5/%/trigger/%"> - <details key="start" value="2491"/> - <details key="end" value="2532"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.277" references="/0/acceptableEvents/%.5/%/trigger/%/%"> - <details key="start" value="2491"/> - <details key="end" value="2523"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.278" references="/0/acceptableEvents/%.5/%/trigger/%/%/%"> - <details key="start" value="2491"/> - <details key="end" value="2509"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.279" references="/0/acceptableEvents/%.5/%/trigger/%/%/%/transition"> - <details key="start" value="2491"/> - <details key="end" value="2501"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.280" references="/0/acceptableEvents/%.5/transition"> - <details key="start" value="2338"/> - <details key="end" value="2361"/> - <details key="line" value="53"/> - </eAnnotations> - <eAnnotations source="positions.281" references="/0/acceptableEvents/%.5/%.1"> - <details key="start" value="2364"/> - <details key="end" value="2378"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.282" references="/0/acceptableEvents/%.5/%.1/state"> - <details key="start" value="2364"/> - <details key="end" value="2369"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.283" references="/0/acceptableEvents/%.6"> - <details key="start" value="4105"/> - <details key="end" value="4174"/> - <details key="line" value="87"/> - </eAnnotations> - <eAnnotations source="positions.284" references="/0/acceptableEvents/state"> - <details key="start" value="1226"/> - <details key="end" value="1238"/> - <details key="line" value="26"/> - </eAnnotations> - <eAnnotations source="positions.285" references="/0/acceptableSubEvents"> - <details key="start" value="4188"/> - <details key="end" value="5941"/> - <details key="line" value="92"/> - </eAnnotations> - <eAnnotations source="positions.286" references="/0/acceptableSubEvents/%"> - <details key="start" value="4240"/> - <details key="end" value="4260"/> - <details key="line" value="93"/> - </eAnnotations> - <eAnnotations source="positions.287" references="/0/acceptableSubEvents/%.1"> - <details key="start" value="4260"/> - <details key="end" value="5929"/> - <details key="line" value="94"/> - </eAnnotations> - <eAnnotations source="positions.288" references="/0/acceptableSubEvents/%.1/%"> - <details key="start" value="4393"/> - <details key="end" value="4874"/> - <details key="line" value="96"/> - </eAnnotations> - <eAnnotations source="positions.289" references="/0/acceptableSubEvents/%.1/%/%"> - <details key="start" value="4471"/> - <details key="end" value="4487"/> - <details key="line" value="97"/> - </eAnnotations> - <eAnnotations source="positions.290" references="/0/acceptableSubEvents/%.1/%/%.1"> - <details key="start" value="4488"/> - <details key="end" value="4503"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.291" references="/0/acceptableSubEvents/%.1/%/%.1/transition"> - <details key="start" value="4488"/> - <details key="end" value="4498"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.292" references="/0/acceptableSubEvents/%.1/%/%.2"> - <details key="start" value="4505"/> - <details key="end" value="4694"/> - <details key="line" value="97"/> - </eAnnotations> - <eAnnotations source="positions.293" references="/0/acceptableSubEvents/%.1/%/%.3"> - <details key="start" value="4695"/> - <details key="end" value="4717"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.294" references="/0/acceptableSubEvents/%.1/%/%.3/%"> - <details key="start" value="4695"/> - <details key="end" value="4712"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.295" references="/0/acceptableSubEvents/%.1/%/%.3/%/transition"> - <details key="start" value="4695"/> - <details key="end" value="4705"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.296" references="/0/acceptableSubEvents/%.1/%/%.4"> - <details key="start" value="4719"/> - <details key="end" value="4721"/> - <details key="line" value="99"/> - </eAnnotations> - <eAnnotations source="positions.297" references="/0/acceptableSubEvents/%.1/%/%.5"> - <details key="start" value="4721"/> - <details key="end" value="4861"/> - <details key="line" value="100"/> - </eAnnotations> - <eAnnotations source="positions.298" references="/0/acceptableSubEvents/%.1/%/%.5/%"> - <details key="start" value="4756"/> - <details key="end" value="4769"/> - <details key="line" value="100"/> - </eAnnotations> - <eAnnotations source="positions.299" references="/0/acceptableSubEvents/%.1/%/%.5/%.1"> - <details key="start" value="4770"/> - <details key="end" value="4805"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.300" references="/0/acceptableSubEvents/%.1/%/%.5/%.1/%"> - <details key="start" value="4770"/> - <details key="end" value="4800"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.301" references="/0/acceptableSubEvents/%.1/%/%.5/%.1/%/state"> - <details key="start" value="4770"/> - <details key="end" value="4775"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.302" references="/0/acceptableSubEvents/%.1/%/%.5/%.2"> - <details key="start" value="4807"/> - <details key="end" value="4808"/> - <details key="line" value="100"/> - </eAnnotations> - <eAnnotations source="positions.303" references="/0/acceptableSubEvents/%.1/%/%.5/%.3"> - <details key="start" value="4809"/> - <details key="end" value="4824"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.304" references="/0/acceptableSubEvents/%.1/%/%.5/%.3/transition"> - <details key="start" value="4809"/> - <details key="end" value="4819"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.305" references="/0/acceptableSubEvents/%.1/%/%.5/%.4"> - <details key="start" value="4826"/> - <details key="end" value="4827"/> - <details key="line" value="100"/> - </eAnnotations> - <eAnnotations source="positions.306" references="/0/acceptableSubEvents/%.1/%/%.5/%.5"> - <details key="start" value="4828"/> - <details key="end" value="4850"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.307" references="/0/acceptableSubEvents/%.1/%/%.5/%.5/%"> - <details key="start" value="4828"/> - <details key="end" value="4845"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.308" references="/0/acceptableSubEvents/%.1/%/%.5/%.5/%/transition"> - <details key="start" value="4828"/> - <details key="end" value="4838"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.309" references="/0/acceptableSubEvents/%.1/%/%.5/%.6"> - <details key="start" value="4852"/> - <details key="end" value="4856"/> - <details key="line" value="100"/> - </eAnnotations> - <eAnnotations source="positions.310" references="/0/acceptableSubEvents/%.1/%/%.5/%.7"> - <details key="start" value="4725"/> - <details key="end" value="4755"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.311" references="/0/acceptableSubEvents/%.1/%/%.5/%.7/%"> - <details key="start" value="4729"/> - <details key="end" value="4755"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.312" references="/0/acceptableSubEvents/%.1/%/%.5/%.7/%/%"> - <details key="start" value="4730"/> - <details key="end" value="4747"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.313" references="/0/acceptableSubEvents/%.1/%/%.5/%.7/%/%/transition"> - <details key="start" value="4730"/> - <details key="end" value="4740"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.314" references="/0/acceptableSubEvents/%.1/%/%.5/%.7/%/%.1"> - <details key="start" value="4750"/> - <details key="end" value="4754"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.315" references="/0/acceptableSubEvents/%.1/%/%.6"> - <details key="start" value="4862"/> - <details key="end" value="4868"/> - <details key="line" value="102"/> - </eAnnotations> - <eAnnotations source="positions.316" references="/0/acceptableSubEvents/%.1/%/%.7"> - <details key="start" value="4397"/> - <details key="end" value="4469"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.317" references="/0/acceptableSubEvents/%.1/%/%.7/%"> - <details key="start" value="4398"/> - <details key="end" value="4445"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.318" references="/0/acceptableSubEvents/%.1/%/%.7/%/%"> - <details key="start" value="4398"/> - <details key="end" value="4439"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.319" references="/0/acceptableSubEvents/%.1/%/%.7/%/%/%"> - <details key="start" value="4398"/> - <details key="end" value="4430"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.320" references="/0/acceptableSubEvents/%.1/%/%.7/%/%/%/%"> - <details key="start" value="4398"/> - <details key="end" value="4416"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.321" references="/0/acceptableSubEvents/%.1/%/%.7/%/%/%/%/transition"> - <details key="start" value="4398"/> - <details key="end" value="4408"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.322" references="/0/acceptableSubEvents/%.1/%/%.7/%.1"> - <details key="start" value="4458"/> - <details key="end" value="4467"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.323" references="/0/acceptableSubEvents/%.1/%.1"> - <details key="start" value="4876"/> - <details key="end" value="5400"/> - <details key="line" value="104"/> - </eAnnotations> - <eAnnotations source="positions.324" references="/0/acceptableSubEvents/%.1/%.1/%"> - <details key="start" value="4955"/> - <details key="end" value="4971"/> - <details key="line" value="104"/> - </eAnnotations> - <eAnnotations source="positions.325" references="/0/acceptableSubEvents/%.1/%.1/%.1"> - <details key="start" value="4972"/> - <details key="end" value="4976"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.326" references="/0/acceptableSubEvents/%.1/%.1/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.327" references="/0/acceptableSubEvents/%.1/%.1/%.2"> - <details key="start" value="4978"/> - <details key="end" value="5011"/> - <details key="line" value="105"/> - </eAnnotations> - <eAnnotations source="positions.328" references="/0/acceptableSubEvents/%.1/%.1/collect"> - <details key="start" value="5012"/> - <details key="end" value="5072"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.329" references="/0/acceptableSubEvents/%.1/%.1/collect/collect"> - <details key="start" value="5012"/> - <details key="end" value="5067"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.330" references="/0/acceptableSubEvents/%.1/%.1/collect/collect/collect"> - <details key="start" value="5012"/> - <details key="end" value="5057"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.331" references="/0/acceptableSubEvents/%.1/%.1/collect/collect/collect/collect"> - <details key="start" value="5012"/> - <details key="end" value="5036"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.332" references="/0/acceptableSubEvents/%.1/%.1/collect/collect/collect/collect/%"> - <details key="start" value="5012"/> - <details key="end" value="5030"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.333" references="/0/acceptableSubEvents/%.1/%.1/collect/collect/collect/collect/%/transition"> - <details key="start" value="5012"/> - <details key="end" value="5022"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.334" references="/0/acceptableSubEvents/%.1/%.1/collect/collect/collect/collect/%.1"> - <details key="start" value="5031"/> - <details key="end" value="5036"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.335" references="/0/acceptableSubEvents/%.1/%.1/collect/collect/collect/collect/%.1/temp1"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.336" references="/0/acceptableSubEvents/%.1/%.1/collect/collect/collect/collect/temp9"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.337" references="/0/acceptableSubEvents/%.1/%.1/collect/collect/collect/%"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.338" references="/0/acceptableSubEvents/%.1/%.1/collect/collect/collect/%/temp2"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.339" references="/0/acceptableSubEvents/%.1/%.1/collect/collect/collect/%/%"> - <details key="start" value="5047"/> - <details key="end" value="5056"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.340" references="/0/acceptableSubEvents/%.1/%.1/collect/collect/collect/temp10"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.341" references="/0/acceptableSubEvents/%.1/%.1/collect/collect/%"> - <details key="start" value="5058"/> - <details key="end" value="5067"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.342" references="/0/acceptableSubEvents/%.1/%.1/collect/collect/%/temp3"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.343" references="/0/acceptableSubEvents/%.1/%.1/collect/collect/temp11"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.344" references="/0/acceptableSubEvents/%.1/%.1/collect/%"> - <details key="start" value="5068"/> - <details key="end" value="5072"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.345" references="/0/acceptableSubEvents/%.1/%.1/collect/%/temp4"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.346" references="/0/acceptableSubEvents/%.1/%.1/collect/temp12"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.347" references="/0/acceptableSubEvents/%.1/%.1/%.3"> - <details key="start" value="5074"/> - <details key="end" value="5102"/> - <details key="line" value="106"/> - </eAnnotations> - <eAnnotations source="positions.348" references="/0/acceptableSubEvents/%.1/%.1/%.4"> - <details key="start" value="5103"/> - <details key="end" value="5192"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.349" references="/0/acceptableSubEvents/%.1/%.1/%.4/%"> - <details key="start" value="5113"/> - <details key="end" value="5191"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.350" references="/0/acceptableSubEvents/%.1/%.1/%.4/%/%"> - <details key="start" value="5113"/> - <details key="end" value="5181"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.351" references="/0/acceptableSubEvents/%.1/%.1/%.4/%/%/%"> - <details key="start" value="5113"/> - <details key="end" value="5160"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.352" references="/0/acceptableSubEvents/%.1/%.1/%.4/%/%/%/%"> - <details key="start" value="5113"/> - <details key="end" value="5154"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.353" references="/0/acceptableSubEvents/%.1/%.1/%.4/%/%/%/%/%"> - <details key="start" value="5113"/> - <details key="end" value="5145"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.354" references="/0/acceptableSubEvents/%.1/%.1/%.4/%/%/%/%/%/%"> - <details key="start" value="5113"/> - <details key="end" value="5131"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.355" references="/0/acceptableSubEvents/%.1/%.1/%.4/%/%/%/%/%/%/transition"> - <details key="start" value="5113"/> - <details key="end" value="5123"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.356" references="/0/acceptableSubEvents/%.1/%.1/%.4/%/%/%.1"> - <details key="start" value="5171"/> - <details key="end" value="5180"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.357" references="/0/acceptableSubEvents/%.1/%.1/%.5"> - <details key="start" value="5194"/> - <details key="end" value="5221"/> - <details key="line" value="106"/> - </eAnnotations> - <eAnnotations source="positions.358" references="/0/acceptableSubEvents/%.1/%.1/%.6"> - <details key="start" value="5222"/> - <details key="end" value="5244"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.359" references="/0/acceptableSubEvents/%.1/%.1/%.6/%"> - <details key="start" value="5222"/> - <details key="end" value="5239"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.360" references="/0/acceptableSubEvents/%.1/%.1/%.6/%/transition"> - <details key="start" value="5222"/> - <details key="end" value="5232"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.361" references="/0/acceptableSubEvents/%.1/%.1/%.7"> - <details key="start" value="5246"/> - <details key="end" value="5248"/> - <details key="line" value="107"/> - </eAnnotations> - <eAnnotations source="positions.362" references="/0/acceptableSubEvents/%.1/%.1/%.8"> - <details key="start" value="5248"/> - <details key="end" value="5388"/> - <details key="line" value="108"/> - </eAnnotations> - <eAnnotations source="positions.363" references="/0/acceptableSubEvents/%.1/%.1/%.8/%"> - <details key="start" value="5283"/> - <details key="end" value="5296"/> - <details key="line" value="108"/> - </eAnnotations> - <eAnnotations source="positions.364" references="/0/acceptableSubEvents/%.1/%.1/%.8/%.1"> - <details key="start" value="5297"/> - <details key="end" value="5332"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.365" references="/0/acceptableSubEvents/%.1/%.1/%.8/%.1/%"> - <details key="start" value="5297"/> - <details key="end" value="5327"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.366" references="/0/acceptableSubEvents/%.1/%.1/%.8/%.1/%/state"> - <details key="start" value="5297"/> - <details key="end" value="5302"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.367" references="/0/acceptableSubEvents/%.1/%.1/%.8/%.2"> - <details key="start" value="5334"/> - <details key="end" value="5335"/> - <details key="line" value="108"/> - </eAnnotations> - <eAnnotations source="positions.368" references="/0/acceptableSubEvents/%.1/%.1/%.8/%.3"> - <details key="start" value="5336"/> - <details key="end" value="5351"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.369" references="/0/acceptableSubEvents/%.1/%.1/%.8/%.3/transition"> - <details key="start" value="5336"/> - <details key="end" value="5346"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.370" references="/0/acceptableSubEvents/%.1/%.1/%.8/%.4"> - <details key="start" value="5353"/> - <details key="end" value="5354"/> - <details key="line" value="108"/> - </eAnnotations> - <eAnnotations source="positions.371" references="/0/acceptableSubEvents/%.1/%.1/%.8/%.5"> - <details key="start" value="5355"/> - <details key="end" value="5377"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.372" references="/0/acceptableSubEvents/%.1/%.1/%.8/%.5/%"> - <details key="start" value="5355"/> - <details key="end" value="5372"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.373" references="/0/acceptableSubEvents/%.1/%.1/%.8/%.5/%/transition"> - <details key="start" value="5355"/> - <details key="end" value="5365"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.374" references="/0/acceptableSubEvents/%.1/%.1/%.8/%.6"> - <details key="start" value="5379"/> - <details key="end" value="5383"/> - <details key="line" value="108"/> - </eAnnotations> - <eAnnotations source="positions.375" references="/0/acceptableSubEvents/%.1/%.1/%.8/%.7"> - <details key="start" value="5252"/> - <details key="end" value="5282"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.376" references="/0/acceptableSubEvents/%.1/%.1/%.8/%.7/%"> - <details key="start" value="5256"/> - <details key="end" value="5282"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.377" references="/0/acceptableSubEvents/%.1/%.1/%.8/%.7/%/%"> - <details key="start" value="5257"/> - <details key="end" value="5274"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.378" references="/0/acceptableSubEvents/%.1/%.1/%.8/%.7/%/%/transition"> - <details key="start" value="5257"/> - <details key="end" value="5267"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.379" references="/0/acceptableSubEvents/%.1/%.1/%.8/%.7/%/%.1"> - <details key="start" value="5277"/> - <details key="end" value="5281"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.380" references="/0/acceptableSubEvents/%.1/%.1/%.9"> - <details key="start" value="5389"/> - <details key="end" value="5394"/> - <details key="line" value="110"/> - </eAnnotations> - <eAnnotations source="positions.381" references="/0/acceptableSubEvents/%.1/%.1/%.10"> - <details key="start" value="4880"/> - <details key="end" value="4952"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.382" references="/0/acceptableSubEvents/%.1/%.1/%.10/%"> - <details key="start" value="4881"/> - <details key="end" value="4928"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.383" references="/0/acceptableSubEvents/%.1/%.1/%.10/%/%"> - <details key="start" value="4881"/> - <details key="end" value="4922"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.384" references="/0/acceptableSubEvents/%.1/%.1/%.10/%/%/%"> - <details key="start" value="4881"/> - <details key="end" value="4913"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.385" references="/0/acceptableSubEvents/%.1/%.1/%.10/%/%/%/%"> - <details key="start" value="4881"/> - <details key="end" value="4899"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.386" references="/0/acceptableSubEvents/%.1/%.1/%.10/%/%/%/%/transition"> - <details key="start" value="4881"/> - <details key="end" value="4891"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.387" references="/0/acceptableSubEvents/%.1/%.1/%.10/%.1"> - <details key="start" value="4941"/> - <details key="end" value="4950"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.388" references="/0/acceptableSubEvents/%.1/%.2"> - <details key="start" value="5402"/> - <details key="end" value="5922"/> - <details key="line" value="112"/> - </eAnnotations> - <eAnnotations source="positions.389" references="/0/acceptableSubEvents/%.1/%.2/%"> - <details key="start" value="5483"/> - <details key="end" value="5499"/> - <details key="line" value="112"/> - </eAnnotations> - <eAnnotations source="positions.390" references="/0/acceptableSubEvents/%.1/%.2/%.1"> - <details key="start" value="5500"/> - <details key="end" value="5504"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.391" references="/0/acceptableSubEvents/%.1/%.2/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.392" references="/0/acceptableSubEvents/%.1/%.2/%.2"> - <details key="start" value="5506"/> - <details key="end" value="5538"/> - <details key="line" value="113"/> - </eAnnotations> - <eAnnotations source="positions.393" references="/0/acceptableSubEvents/%.1/%.2/collect"> - <details key="start" value="5539"/> - <details key="end" value="5598"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.394" references="/0/acceptableSubEvents/%.1/%.2/collect/collect"> - <details key="start" value="5539"/> - <details key="end" value="5593"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.395" references="/0/acceptableSubEvents/%.1/%.2/collect/collect/collect"> - <details key="start" value="5539"/> - <details key="end" value="5586"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.396" references="/0/acceptableSubEvents/%.1/%.2/collect/collect/collect/collect"> - <details key="start" value="5539"/> - <details key="end" value="5563"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.397" references="/0/acceptableSubEvents/%.1/%.2/collect/collect/collect/collect/%"> - <details key="start" value="5539"/> - <details key="end" value="5557"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.398" references="/0/acceptableSubEvents/%.1/%.2/collect/collect/collect/collect/%/transition"> - <details key="start" value="5539"/> - <details key="end" value="5549"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.399" references="/0/acceptableSubEvents/%.1/%.2/collect/collect/collect/collect/%.1"> - <details key="start" value="5558"/> - <details key="end" value="5563"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.400" references="/0/acceptableSubEvents/%.1/%.2/collect/collect/collect/collect/%.1/temp1"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.401" references="/0/acceptableSubEvents/%.1/%.2/collect/collect/collect/collect/temp13"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.402" references="/0/acceptableSubEvents/%.1/%.2/collect/collect/collect/%"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.403" references="/0/acceptableSubEvents/%.1/%.2/collect/collect/collect/%/temp2"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.404" references="/0/acceptableSubEvents/%.1/%.2/collect/collect/collect/%/%"> - <details key="start" value="5574"/> - <details key="end" value="5585"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.405" references="/0/acceptableSubEvents/%.1/%.2/collect/collect/collect/temp14"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.406" references="/0/acceptableSubEvents/%.1/%.2/collect/collect/%"> - <details key="start" value="5587"/> - <details key="end" value="5593"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.407" references="/0/acceptableSubEvents/%.1/%.2/collect/collect/%/temp3"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.408" references="/0/acceptableSubEvents/%.1/%.2/collect/collect/temp15"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.409" references="/0/acceptableSubEvents/%.1/%.2/collect/%"> - <details key="start" value="5594"/> - <details key="end" value="5598"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.410" references="/0/acceptableSubEvents/%.1/%.2/collect/%/temp4"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.411" references="/0/acceptableSubEvents/%.1/%.2/collect/temp16"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.412" references="/0/acceptableSubEvents/%.1/%.2/%.3"> - <details key="start" value="5600"/> - <details key="end" value="5632"/> - <details key="line" value="114"/> - </eAnnotations> - <eAnnotations source="positions.413" references="/0/acceptableSubEvents/%.1/%.2/collect.1"> - <details key="start" value="5633"/> - <details key="end" value="5692"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.414" references="/0/acceptableSubEvents/%.1/%.2/collect.1/collect"> - <details key="start" value="5633"/> - <details key="end" value="5687"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.415" references="/0/acceptableSubEvents/%.1/%.2/collect.1/collect/collect"> - <details key="start" value="5633"/> - <details key="end" value="5680"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.416" references="/0/acceptableSubEvents/%.1/%.2/collect.1/collect/collect/collect"> - <details key="start" value="5633"/> - <details key="end" value="5657"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.417" references="/0/acceptableSubEvents/%.1/%.2/collect.1/collect/collect/collect/%"> - <details key="start" value="5633"/> - <details key="end" value="5651"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.418" references="/0/acceptableSubEvents/%.1/%.2/collect.1/collect/collect/collect/%/transition"> - <details key="start" value="5633"/> - <details key="end" value="5643"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.419" references="/0/acceptableSubEvents/%.1/%.2/collect.1/collect/collect/collect/%.1"> - <details key="start" value="5652"/> - <details key="end" value="5657"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.420" references="/0/acceptableSubEvents/%.1/%.2/collect.1/collect/collect/collect/%.1/temp1"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.421" references="/0/acceptableSubEvents/%.1/%.2/collect.1/collect/collect/collect/temp17"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.422" references="/0/acceptableSubEvents/%.1/%.2/collect.1/collect/collect/%"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.423" references="/0/acceptableSubEvents/%.1/%.2/collect.1/collect/collect/%/temp2"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.424" references="/0/acceptableSubEvents/%.1/%.2/collect.1/collect/collect/%/%"> - <details key="start" value="5668"/> - <details key="end" value="5679"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.425" references="/0/acceptableSubEvents/%.1/%.2/collect.1/collect/collect/temp18"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.426" references="/0/acceptableSubEvents/%.1/%.2/collect.1/collect/%"> - <details key="start" value="5681"/> - <details key="end" value="5687"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.427" references="/0/acceptableSubEvents/%.1/%.2/collect.1/collect/%/temp3"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.428" references="/0/acceptableSubEvents/%.1/%.2/collect.1/collect/temp19"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.429" references="/0/acceptableSubEvents/%.1/%.2/collect.1/%"> - <details key="start" value="5688"/> - <details key="end" value="5692"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.430" references="/0/acceptableSubEvents/%.1/%.2/collect.1/%/temp4"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.431" references="/0/acceptableSubEvents/%.1/%.2/collect.1/temp20"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.432" references="/0/acceptableSubEvents/%.1/%.2/%.4"> - <details key="start" value="5694"/> - <details key="end" value="5721"/> - <details key="line" value="114"/> - </eAnnotations> - <eAnnotations source="positions.433" references="/0/acceptableSubEvents/%.1/%.2/%.5"> - <details key="start" value="5722"/> - <details key="end" value="5744"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.434" references="/0/acceptableSubEvents/%.1/%.2/%.5/%"> - <details key="start" value="5722"/> - <details key="end" value="5739"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.435" references="/0/acceptableSubEvents/%.1/%.2/%.5/%/transition"> - <details key="start" value="5722"/> - <details key="end" value="5732"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.436" references="/0/acceptableSubEvents/%.1/%.2/%.6"> - <details key="start" value="5746"/> - <details key="end" value="5750"/> - <details key="line" value="115"/> - </eAnnotations> - <eAnnotations source="positions.437" references="/0/acceptableSubEvents/%.1/%.2/%.7"> - <details key="start" value="5750"/> - <details key="end" value="5890"/> - <details key="line" value="116"/> - </eAnnotations> - <eAnnotations source="positions.438" references="/0/acceptableSubEvents/%.1/%.2/%.7/%"> - <details key="start" value="5785"/> - <details key="end" value="5798"/> - <details key="line" value="116"/> - </eAnnotations> - <eAnnotations source="positions.439" references="/0/acceptableSubEvents/%.1/%.2/%.7/%.1"> - <details key="start" value="5799"/> - <details key="end" value="5834"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.440" references="/0/acceptableSubEvents/%.1/%.2/%.7/%.1/%"> - <details key="start" value="5799"/> - <details key="end" value="5829"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.441" references="/0/acceptableSubEvents/%.1/%.2/%.7/%.1/%/state"> - <details key="start" value="5799"/> - <details key="end" value="5804"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.442" references="/0/acceptableSubEvents/%.1/%.2/%.7/%.2"> - <details key="start" value="5836"/> - <details key="end" value="5837"/> - <details key="line" value="116"/> - </eAnnotations> - <eAnnotations source="positions.443" references="/0/acceptableSubEvents/%.1/%.2/%.7/%.3"> - <details key="start" value="5838"/> - <details key="end" value="5853"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.444" references="/0/acceptableSubEvents/%.1/%.2/%.7/%.3/transition"> - <details key="start" value="5838"/> - <details key="end" value="5848"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.445" references="/0/acceptableSubEvents/%.1/%.2/%.7/%.4"> - <details key="start" value="5855"/> - <details key="end" value="5856"/> - <details key="line" value="116"/> - </eAnnotations> - <eAnnotations source="positions.446" references="/0/acceptableSubEvents/%.1/%.2/%.7/%.5"> - <details key="start" value="5857"/> - <details key="end" value="5879"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.447" references="/0/acceptableSubEvents/%.1/%.2/%.7/%.5/%"> - <details key="start" value="5857"/> - <details key="end" value="5874"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.448" references="/0/acceptableSubEvents/%.1/%.2/%.7/%.5/%/transition"> - <details key="start" value="5857"/> - <details key="end" value="5867"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.449" references="/0/acceptableSubEvents/%.1/%.2/%.7/%.6"> - <details key="start" value="5881"/> - <details key="end" value="5885"/> - <details key="line" value="116"/> - </eAnnotations> - <eAnnotations source="positions.450" references="/0/acceptableSubEvents/%.1/%.2/%.7/%.7"> - <details key="start" value="5754"/> - <details key="end" value="5784"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.451" references="/0/acceptableSubEvents/%.1/%.2/%.7/%.7/%"> - <details key="start" value="5758"/> - <details key="end" value="5784"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.452" references="/0/acceptableSubEvents/%.1/%.2/%.7/%.7/%/%"> - <details key="start" value="5759"/> - <details key="end" value="5776"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.453" references="/0/acceptableSubEvents/%.1/%.2/%.7/%.7/%/%/transition"> - <details key="start" value="5759"/> - <details key="end" value="5769"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.454" references="/0/acceptableSubEvents/%.1/%.2/%.7/%.7/%/%.1"> - <details key="start" value="5779"/> - <details key="end" value="5783"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.455" references="/0/acceptableSubEvents/%.1/%.2/%.8"> - <details key="start" value="5891"/> - <details key="end" value="5916"/> - <details key="line" value="118"/> - </eAnnotations> - <eAnnotations source="positions.456" references="/0/acceptableSubEvents/%.1/%.2/%.9"> - <details key="start" value="5406"/> - <details key="end" value="5480"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.457" references="/0/acceptableSubEvents/%.1/%.2/%.9/%"> - <details key="start" value="5407"/> - <details key="end" value="5454"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.458" references="/0/acceptableSubEvents/%.1/%.2/%.9/%/%"> - <details key="start" value="5407"/> - <details key="end" value="5448"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.459" references="/0/acceptableSubEvents/%.1/%.2/%.9/%/%/%"> - <details key="start" value="5407"/> - <details key="end" value="5439"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.460" references="/0/acceptableSubEvents/%.1/%.2/%.9/%/%/%/%"> - <details key="start" value="5407"/> - <details key="end" value="5425"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.461" references="/0/acceptableSubEvents/%.1/%.2/%.9/%/%/%/%/transition"> - <details key="start" value="5407"/> - <details key="end" value="5417"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.462" references="/0/acceptableSubEvents/%.1/%.2/%.9/%.1"> - <details key="start" value="5467"/> - <details key="end" value="5478"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.463" references="/0/acceptableSubEvents/%.1/transition"> - <details key="start" value="4266"/> - <details key="end" value="4289"/> - <details key="line" value="94"/> - </eAnnotations> - <eAnnotations source="positions.464" references="/0/acceptableSubEvents/%.1/%.3"> - <details key="start" value="4292"/> - <details key="end" value="4306"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.465" references="/0/acceptableSubEvents/%.1/%.3/state"> - <details key="start" value="4292"/> - <details key="end" value="4297"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.466" references="/0/acceptableSubEvents/state"> - <details key="start" value="4225"/> - <details key="end" value="4237"/> - <details key="line" value="92"/> - </eAnnotations> - </ecore:EAnnotation> -</xmi:XMI> diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/acceptableEvents.mtl b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/acceptableEvents.mtl deleted file mode 100644 index b2ec3724b9e..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/acceptableEvents.mtl +++ /dev/null @@ -1,122 +0,0 @@ -[module acceptableEvents('http://www.eclipse.org/uml2/5.0.0/UML')/] -[import org::eclipse::papyrus::qompass::modellibs::core::acceleo::TransitionService /] -[import org::eclipse::papyrus::qompass::modellibs::core::acceleo::StateMachineUtil /] -[import org::eclipse::papyrus::qompass::designer::core::acceleo::UMLTool /] -[import org::eclipse::papyrus::qompass::designer::core::acceleo::EnumService /] -[import org::eclipse::papyrus::qompass::designer::vsl::ParseVSL /] - -[comment produce a call event trigger label (TODO) /] - -[comment -Pass the actual to which the port is bound. In case of a CallEvent, pass the implemented interface -(Not the class to which the state machine is bound) -/] -[template public cetrigger(operation: Operation) post(trim())] - [boundPackageRef(operation.implementsInterface()).qualifiedName/]::ID_[name/] - [comment declare dependency to OperationIDs enumeration /] - [boundPackageRef(operation.implementsInterface()).declareDependencyToOperationIDs() /] -[/template] - -[comment -Use service for global enumerations/] -[template public setrigger(trigger: Trigger) post(trim())] - [literal('SignalEvents', 'SIG_' + trigger.event.oclAsType(SignalEvent).signal.name)/] -[/template] - -[template public acceptableEvents(state: State)] - - // loop on state - // execute action ... - timeout = -1; // no timeout by default -[for (transition : Transition | state.outgoing)] - [if (transition.trigger->asSequence()->first().event.oclIsKindOf(TimeEvent))] - // transition [name/] - trigger: TimeEvent, expression [transition.trigger->asSequence()->first().event.oclAsType(TimeEvent).when.expr.oclAsType(OpaqueExpression)._body->asSequence()->first()/]. - timeout = [getDurationFromVSL(trigger.event.oclAsType(TimeEvent).when.expr.oclAsType(OpaqueExpression)._body->asSequence()->first())/]/1000; - [/if] -[/for] - // upcoming support for nested state machines - // timeout = setTimeoutInSubState (timeout); - - // get an event from the pool. - event = ep->readEvent(timeout); - - // process event in sub-state - // need variable for current sub-state, better array of variables? (graph, if we accept parallel states) -[if (state.region->size() > 0)] - [comment sub states /] -[for (substate : State | state.region.subvertex->select(oclIsKindOf(State)))] - [substate.acceptableSubEvents()/] -[/for] -[/if] - // processEventInSubState (event); - -[for (transition : Transition | state.outgoing)] - [comment big restriction: will only analyse first of possibly multiple triggers/] - [let trigger : Trigger = transition.trigger->asSequence()->first()] - [if (trigger.event.oclIsKindOf(TimeEvent))] - // transition [transition.name/] - trigger: TimeEvent (there should be at most one outgoing timed transition per state). - if (event.operationID == core::ContainerServices::EventPool::ID_TIMEOUT) { - newState = STATE_[transition.target.name/]; -[if not (transition.effect = null)] executor->[state.containingStateMachine().name/]_[transition.name/]_[transition.effect.name/](); -[/if] - } - [/if] - [if (trigger.event.oclIsKindOf(CallEvent))] - // transition [name/] - trigger: CallEvent ([trigger.event.name/]), operation [trigger.event.oclAsType(CallEvent).operation.name/] - if (event.operationID == [cetrigger(trigger.event.oclAsType(CallEvent).operation)/]) { - newState = STATE_[transition.target.name/]; -[if not (transition.effect = null)] executor->[state.containingStateMachine().name/]_[transition.name/]_[transition.effect.name/](); -[/if] - } - [/if] - [if (trigger.event.oclIsKindOf(SignalEvent))] - [let signalEvent : SignalEvent = trigger.event.oclAsType(SignalEvent)] - // transition [name/] - trigger: SignalEvent ([signalEvent.name/]), signal [signalEvent.signal.name/] - if (event.operationID == [setrigger(trigger)/]) { - newState = STATE_[transition.target.name/]; -[if not (transition.effect = null)] [if signalEvent.signal.attribute->size() > 0]void* data = &event.params;[/if] - executor->[state.containingStateMachine().name/]_[transition.name/]_[transition.effect.name/]([if signalEvent.signal.attribute->size() > 0]data[/if]); - -[/if] - // ok = EvQUEUE ; - } - [/let] - [/if] - [/let] -[/for] - if (newState != m_currentState) { - m_currentState = newState; - } -[/template] - -[template public acceptableSubEvents(state: State)] -// handle substates -[for (transition : Transition | state.outgoing)] - [comment big restriction: will only analyse first of possibly multiple triggers/] - [if (transition.trigger->asSequence()->first().event.oclIsKindOf(TimeEvent))] - // transition [transition.name/] - trigger: TimeEvent (there should be at most one outgoing timed transition per state). - if (event.operationID == core::ContainerServices::EventPool::ID_TIMEOUT) { - newSubState = STATE_[transition.target.name/]; -[if not (transition.effect = null)] executor->[state.containingStateMachine().name/]_[transition.name/]_[transition.effect.name/](); -[/if] - } - [/if] - [if (transition.trigger->asSequence()->first().event.oclIsKindOf(CallEvent))] - // transition [name/] - trigger: CallEvent, operation [transition.trigger.event.oclAsType(CallEvent).operation.name/] - if (event.operationID == [cetrigger(transition.trigger->asSequence()->first().event.oclAsType(CallEvent).operation)/]) { - newSubState = STATE_[transition.target.name/]; -[if not (transition.effect = null)] executor->[state.containingStateMachine().name/]_[transition.name/]_[transition.effect.name/](); -[/if] - } - [/if] - [if (transition.trigger->asSequence()->first().event.oclIsKindOf(SignalEvent))] - // transition [name/] - trigger: SignalEvent, signal [transition.trigger.event.oclAsType(SignalEvent).signal.name/] - if (event.operationID == SIG_[transition.trigger.event.oclAsType(SignalEvent).signal.name/]) { - newSubState = STATE_[transition.target.name/]) ; -[if not (transition.effect = null)] executor->[state.containingStateMachine().name/]_[transition.name/]_[transition.effect.name/](); -[/if] - // ok = EvQUEUE ; - } - [/if] -[/for] -[/template] diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/bindinghelpers/BindCppIncludeToFirstActual.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/bindinghelpers/BindCppIncludeToFirstActual.java index 1450552c297..a8e25cbbf12 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/bindinghelpers/BindCppIncludeToFirstActual.java +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/bindinghelpers/BindCppIncludeToFirstActual.java @@ -17,9 +17,9 @@ package org.eclipse.papyrus.qompass.modellibs.core.bindinghelpers; import org.eclipse.emf.ecore.EObject; import org.eclipse.papyrus.C_Cpp.Include; import org.eclipse.papyrus.FCM.util.IBindingHelper; -import org.eclipse.papyrus.qompass.designer.core.acceleo.AcceleoDriverWrapper; import org.eclipse.papyrus.qompass.designer.core.listeners.PostCopyListener; import org.eclipse.papyrus.qompass.designer.core.templates.TemplateUtils; +import org.eclipse.papyrus.qompass.designer.core.templates.TextTemplateBinding; import org.eclipse.papyrus.qompass.designer.core.transformations.LazyCopier; import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationContext; import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationException; @@ -50,9 +50,9 @@ public class BindCppIncludeToFirstActual implements PostCopyListener, IBindingHe Include cppInclude = UMLUtil.getStereotypeApplication(targetCl, Include.class); if ((actual != null) && (cppInclude != null)) { TransformationContext.classifier = targetCl; - String newBody = AcceleoDriverWrapper.evaluate(cppInclude.getBody(), actual, null); - String newPreBody = AcceleoDriverWrapper.evaluate(cppInclude.getPreBody(), actual, null); - String newHeader = AcceleoDriverWrapper.evaluate(cppInclude.getHeader(), actual, null); + String newBody = TextTemplateBinding.bind(cppInclude.getBody(), actual, null); + String newPreBody = TextTemplateBinding.bind(cppInclude.getPreBody(), actual, null); + String newHeader = TextTemplateBinding.bind(cppInclude.getHeader(), actual, null); cppInclude.setBody(newBody); cppInclude.setPreBody(newPreBody); cppInclude.setHeader(newHeader); diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/bindinghelpers/InstantiateCppIncludeWithItSelf.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/bindinghelpers/InstantiateCppIncludeWithItSelf.java index 21ea550a898..cd4a730ee30 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/bindinghelpers/InstantiateCppIncludeWithItSelf.java +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/bindinghelpers/InstantiateCppIncludeWithItSelf.java @@ -18,8 +18,8 @@ import org.eclipse.emf.ecore.EObject; import org.eclipse.papyrus.C_Cpp.Include; import org.eclipse.papyrus.FCM.Template; import org.eclipse.papyrus.FCM.util.IBindingHelper; -import org.eclipse.papyrus.qompass.designer.core.acceleo.AcceleoDriverWrapper; import org.eclipse.papyrus.qompass.designer.core.listeners.PostCopyListener; +import org.eclipse.papyrus.qompass.designer.core.templates.TextTemplateBinding; import org.eclipse.papyrus.qompass.designer.core.transformations.LazyCopier; import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationContext; import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationException; @@ -53,9 +53,9 @@ public class InstantiateCppIncludeWithItSelf implements PostCopyListener, IBindi try { Include cppInclude = UMLUtil.getStereotypeApplication(targetCl, Include.class); TransformationContext.classifier = targetCl; - String newBody = AcceleoDriverWrapper.evaluate(cppInclude.getBody(), targetCl, null); - String newPreBody = AcceleoDriverWrapper.evaluate(cppInclude.getPreBody(), targetCl, null); - String newHeader = AcceleoDriverWrapper.evaluate(cppInclude.getHeader(), targetCl, null); + String newBody = TextTemplateBinding.bind(cppInclude.getBody(), targetCl, null); + String newPreBody = TextTemplateBinding.bind(cppInclude.getPreBody(), targetCl, null); + String newHeader = TextTemplateBinding.bind(cppInclude.getHeader(), targetCl, null); cppInclude.setBody(newBody); cppInclude.setPreBody(newPreBody); cppInclude.setHeader(newHeader); diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/bindinghelpers/LoopOperations.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/bindinghelpers/LoopOperations.java index f641819fc6b..996363af3dd 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/bindinghelpers/LoopOperations.java +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/bindinghelpers/LoopOperations.java @@ -18,10 +18,10 @@ import org.eclipse.emf.common.util.BasicEList; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EObject; import org.eclipse.papyrus.FCM.util.IBindingHelper; -import org.eclipse.papyrus.qompass.designer.core.acceleo.AcceleoDriverWrapper; import org.eclipse.papyrus.qompass.designer.core.listeners.PreCopyListener; import org.eclipse.papyrus.qompass.designer.core.templates.BindingUtils; import org.eclipse.papyrus.qompass.designer.core.templates.TemplateUtils; +import org.eclipse.papyrus.qompass.designer.core.templates.TextTemplateBinding; import org.eclipse.papyrus.qompass.designer.core.transformations.LazyCopier; import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationException; import org.eclipse.papyrus.qompass.modellibs.core.Activator; @@ -111,7 +111,7 @@ public class LoopOperations implements IBindingHelper, PreCopyListener { copy.removeForCopy(literal); newLiteral = copy.getCopy(literal); try { - String newName = AcceleoDriverWrapper.evaluate(literal.getName(), intfOperation, null); + String newName = TextTemplateBinding.bind(literal.getName(), intfOperation, null); newLiteral.setName(newName); } catch (TransformationException e) { Activator.log.error(e); |