Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnsgar Radermacher2015-04-13 13:44:43 +0000
committerAnsgar Radermacher2015-04-13 14:01:22 +0000
commit9d154a3522b72ea3e1a2f5ec87dbba800603c079 (patch)
tree5dbb85a99a2951b5cdf14cc0085fb8615622017b /extraplugins/qompass-designer
parent97117c8b25d1132c6494e4187b3d3fd0d7c9377c (diff)
downloadorg.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')
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/META-INF/MANIFEST.MF3
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/plugin.xml1
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/EnumService.java (renamed from extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/EnumService.java)3
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/UMLTool.java (renamed from extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.java)18
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/AcceleoDriverWrapper.java82
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/EnumService.emtl713
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/EnumService.mtl21
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/StUtils.emtl292
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/StUtils.mtl9
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/TransformationContext.emtl689
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/TransformationContext.mtl43
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.emtl1332
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.mtl76
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/utils_cpp.emtl1294
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/utils_cpp.mtl78
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/extensions/IXtend.java15
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/extensions/XtendGenerator.java48
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/BindingUtils.java9
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/TemplateInstantiation.java1
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/TextTemplateBinding.java66
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/XtendTemplateBinding.java80
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/pom.xml41
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/.CppPortMapping.xtendbinbin14313 -> 0 bytes
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/.CppUtils.xtendbinbin2901 -> 0 bytes
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/.DynamicCpptoOO.xtendbinbin13872 -> 0 bytes
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/.StaticCppToOO.xtendbinbin14542 -> 0 bytes
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/.gitignore1
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/CppPortMapping.java762
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/CppUtils.java44
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/DynamicCppToOO.java714
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.cpp/xtend-gen/org/eclipse/papyrus/qompass/designer/cpp/xtend/StaticCppToOO.java769
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.java/pom.xml42
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/META-INF/MANIFEST.MF19
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/.classpath1
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/.project6
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/META-INF/MANIFEST.MF11
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/pom.xml43
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/Marshalling.emtl627
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/Marshalling.mtl70
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/StateMachine.emtl898
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/StateMachine.mtl53
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/StateMachineUtil.emtl360
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/StateMachineUtil.java81
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/StateMachineUtil.mtl19
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/TransitionService.emtl174
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/TransitionService.java54
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/TransitionService.mtl8
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/acceptableEvents.emtl4282
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/acceptableEvents.mtl122
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/bindinghelpers/BindCppIncludeToFirstActual.java8
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/bindinghelpers/InstantiateCppIncludeWithItSelf.java8
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/bindinghelpers/LoopOperations.java4
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="&#xA;&#x9;create the C++ signature for an operation (including parenthesis)&#xA;"/>
- </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="&#x9;"/>
- <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="&#xA;"/>
- <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="&#xA;&#x9;make a C++ call, pass all parameters except the return parameter&#xA;"/>
- </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="&#xA;&#x9;make a C++ call, pass all parameters except the return parameter, prefix with &quot;return&quot;,&#xA;&#x9;if there is a return type in the operations declaration&#xA;"/>
- </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="&#x9;"/>
- <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="&#x9;&#x9;bool&#xA;"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="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="&#x9;&#x9;"/>
- <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="&#xA;"/>
- </else>
- <elseIf>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#x9;int&#xA;"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="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="&#x9;void&#xA;"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//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="&#x9;"/>
- <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="&#xA;"/>
- </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="&#xA;&#x9;open a set of C++ namespaces associated with the packages of of the passed named element&#xA;&#x9;TODO: use indentTab? => requires making this script recursive&#xA;"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="openNamespace" visibility="Public">
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#x9;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="&#xA;"/>
- <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="&#xA;&#x9;close a set of C++ namespaces associated with the packages of of the passed named element&#xA;"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="closeNamespace" visibility="Public">
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;}; // 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="&#xA;"/>
- <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="&#xA;&lt;%script type=&quot;uml.Class&quot; name=&quot;partSignature&quot; post=&quot;trim()&quot;%>&#xA;&lt;%for (part.sep(&quot;, &quot;)) {%>&lt;%if (!type.isCompImpl) {%>&lt;%type.name%> * &lt;%name%>&lt;%}%>&lt;%}%>&#xA;"/>
- </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
deleted 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
Binary files differ
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
deleted 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
Binary files differ
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
deleted 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
Binary files differ
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
deleted 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
Binary files differ
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="&#xA; All marshalling mechanisms produce an Event, since we need a common data type.&#xA; An advantage of the Event data type is that ID and kind can be used to&#xA; identify data without having to unmarshall.&#xA; (what about target instance?) [=> as long as an event is within the pool of an object, this information is&#xA; not required on each event. But it needs to be added in the moment, an event is transferred.&#xA;&#xA;Also: two different tasks: Call => CallEvent&#xA;&#x9;CallEvent => buffer&#xA;&#x9;Call => buffer&#xA;&#xA;&#x9;CallEvent => Call&#xA;&#x9;buffer => CallEvent&#xA;&#x9;operations marshall all,&#xA; &#xA; An alternative option would be to produce a buffer only&#xA; In case of OO marshalling, there is no need to produce an event via&#xA; an out port, but to pass the buffer in the call&#xA;&#xA; Better(?): Marshalling returns CallEvent or buffer&#xA; marshall&#xA;"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="marshallStruct" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="struct ParamData {&#xA;"/>
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;"/>
- <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=";&#xA;"/>
- <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="};&#xA;Event event;&#xA;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=";&#xA;event.kind = CallEvent;&#xA;ParamData * data = &amp;event.params; &#xA;"/>
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;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=";&#xA;"/>
- <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;&#xA;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=";&#xA;event.kind = CallEvent;&#xA;// create buffer for ASN.1 data types&#xA;char * pBuffer = &amp;event.params + sizeof(event.params);&#x9;&#x9;// grows backwards&#xA;int encodedSize = 0; // total size of encoded buffer&#xA;AsnLen itemSize; // size of an encoded item&#xA;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=";&#xA;&#x9;&#xA;// now marshall in and inout parameters via ASN.1&#xA;"/>
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="{&#xA;&#x9;"/>
- <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=";&#xA;&#x9;itemSize = BEncAsnContent (&amp;pBuffer, &amp;varName_ASN);&#xA;&#x9;encodedSize += itemSize;&#xA;}&#xA;"/>
- <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="&#xA;itemSize = BEncAsnContent (&amp;pBuffer, &amp;operationID);&#xA;itemSize += BEncAsnContent (&amp;pBuffer, &amp;m_serverID);&#xA;encodedSize += itemSize;&#xA;&#xA;encodedSize += BEncDefLen (&amp;pBuffer, encodedSize);&#xA;&#xA;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="&#xA;// processEvents body - generated by Qompass &#xA;//&#xA;// 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="&#xA;TRACEpr (AO);&#xA;PR (&quot;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()&quot; &lt;&lt; showI);&#xA;&#x9;&#xA;"/>
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="core::ContainerServices::CallEvent_ event;&#xA;int timeout;&#xA;int newState;&#xA;int newSubSate;&#xA;&#xA;switch(m_currentState)&#xA;{&#xA;"/>
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;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=":&#xA;&#x9;&#x9;// -------- treatment of accepted events&#xA;"/>
- <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="&#xA;"/>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#x9;break;&#xA;"/>
- <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="&#x9;&#xA;&#x9;default:&#xA;&#x9;&#x9;OSAL_ERROR (&quot;Inconsistent state&quot;);&#xA;&#x9;&#x9;break;&#xA;}&#xA;if (animOut != 0) {&#xA;&#x9;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=");&#xA;}&#xA;&#xA;"/>
- <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="&#xA;Pass the actual to which the port is bound. In case of a CallEvent, pass the implemented interface&#xA;(Not the class to which the state machine is bound)&#xA;"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="cetrigger" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;"/>
- <body xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
- <source xsi:type="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="&#xA;"/>
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;"/>
- <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="&#xA;Use service for global enumerations"/>
- </ownedModuleElement>
- <ownedModuleElement xsi:type="mtl:Template" name="setrigger" visibility="Public">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;"/>
- <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="&#xA;&#x9;&#x9;// loop on state&#xA;&#x9;&#x9;// execute action ...&#xA;&#x9;&#x9;timeout = -1;&#x9;// no timeout by default&#xA;"/>
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#x9;// 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=".&#xA;&#x9;&#x9;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;&#xA;"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//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="&#x9;&#x9;// upcoming support for nested state machines&#xA;&#x9;&#x9;// timeout = setTimeoutInSubState (timeout);&#xA;&#xA;&#x9;&#x9;// get an event from the pool.&#xA;&#x9;&#x9;event = ep->readEvent(timeout);&#xA;&#x9;&#xA;&#x9;&#x9;// process event in sub-state&#xA;&#x9;&#x9;// need variable for current sub-state, better array of variables? (graph, if we accept parallel states)&#xA;"/>
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;"/>
- <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="&#xA;"/>
- <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="&#x9;&#x9;// processEventInSubState (event);&#xA;&#xA;"/>
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="mtl:LetBlock">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#x9;// 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).&#xA;&#x9;&#x9;if (event.operationID == core::ContainerServices::EventPool::ID_TIMEOUT) {&#xA;&#x9;&#x9;&#x9;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=";&#xA;"/>
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#x9;&#x9;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="();&#xA;"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//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="&#x9;&#x9;}&#x9;&#x9;&#xA;"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="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="&#x9;&#x9;// 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="&#xA;&#x9;&#x9;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=") {&#xA;&#x9;&#x9;&#x9;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=";&#xA;"/>
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#x9;&#x9;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="();&#xA;"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//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="&#x9;&#x9;} &#xA;"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="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="&#x9;&#x9;// 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="&#xA;&#x9;&#x9;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=") {&#xA;&#x9;&#x9;&#x9;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=";&#xA;"/>
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="void* data = &amp;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=" &#xA;&#x9;&#x9;&#x9;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=");&#xA;&#xA;"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//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="&#x9;&#x9;&#x9;// ok = EvQUEUE ;&#xA;&#x9;&#x9;}&#xA;"/>
- <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="&#x9;&#x9;if (newState != m_currentState) {&#xA;&#x9;&#x9;&#x9;m_currentState = newState;&#xA;&#x9;&#x9;}"/>
- <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&#xA;"/>
- <body xsi:type="mtl:ForBlock">
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#x9;// 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).&#xA;&#x9;&#x9;if (event.operationID == core::ContainerServices::EventPool::ID_TIMEOUT) {&#xA;&#x9;&#x9;&#x9;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=";&#xA;"/>
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#x9;&#x9;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="();&#xA;"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//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="&#x9;&#x9;}&#x9;&#x9;&#xA;"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="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="&#x9;&#x9;// 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="&#xA;&#x9;&#x9;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=") {&#xA;&#x9;&#x9;&#x9;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=";&#xA;"/>
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#x9;&#x9;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="();&#xA;"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//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="&#x9;&#x9;} &#xA;"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="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="&#x9;&#x9;// 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="&#xA;&#x9;&#x9;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=") {&#xA;&#x9;&#x9;&#x9;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=") ;&#xA;"/>
- <body xsi:type="mtl:IfBlock">
- <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#x9;&#x9;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="();&#xA;"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="ocl.ecore:PropertyCallExp">
- <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//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="&#x9;&#x9;&#x9;// ok = EvQUEUE ;&#xA;&#x9;&#x9;}&#xA;"/>
- <ifExpr xsi:type="ocl.ecore:OperationCallExp">
- <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
- <source xsi:type="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>
- <