Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.texteditor.modelexplorer/META-INF/MANIFEST.MF1
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/model/FCM.ecore22
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/model/FCM.genmodel5
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/model/FCM.profile.notation90
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/model/FCM.profile.uml28
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/BindTemplate.java82
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/FCMFactory.java9
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/FCMPackage.java99
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/InterceptionKind.java34
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/impl/BindTemplateImpl.java209
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/impl/FCMFactoryImpl.java11
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/impl/FCMPackageImpl.java44
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/util/FCMAdapterFactory.java18
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/util/FCMSwitch.java21
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/util/MapUtil.java49
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/build.acceleo2
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/Messages.java2
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/PortUtils.java4
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/Utils.java3
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/EnumService.java42
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.java8
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/AllocUtils.java9
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/DepCreation.java84
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/DepUtils.java15
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/Deploy.java86
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/extensions/BindingHelperExt.java4
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/extensions/IInstanceConfigurator.java2
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/extensions/InstanceConfigurator.java5
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/messages.properties1
-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/TemplateInstantiationListener.java154
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/TemplateUtils.java68
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/AbstractContainerTrafo.java7
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/CompImplTrafos.java11
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/ConnectorReification.java22
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/ContainerTrafo.java168
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/Copy.java12
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/InstantiateDepPlan.java21
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/LWContainerTrafo.java1
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/MainModelTrafo.java25
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/PropagateAllocationToSharedInstances.java58
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/UpdateDerivedInterfaces.java51
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/filters/FilterStateMachines.java7
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/src/org/eclipse/papyrus/qompass/designer/ui/dialogs/AllocationDialog.java3
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/META-INF/MANIFEST.MF3
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/build.acceleo2
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/examples/ClientServerTimer.notation14
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/examples/HelloWorld.notation30
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/corba.uml2
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/core.notation94
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/core.uml544
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/fifo.notation21
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/fifo.uml20
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/statemachine.notation107
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/statemachine.uml76
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/plugin.xml10
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/StateMachine.mtl4
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/StateMachineUtil.java37
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/StateMachineUtil.mtl7
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/acceptableEvents.mtl34
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/bindinghelpers/BindOperation.java55
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/bindinghelpers/LoopOperations.java45
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/iconfigurators/AnimServiceConfigurator.java5
-rw-r--r--extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/build.acceleo2
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/handler/RefreshHandler.java22
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.emf.nattable/src/org/eclipse/papyrus/infra/emf/nattable/manager/cell/EMFFeatureValueCellManager.java21
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.views.config/src/org/eclipse/papyrus/infra/nattable/views/config/manager/cell/ModelViewsCellManager.java21
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/cell/AbstractCellManager.java5
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/cell/ICellManager.java2
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/edit/dialogs/WarningAndCreateAttributeDialog.java2
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/edit/dialogs/WarningAndCreateParameterDialog.java2
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/helper/ActivityParameterAndParameterSynchronizer.java2
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/helper/PinAndParameterSynchronizer.java4
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.communication/custom-src/org/eclipse/papyrus/uml/diagram/communication/custom/helper/CommunicationUtil.java4
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/command/ConnectorCreateCommand.java3
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/itemsemantic/PropertyPartItemSemanticEditPolicyCN.java6
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/PropertyItemSemanticEditPolicy.java24
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/OccurrenceSpecificationMoveHelper.java8
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/SequenceUtil.java4
-rw-r--r--plugins/uml/nattable/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/config/UMLFeatureCellEditorConfig.java15
-rw-r--r--plugins/uml/nattable/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/editor/StereotypeApplierCellEditorWrapper.java426
-rw-r--r--plugins/uml/nattable/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/editor/StereotypeApplierDialogCellEditorWrapper.java104
-rw-r--r--plugins/uml/nattable/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/manager/cell/StereotypePropertyCellManager.java8
-rw-r--r--plugins/uml/nattable/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/utils/UMLTableUtils.java27
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools/src/org/eclipse/papyrus/uml/tools/model/UmlModel.java2
-rw-r--r--releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-extra-nightly-tests/build.rmap14
-rw-r--r--releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-extra-nightly/build.rmap14
-rw-r--r--releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly-tests/build.rmap12
-rw-r--r--releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly/build.rmap12
90 files changed, 2677 insertions, 812 deletions
diff --git a/extraplugins/codegen/org.eclipse.papyrus.texteditor.modelexplorer/META-INF/MANIFEST.MF b/extraplugins/codegen/org.eclipse.papyrus.texteditor.modelexplorer/META-INF/MANIFEST.MF
index 818d1191697..91182541b1d 100644
--- a/extraplugins/codegen/org.eclipse.papyrus.texteditor.modelexplorer/META-INF/MANIFEST.MF
+++ b/extraplugins/codegen/org.eclipse.papyrus.texteditor.modelexplorer/META-INF/MANIFEST.MF
@@ -13,7 +13,6 @@ Require-Bundle: org.eclipse.ui,
org.eclipse.emf.facet.infra.query.core;bundle-version="0.3.0",
com.google.guava;bundle-version="11.0.0",
org.eclipse.papyrus.texteditor.model;bundle-version="1.0.0",
- org.eclipse.emf.facet.widgets.nattable.instance;bundle-version="0.3.0",
org.eclipse.papyrus.infra.emf;bundle-version="1.0.0",
org.eclipse.core.expressions;bundle-version="3.4.500",
org.eclipse.emf.facet.infra.browser.custom.core;bundle-version="0.3.0",
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/.settings/org.eclipse.jdt.core.prefs b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..c537b63063c
--- /dev/null
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/model/FCM.ecore b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/model/FCM.ecore
index c432bc318ce..06b85c1e346 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/model/FCM.ecore
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/model/FCM.ecore
@@ -179,6 +179,16 @@
lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
changeable="false" volatile="true" transient="true" unsettable="true" derived="true"/>
</eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="InterceptionKind">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Condition whether an interceptor should be used within a container.&#xA;- &quot;Some&quot; = set of ports defined in interception rule&#xA;- &quot;AllOut/AllIn&quot; = ports with required/provided ports only&#xA;- &quot;Matching&quot; = kind of interceptor and component port need to match&#xA;"/>
+ </eAnnotations>
+ <eLiterals name="InterceptSome"/>
+ <eLiterals name="InterceptAll" value="1"/>
+ <eLiterals name="InterceptAllOut" value="2"/>
+ <eLiterals name="InterceptAllIn" value="3"/>
+ <eLiterals name="InterceptMatching" value="4"/>
+ </eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DeploymentPlan">
<eStructuralFeatures xsi:type="ecore:EReference" name="mainInstance" ordered="false"
unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//InstanceSpecification"/>
@@ -197,12 +207,6 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="InterceptionKind">
- <eLiterals name="InterceptSome"/>
- <eLiterals name="InterceptAll" value="1"/>
- <eLiterals name="InterceptAllOut" value="2"/>
- <eLiterals name="InterceptAllIn" value="3"/>
- </eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ImplementationProperties">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="sizeRAM" ordered="false"
unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
@@ -292,4 +296,10 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="connector" ordered="false"
lowerBound="1" eType="#//Connector"/>
</eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BindTemplate">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="actual" ordered="false"
+ upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Type"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+ lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+ </eClassifiers>
</ecore:EPackage>
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/model/FCM.genmodel b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/model/FCM.genmodel
index 46a1cbba5ab..bb214f40dca 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/model/FCM.genmodel
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/model/FCM.genmodel
@@ -16,6 +16,7 @@
<genEnumLiterals ecoreEnumLiteral="FCM.ecore#//InterceptionKind/InterceptAll"/>
<genEnumLiterals ecoreEnumLiteral="FCM.ecore#//InterceptionKind/InterceptAllOut"/>
<genEnumLiterals ecoreEnumLiteral="FCM.ecore#//InterceptionKind/InterceptAllIn"/>
+ <genEnumLiterals ecoreEnumLiteral="FCM.ecore#//InterceptionKind/InterceptMatching"/>
</genEnums>
<genClasses ecoreClass="FCM.ecore#//Template">
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference FCM.ecore#//Template/base_Element"/>
@@ -168,5 +169,9 @@
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference FCM.ecore#//ConnectorConfiguration/base_Slot"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference FCM.ecore#//ConnectorConfiguration/connector"/>
</genClasses>
+ <genClasses ecoreClass="FCM.ecore#//BindTemplate">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference FCM.ecore#//BindTemplate/actual"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference FCM.ecore#//BindTemplate/base_Property"/>
+ </genClasses>
</genPackages>
</genmodel:GenModel>
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/model/FCM.profile.notation b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/model/FCM.profile.notation
index c95b92fa8b2..f00985ebf1c 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/model/FCM.profile.notation
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/model/FCM.profile.notation
@@ -567,6 +567,10 @@
<element xmi:type="uml:EnumerationLiteral" href="FCM.profile.uml#_w6U_wJDtEd-I9dVdNhZAGQ"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_w6qW8ZDtEd-I9dVdNhZAGQ"/>
</children>
+ <children xmi:type="notation:Shape" xmi:id="_VtVGQIInEeOCe7O91ElfCA" type="1037">
+ <element xmi:type="uml:EnumerationLiteral" href="FCM.profile.uml#_VtMjYIInEeOCe7O91ElfCA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VtVGQYInEeOCe7O91ElfCA"/>
+ </children>
<styles xmi:type="notation:SortingStyle" xmi:id="_GNzDx3iMEd-iNcV8QPhhiQ"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_GNzDyHiMEd-iNcV8QPhhiQ"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_GNzDyXiMEd-iNcV8QPhhiQ"/>
@@ -809,6 +813,11 @@
<element xmi:type="uml:Comment" href="FCM.profile.uml#_Wh6KkNTgEeKiLbHSN_MIRQ"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_WiBfUdTgEeKiLbHSN_MIRQ" x="441" y="126" width="270"/>
</children>
+ <children xmi:type="notation:Shape" xmi:id="_a995cIInEeOCe7O91ElfCA" type="1002">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a9-ggIInEeOCe7O91ElfCA" type="3"/>
+ <element xmi:type="uml:Comment" href="FCM.profile.uml#_a96PEIInEeOCe7O91ElfCA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a995cYInEeOCe7O91ElfCA" x="500" y="360" width="361" height="61"/>
+ </children>
<styles xmi:type="notation:DiagramStyle" xmi:id="_AypCoXiMEd-iNcV8QPhhiQ"/>
<element xmi:type="uml:Profile" href="FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/>
<edges xmi:type="notation:Connector" xmi:id="_b63wAHiTEd-iNcV8QPhhiQ" type="1013" source="_cwV04HiSEd-iNcV8QPhhiQ" target="_kTGUUHiVEd-owss_ACqnJA" lineColor="0">
@@ -843,6 +852,13 @@
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mFnJANTgEeKiLbHSN_MIRQ" id="(0.14814814814814814,0.4666666666666667)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mFnJAdTgEeKiLbHSN_MIRQ" id="(0.8010471204188482,0.3516483516483517)"/>
</edges>
+ <edges xmi:type="notation:Connector" xmi:id="_KKdDgIIoEeOCe7O91ElfCA" type="1022" source="_a995cIInEeOCe7O91ElfCA" target="_GNycsHiMEd-iNcV8QPhhiQ">
+ <styles xmi:type="notation:FontStyle" xmi:id="_KKdDgYIoEeOCe7O91ElfCA"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KKdDgoIoEeOCe7O91ElfCA" points="[-22, -3, 38, 0]$[-53, 2, 7, 5]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KKk_UIIoEeOCe7O91ElfCA" id="(0.07308970099667775,0.40625)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KKk_UYIoEeOCe7O91ElfCA" id="(0.9570552147239264,0.7955801104972375)"/>
+ </edges>
</notation:Diagram>
<notation:Diagram xmi:id="_uxB-EIKhEd-aI_x8ivV7vQ" type="PapyrusUMLProfileDiagram" name="Libraries" measurementUnit="Pixel">
<children xmi:type="notation:Shape" xmi:id="_1gsUAIKhEd-aI_x8ivV7vQ" type="1031" fontName="Sans Serif" fontHeight="10" lineColor="0">
@@ -1916,6 +1932,9 @@
<children xmi:type="notation:DecorationNode" xmi:id="_3dfMUObEEd-oHsJhS1620Q" type="1034"/>
<children xmi:type="notation:BasicCompartment" xmi:id="_3dfMUebEEd-oHsJhS1620Q" type="1071">
<children xmi:type="notation:Shape" xmi:id="_ASHDsHI1EeOZxcUd14vDog" type="3002" fontName="Sans Serif" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DQhgoISAEeO2oJGF2cvpFw" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DQiHsISAEeO2oJGF2cvpFw" key="CustomAppearance_MaskValue" value="24"/>
+ </eAnnotations>
<element xmi:type="uml:Property" href="FCM.profile.uml#_AROS4HI1EeOZxcUd14vDog"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_ASHDsXI1EeOZxcUd14vDog"/>
</children>
@@ -1933,7 +1952,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_4TtCsnI0EeOZxcUd14vDog"/>
</children>
<element xmi:type="uml:Stereotype" href="FCM.profile.uml#_BOnDoFLpEd6rYflXebIz1g"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3dcwEebEEd-oHsJhS1620Q" x="72" y="58" width="253" height="109"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3dcwEebEEd-oHsJhS1620Q" x="240" y="160" width="181" height="61"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_8I7AwHI0EeOZxcUd14vDog" type="1026" fontName="Sans Serif" lineColor="0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8I818HI0EeOZxcUd14vDog" source="ShadowFigure">
@@ -1963,7 +1982,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_8JGm8nI0EeOZxcUd14vDog"/>
</children>
<element xmi:type="uml:Stereotype" href="FCM.profile.uml#_8IkbcHI0EeOZxcUd14vDog"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8I7AwXI0EeOZxcUd14vDog" x="441" y="144" width="136" height="73"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8I7AwXI0EeOZxcUd14vDog" x="464" y="160" width="136" height="61"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_NdO50HI4EeOCrdvV8oxOKA" type="1031" fontName="Sans Serif" lineColor="0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NdPg4HI4EeOCrdvV8oxOKA" source="ShadowFigure">
@@ -1993,7 +2012,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_NdlfInI4EeOCrdvV8oxOKA"/>
</children>
<element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NdPg53I4EeOCrdvV8oxOKA" x="441" y="54" width="136"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NdPg53I4EeOCrdvV8oxOKA" x="464" y="40" width="136"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_MyjSYHJqEeOMF7YEvnQt5g" type="1002" fontName="Sans Serif" lineColor="0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Myj5cHJqEeOMF7YEvnQt5g" source="ShadowFigure">
@@ -2009,6 +2028,60 @@
<element xmi:type="uml:Comment" href="FCM.profile.uml#_MyfoAHJqEeOMF7YEvnQt5g"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_MyjSYXJqEeOMF7YEvnQt5g" x="621" y="126" width="208" height="82"/>
</children>
+ <children xmi:type="notation:Shape" xmi:id="_q5ihwIRKEeO2oJGF2cvpFw" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_q5ihwoRKEeO2oJGF2cvpFw" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_q5ihw4RKEeO2oJGF2cvpFw" type="1071">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q5jI1YRKEeO2oJGF2cvpFw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q5jI1oRKEeO2oJGF2cvpFw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:Shape" xmi:id="_veWwwIRKEeO2oJGF2cvpFw" type="3002">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CPF40ISAEeO2oJGF2cvpFw" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CPGf4ISAEeO2oJGF2cvpFw" key="CustomAppearance_MaskValue" value="24"/>
+ </eAnnotations>
+ <element xmi:type="uml:Property" href="FCM.profile.uml#_veM_wIRKEeO2oJGF2cvpFw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_veWwwYRKEeO2oJGF2cvpFw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_q5ihxIRKEeO2oJGF2cvpFw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_q5ihxYRKEeO2oJGF2cvpFw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_q5ihxoRKEeO2oJGF2cvpFw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q5ihx4RKEeO2oJGF2cvpFw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_q5jI0IRKEeO2oJGF2cvpFw" visible="false" type="1019">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q5k-AIRKEeO2oJGF2cvpFw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q5k-AYRKEeO2oJGF2cvpFw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_q5jI0YRKEeO2oJGF2cvpFw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_q5jI0oRKEeO2oJGF2cvpFw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_q5jI04RKEeO2oJGF2cvpFw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q5jI1IRKEeO2oJGF2cvpFw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="FCM.profile.uml#_q5Z-4IRKEeO2oJGF2cvpFw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q5ihwYRKEeO2oJGF2cvpFw" x="40" y="160" width="161" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_C-uzwISFEeOY0rziOe6V0Q" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_C-wo8ISFEeOY0rziOe6V0Q" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_C-wo8YSFEeOY0rziOe6V0Q" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_C-wo8oSFEeOY0rziOe6V0Q" key="StereotypeList" value="StandardProfileL2::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_C-wo84SFEeOY0rziOe6V0Q" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_C-wo9ISFEeOY0rziOe6V0Q" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_C-xQAISFEeOY0rziOe6V0Q" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_C-va0ISFEeOY0rziOe6V0Q" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C-va0YSFEeOY0rziOe6V0Q" x="40" y="40" width="161"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_9ic70ISFEeOY0rziOe6V0Q" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_COVcIISGEeOY0rziOe6V0Q" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_COWDMISGEeOY0rziOe6V0Q" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_COWDMYSGEeOY0rziOe6V0Q" key="StereotypeList" value="StandardProfileL2::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_COWDMoSGEeOY0rziOe6V0Q" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_COWDM4SGEeOY0rziOe6V0Q" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_COWDNISGEeOY0rziOe6V0Q" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_9ic70oSFEeOY0rziOe6V0Q" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9ic70YSFEeOY0rziOe6V0Q" x="240" y="40" width="181"/>
+ </children>
<styles xmi:type="notation:DiagramStyle" xmi:id="_1hRXQebEEd-oHsJhS1620Q"/>
<element xmi:type="uml:Profile" href="FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/>
<edges xmi:type="notation:Connector" xmi:id="_SdsjAHI4EeOCrdvV8oxOKA" type="1013" source="_8I7AwHI0EeOZxcUd14vDog" target="_NdO50HI4EeOCrdvV8oxOKA" lineColor="0">
@@ -2024,6 +2097,17 @@
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OUm7AHJqEeOMF7YEvnQt5g" id="(0.7716535433070866,0.4146341463414634)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OUniEHJqEeOMF7YEvnQt5g" id="(0.16911764705882354,0.3561643835616438)"/>
</edges>
+ <edges xmi:type="notation:Connector" xmi:id="_KK-_EISFEeOY0rziOe6V0Q" type="1013" source="_q5ihwIRKEeO2oJGF2cvpFw" target="_C-uzwISFEeOY0rziOe6V0Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_KK-_EYSFEeOY0rziOe6V0Q"/>
+ <element xmi:type="uml:Extension" href="FCM.profile.uml#_KKt5UISFEeOY0rziOe6V0Q"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KK-_EoSFEeOY0rziOe6V0Q" points="[-2, -10, 1, 95]$[-2, -80, 1, 25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KLCpcISFEeOY0rziOe6V0Q" id="(0.515527950310559,0.16393442622950818)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_9ik3oISFEeOY0rziOe6V0Q" type="1013" source="_3dcwEObEEd-oHsJhS1620Q" target="_9ic70ISFEeOY0rziOe6V0Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_9ik3oYSFEeOY0rziOe6V0Q"/>
+ <element xmi:type="uml:Extension" href="FCM.profile.uml#_hC4tkFLpEd6rYflXebIz1g"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9ik3ooSFEeOY0rziOe6V0Q" points="[-53, -30, 277, 160]$[-330, -190, 0, 0]"/>
+ </edges>
</notation:Diagram>
<notation:Diagram xmi:id="_w-KvwMniEeCWXsgs0yuyKQ" type="PapyrusUMLProfileDiagram" name="Hardware" measurementUnit="Pixel">
<children xmi:type="notation:Shape" xmi:id="_x935QMniEeCWXsgs0yuyKQ" type="1026" fontName="Sans Serif" lineColor="0">
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/model/FCM.profile.uml b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/model/FCM.profile.uml
index 292df8596b2..7d907578a37 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/model/FCM.profile.uml
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/model/FCM.profile.uml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
- <uml:Profile xmi:id="_5mvT0MtjEd2H_o0jIC6qDQ" name="FCM" metaclassReference="_NYUA4MtkEd2H_o0jIC6qDQ _pb8DsMtkEd2H_o0jIC6qDQ _WPBJkMtpEd2H_o0jIC6qDQ _WSSgAMtpEd2H_o0jIC6qDQ _4Sf2AMtpEd2H_o0jIC6qDQ _IDbl4MtvEd2H_o0jIC6qDQ _ofc4YMuHEd2H_o0jIC6qDQ _asQCAC5SEd6q9cO948d5Fw _5OunYGV9Ed6b6erIXzmEEA _nKCJAGu2Ed647PfocwT3eg _wo2GgMewEd6zpahAtGCOkA _9HS28MnvEd6fKfvcq7rbxA _Y3dP0DdMEd-Qn7_dAqT11Q _Zc-ksJODEd-5qPBhYeIVtw _wTDjYKvTEd-i17GN-GaZ6g _kK724LTaEd-jOpA9YHRXqw _03w64NXnEd-CUqOXH3INsw _eAlkcCm_EeKgOdm6HirHfA">
+ <uml:Profile xmi:id="_5mvT0MtjEd2H_o0jIC6qDQ" name="FCM" metaclassReference="_NYUA4MtkEd2H_o0jIC6qDQ _pb8DsMtkEd2H_o0jIC6qDQ _WPBJkMtpEd2H_o0jIC6qDQ _WSSgAMtpEd2H_o0jIC6qDQ _4Sf2AMtpEd2H_o0jIC6qDQ _IDbl4MtvEd2H_o0jIC6qDQ _ofc4YMuHEd2H_o0jIC6qDQ _asQCAC5SEd6q9cO948d5Fw _5OunYGV9Ed6b6erIXzmEEA _nKCJAGu2Ed647PfocwT3eg _wo2GgMewEd6zpahAtGCOkA _9HS28MnvEd6fKfvcq7rbxA _Y3dP0DdMEd-Qn7_dAqT11Q _Zc-ksJODEd-5qPBhYeIVtw _wTDjYKvTEd-i17GN-GaZ6g _kK724LTaEd-jOpA9YHRXqw _03w64NXnEd-CUqOXH3INsw _eAlkcCm_EeKgOdm6HirHfA _4r98wIR_EeO2oJGF2cvpFw">
<ownedComment xmi:type="uml:Comment" xmi:id="_D0js0O69Ed2rSKyRUaSRjw">
<body>The associations between PortKind and Operation simply denote the fact that we want to target something that encapsulates the definition of interface mapping rules (i.e. the rules that determine the interfaces that are provided/required on a port &#xD;
of a particular PortKind). Further experiments are still needed to confirm that the Operation metaclass is the right metaclass to encapsulate this definition.</body>
@@ -64,6 +64,13 @@ For instance, we cound type a port with &quot;MyType&quot; and use an extended p
<ownedComment xmi:type="uml:Comment" xmi:id="_MyfoAHJqEeOMF7YEvnQt5g" annotatedElement="_8IkbcHI0EeOZxcUd14vDog">
<body>A binding helper is responsible for creating sub-elements. For instance, if the formal parameter of a template is an interface, it might be required to instantiate an operation for each operation of the interface.</body>
</ownedComment>
+ <ownedComment xmi:type="uml:Comment" xmi:id="_a96PEIInEeOCe7O91ElfCA" annotatedElement="_-ZqycAAhEd-0dMgailnZgA">
+ <body>Condition whether an interceptor should be used within a container.
+- &quot;Some&quot; = set of ports defined in interception rule
+- &quot;AllOut/AllIn&quot; = ports with required/provided ports only
+- &quot;Matching&quot; = kind of interceptor and component port need to match
+</body>
+ </ownedComment>
<elementImport xmi:type="uml:ElementImport" xmi:id="_NYUA4MtkEd2H_o0jIC6qDQ" alias="Package">
<importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
</elementImport>
@@ -118,6 +125,9 @@ For instance, we cound type a port with &quot;MyType&quot; and use an extended p
<elementImport xmi:type="uml:ElementImport" xmi:id="_eAlkcCm_EeKgOdm6HirHfA" alias="Feature">
<importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Feature"/>
</elementImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_4r98wIR_EeO2oJGF2cvpFw" alias="Type">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Type"/>
+ </elementImport>
<packageImport xmi:type="uml:PackageImport" xmi:id="_5mvT0ctjEd2H_o0jIC6qDQ">
<importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
</packageImport>
@@ -300,7 +310,7 @@ For instance, we cound type a port with &quot;MyType&quot; and use an extended p
<packagedElement xmi:type="uml:Extension" xmi:id="_eamcsFLpEd6rYflXebIz1g" name="Extension_DeploymentPlan" memberEnd="_ecAK4FLpEd6rYflXebIz1g _ecD1QFLpEd6rYflXebIz1g">
<ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_ecAK4FLpEd6rYflXebIz1g" name="extension_DeploymentPlan" type="_5XyRUFLoEd6rYflXebIz1g" aggregation="composite" association="_eamcsFLpEd6rYflXebIz1g"/>
</packagedElement>
- <packagedElement xmi:type="uml:Extension" xmi:id="_hC4tkFLpEd6rYflXebIz1g" name="Extension_Operation" memberEnd="_hEf3IFLpEd6rYflXebIz1g _hEi6cFLpEd6rYflXebIz1g">
+ <packagedElement xmi:type="uml:Extension" xmi:id="_hC4tkFLpEd6rYflXebIz1g" name="E_Template_Element" memberEnd="_hEf3IFLpEd6rYflXebIz1g _hEi6cFLpEd6rYflXebIz1g">
<ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_hEf3IFLpEd6rYflXebIz1g" name="extension_Operation" type="_BOnDoFLpEd6rYflXebIz1g" aggregation="composite" association="_hC4tkFLpEd6rYflXebIz1g"/>
</packagedElement>
<packagedElement xmi:type="uml:Stereotype" xmi:id="_6B80EGV9Ed6b6erIXzmEEA" name="DerivedElement">
@@ -353,6 +363,7 @@ For instance, we cound type a port with &quot;MyType&quot; and use an extended p
<ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_ABWh8AAiEd-0dMgailnZgA" name="InterceptAll"/>
<ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_uah8gJDtEd-I9dVdNhZAGQ" name="InterceptAllOut"/>
<ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_w6U_wJDtEd-I9dVdNhZAGQ" name="InterceptAllIn"/>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_VtMjYIInEeOCe7O91ElfCA" name="InterceptMatching"/>
</packagedElement>
<packagedElement xmi:type="uml:Extension" xmi:id="_s6giAAAjEd-0dMgailnZgA" name="E_ContainerRule_Class0" memberEnd="_s9YP0AAjEd-0dMgailnZgA _s9dIUAAjEd-0dMgailnZgA">
<ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_s9YP0AAjEd-0dMgailnZgA" name="extension_ContainerRule" type="_5SI38AAhEd-0dMgailnZgA" aggregation="composite" association="_s6giAAAjEd-0dMgailnZgA"/>
@@ -709,6 +720,19 @@ For instance, we cound type a port with &quot;MyType&quot; and use an extended p
<packagedElement xmi:type="uml:Extension" xmi:id="_SdnDcHI4EeOCrdvV8oxOKA" name="E_BindingHelper_Class1" memberEnd="_SdnDcXI4EeOCrdvV8oxOKA _SdmcYHI4EeOCrdvV8oxOKA">
<ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_SdnDcXI4EeOCrdvV8oxOKA" name="extension_BindingHelper" type="_8IkbcHI0EeOZxcUd14vDog" aggregation="composite" association="_SdnDcHI4EeOCrdvV8oxOKA"/>
</packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_q5Z-4IRKEeO2oJGF2cvpFw" name="BindTemplate">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_veM_wIRKEeO2oJGF2cvpFw" name="actual">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Type"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HgMmEISAEeO2oJGF2cvpFw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HgMmEYSAEeO2oJGF2cvpFw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_KKRNYISFEeOY0rziOe6V0Q" name="base_Property" association="_KKt5UISFEeOY0rziOe6V0Q">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_KKt5UISFEeOY0rziOe6V0Q" name="E_BindTemplate_Property1" memberEnd="_KKt5UYSFEeOY0rziOe6V0Q _KKRNYISFEeOY0rziOe6V0Q">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_KKt5UYSFEeOY0rziOe6V0Q" name="extension_BindTemplate" type="_q5Z-4IRKEeO2oJGF2cvpFw" aggregation="composite" association="_KKt5UISFEeOY0rziOe6V0Q"/>
+ </packagedElement>
<profileApplication xmi:type="uml:ProfileApplication" xmi:id="_aTo0UC27Ed6q9cO948d5Fw">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aa7vIC27Ed6q9cO948d5Fw" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/BindTemplate.java b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/BindTemplate.java
new file mode 100644
index 00000000000..109f2f3bd5c
--- /dev/null
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/BindTemplate.java
@@ -0,0 +1,82 @@
+/**
+ * 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 - Initial API and implementation
+ *
+ */
+package org.eclipse.papyrus.FCM;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Bind Template</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.FCM.BindTemplate#getActual <em>Actual</em>}</li>
+ * <li>{@link org.eclipse.papyrus.FCM.BindTemplate#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.FCM.FCMPackage#getBindTemplate()
+ * @model
+ * @generated
+ */
+public interface BindTemplate extends EObject {
+ /**
+ * Returns the value of the '<em><b>Actual</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.Type}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Actual</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Actual</em>' reference list.
+ * @see org.eclipse.papyrus.FCM.FCMPackage#getBindTemplate_Actual()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Type> getActual();
+
+ /**
+ * Returns the value of the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Property</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Property</em>' reference.
+ * @see #setBase_Property(Property)
+ * @see org.eclipse.papyrus.FCM.FCMPackage#getBindTemplate_Base_Property()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Property getBase_Property();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.FCM.BindTemplate#getBase_Property <em>Base Property</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Property</em>' reference.
+ * @see #getBase_Property()
+ * @generated
+ */
+ void setBase_Property(Property value);
+
+} // BindTemplate
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/FCMFactory.java b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/FCMFactory.java
index 3b98a6743f8..906bc19d4ab 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/FCMFactory.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/FCMFactory.java
@@ -356,6 +356,15 @@ public interface FCMFactory extends EFactory {
ConnectorConfiguration createConnectorConfiguration();
/**
+ * Returns a new object of class '<em>Bind Template</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Bind Template</em>'.
+ * @generated
+ */
+ BindTemplate createBindTemplate();
+
+ /**
* Returns the package supported by this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/FCMPackage.java b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/FCMPackage.java
index 5ae5e903c14..584c54b38a9 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/FCMPackage.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/FCMPackage.java
@@ -1544,6 +1544,43 @@ public interface FCMPackage extends EPackage {
int CONNECTOR_CONFIGURATION_FEATURE_COUNT = 2;
/**
+ * The meta object id for the '{@link org.eclipse.papyrus.FCM.impl.BindTemplateImpl <em>Bind Template</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.FCM.impl.BindTemplateImpl
+ * @see org.eclipse.papyrus.FCM.impl.FCMPackageImpl#getBindTemplate()
+ * @generated
+ */
+ int BIND_TEMPLATE = 37;
+
+ /**
+ * The feature id for the '<em><b>Actual</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BIND_TEMPLATE__ACTUAL = 0;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BIND_TEMPLATE__BASE_PROPERTY = 1;
+
+ /**
+ * The number of structural features of the '<em>Bind Template</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BIND_TEMPLATE_FEATURE_COUNT = 2;
+
+ /**
* The meta object id for the '{@link org.eclipse.papyrus.FCM.ContainerRuleKind <em>Container Rule Kind</em>}' enum.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1551,7 +1588,7 @@ public interface FCMPackage extends EPackage {
* @see org.eclipse.papyrus.FCM.impl.FCMPackageImpl#getContainerRuleKind()
* @generated
*/
- int CONTAINER_RULE_KIND = 37;
+ int CONTAINER_RULE_KIND = 38;
/**
* The meta object id for the '{@link org.eclipse.papyrus.FCM.InterceptionKind <em>Interception Kind</em>}' enum.
@@ -1561,7 +1598,7 @@ public interface FCMPackage extends EPackage {
* @see org.eclipse.papyrus.FCM.impl.FCMPackageImpl#getInterceptionKind()
* @generated
*/
- int INTERCEPTION_KIND = 38;
+ int INTERCEPTION_KIND = 39;
/**
@@ -2793,6 +2830,38 @@ public interface FCMPackage extends EPackage {
EReference getConnectorConfiguration_Connector();
/**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.FCM.BindTemplate <em>Bind Template</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Bind Template</em>'.
+ * @see org.eclipse.papyrus.FCM.BindTemplate
+ * @generated
+ */
+ EClass getBindTemplate();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.FCM.BindTemplate#getActual <em>Actual</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Actual</em>'.
+ * @see org.eclipse.papyrus.FCM.BindTemplate#getActual()
+ * @see #getBindTemplate()
+ * @generated
+ */
+ EReference getBindTemplate_Actual();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.FCM.BindTemplate#getBase_Property <em>Base Property</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Property</em>'.
+ * @see org.eclipse.papyrus.FCM.BindTemplate#getBase_Property()
+ * @see #getBindTemplate()
+ * @generated
+ */
+ EReference getBindTemplate_Base_Property();
+
+ /**
* Returns the meta object for enum '{@link org.eclipse.papyrus.FCM.ContainerRuleKind <em>Container Rule Kind</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -3829,6 +3898,32 @@ public interface FCMPackage extends EPackage {
EReference CONNECTOR_CONFIGURATION__CONNECTOR = eINSTANCE.getConnectorConfiguration_Connector();
/**
+ * The meta object literal for the '{@link org.eclipse.papyrus.FCM.impl.BindTemplateImpl <em>Bind Template</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.FCM.impl.BindTemplateImpl
+ * @see org.eclipse.papyrus.FCM.impl.FCMPackageImpl#getBindTemplate()
+ * @generated
+ */
+ EClass BIND_TEMPLATE = eINSTANCE.getBindTemplate();
+
+ /**
+ * The meta object literal for the '<em><b>Actual</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BIND_TEMPLATE__ACTUAL = eINSTANCE.getBindTemplate_Actual();
+
+ /**
+ * The meta object literal for the '<em><b>Base Property</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BIND_TEMPLATE__BASE_PROPERTY = eINSTANCE.getBindTemplate_Base_Property();
+
+ /**
* The meta object literal for the '{@link org.eclipse.papyrus.FCM.ContainerRuleKind <em>Container Rule Kind</em>}' enum.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/InterceptionKind.java b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/InterceptionKind.java
index 385fa5155c9..6141a02dde5 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/InterceptionKind.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/InterceptionKind.java
@@ -23,6 +23,13 @@ import org.eclipse.emf.common.util.Enumerator;
* A representation of the literals of the enumeration '<em><b>Interception Kind</b></em>',
* and utility methods for working with them.
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Condition whether an interceptor should be used within a container.
+ * - "Some" = set of ports defined in interception rule
+ * - "AllOut/AllIn" = ports with required/provided ports only
+ * - "Matching" = kind of interceptor and component port need to match
+ *
+ * <!-- end-model-doc -->
* @see org.eclipse.papyrus.FCM.FCMPackage#getInterceptionKind()
* @model
* @generated
@@ -66,7 +73,15 @@ public enum InterceptionKind implements Enumerator {
* @generated
* @ordered
*/
- INTERCEPT_ALL_IN(3, "InterceptAllIn", "InterceptAllIn"); //$NON-NLS-1$ //$NON-NLS-2$
+ INTERCEPT_ALL_IN(3, "InterceptAllIn", "InterceptAllIn"), /**
+ * The '<em><b>Intercept Matching</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #INTERCEPT_MATCHING_VALUE
+ * @generated
+ * @ordered
+ */
+ INTERCEPT_MATCHING(4, "InterceptMatching", "InterceptMatching"); //$NON-NLS-1$ //$NON-NLS-2$
/**
* The '<em><b>Intercept Some</b></em>' literal value.
@@ -129,6 +144,21 @@ public enum InterceptionKind implements Enumerator {
public static final int INTERCEPT_ALL_IN_VALUE = 3;
/**
+ * The '<em><b>Intercept Matching</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Intercept Matching</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #INTERCEPT_MATCHING
+ * @model name="InterceptMatching"
+ * @generated
+ * @ordered
+ */
+ public static final int INTERCEPT_MATCHING_VALUE = 4;
+
+ /**
* An array of all the '<em><b>Interception Kind</b></em>' enumerators.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -140,6 +170,7 @@ public enum InterceptionKind implements Enumerator {
INTERCEPT_ALL,
INTERCEPT_ALL_OUT,
INTERCEPT_ALL_IN,
+ INTERCEPT_MATCHING,
};
/**
@@ -194,6 +225,7 @@ public enum InterceptionKind implements Enumerator {
case INTERCEPT_ALL_VALUE: return INTERCEPT_ALL;
case INTERCEPT_ALL_OUT_VALUE: return INTERCEPT_ALL_OUT;
case INTERCEPT_ALL_IN_VALUE: return INTERCEPT_ALL_IN;
+ case INTERCEPT_MATCHING_VALUE: return INTERCEPT_MATCHING;
}
return null;
}
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/impl/BindTemplateImpl.java b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/impl/BindTemplateImpl.java
new file mode 100644
index 00000000000..2cac8ddfa85
--- /dev/null
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/impl/BindTemplateImpl.java
@@ -0,0 +1,209 @@
+/**
+ * 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 - Initial API and implementation
+ *
+ */
+package org.eclipse.papyrus.FCM.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.FCM.BindTemplate;
+import org.eclipse.papyrus.FCM.FCMPackage;
+
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Bind Template</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.FCM.impl.BindTemplateImpl#getActual <em>Actual</em>}</li>
+ * <li>{@link org.eclipse.papyrus.FCM.impl.BindTemplateImpl#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BindTemplateImpl extends EObjectImpl implements BindTemplate {
+ /**
+ * The cached value of the '{@link #getActual() <em>Actual</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getActual()
+ * @generated
+ * @ordered
+ */
+ protected EList<Type> actual;
+
+ /**
+ * The cached value of the '{@link #getBase_Property() <em>Base Property</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Property()
+ * @generated
+ * @ordered
+ */
+ protected Property base_Property;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BindTemplateImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FCMPackage.Literals.BIND_TEMPLATE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Type> getActual() {
+ if (actual == null) {
+ actual = new EObjectResolvingEList<Type>(Type.class, this, FCMPackage.BIND_TEMPLATE__ACTUAL);
+ }
+ return actual;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getBase_Property() {
+ if (base_Property != null && base_Property.eIsProxy()) {
+ InternalEObject oldBase_Property = (InternalEObject)base_Property;
+ base_Property = (Property)eResolveProxy(oldBase_Property);
+ if (base_Property != oldBase_Property) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, FCMPackage.BIND_TEMPLATE__BASE_PROPERTY, oldBase_Property, base_Property));
+ }
+ }
+ return base_Property;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetBase_Property() {
+ return base_Property;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Property(Property newBase_Property) {
+ Property oldBase_Property = base_Property;
+ base_Property = newBase_Property;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FCMPackage.BIND_TEMPLATE__BASE_PROPERTY, oldBase_Property, base_Property));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FCMPackage.BIND_TEMPLATE__ACTUAL:
+ return getActual();
+ case FCMPackage.BIND_TEMPLATE__BASE_PROPERTY:
+ if (resolve) return getBase_Property();
+ return basicGetBase_Property();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case FCMPackage.BIND_TEMPLATE__ACTUAL:
+ getActual().clear();
+ getActual().addAll((Collection<? extends Type>)newValue);
+ return;
+ case FCMPackage.BIND_TEMPLATE__BASE_PROPERTY:
+ setBase_Property((Property)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FCMPackage.BIND_TEMPLATE__ACTUAL:
+ getActual().clear();
+ return;
+ case FCMPackage.BIND_TEMPLATE__BASE_PROPERTY:
+ setBase_Property((Property)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FCMPackage.BIND_TEMPLATE__ACTUAL:
+ return actual != null && !actual.isEmpty();
+ case FCMPackage.BIND_TEMPLATE__BASE_PROPERTY:
+ return base_Property != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //BindTemplateImpl
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/impl/FCMFactoryImpl.java b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/impl/FCMFactoryImpl.java
index 220b9d4ee85..bbdcdf7e970 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/impl/FCMFactoryImpl.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/impl/FCMFactoryImpl.java
@@ -103,6 +103,7 @@ public class FCMFactoryImpl extends EFactoryImpl implements FCMFactory {
case FCMPackage.AUTO_INDEX_PER_NODE: return createAutoIndexPerNode();
case FCMPackage.INIT_PRECEDENCE: return createInitPrecedence();
case FCMPackage.CONNECTOR_CONFIGURATION: return createConnectorConfiguration();
+ case FCMPackage.BIND_TEMPLATE: return createBindTemplate();
default:
throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
}
@@ -507,6 +508,16 @@ public class FCMFactoryImpl extends EFactoryImpl implements FCMFactory {
* <!-- end-user-doc -->
* @generated
*/
+ public BindTemplate createBindTemplate() {
+ BindTemplateImpl bindTemplate = new BindTemplateImpl();
+ return bindTemplate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public ContainerRuleKind createContainerRuleKindFromString(EDataType eDataType, String initialValue) {
ContainerRuleKind result = ContainerRuleKind.get(initialValue);
if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/impl/FCMPackageImpl.java b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/impl/FCMPackageImpl.java
index ef9f923f83f..def1b03628e 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/impl/FCMPackageImpl.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/impl/FCMPackageImpl.java
@@ -21,6 +21,7 @@ import org.eclipse.emf.ecore.impl.EPackageImpl;
import org.eclipse.papyrus.FCM.Assembly;
import org.eclipse.papyrus.FCM.AutoIndex;
import org.eclipse.papyrus.FCM.AutoIndexPerNode;
+import org.eclipse.papyrus.FCM.BindTemplate;
import org.eclipse.papyrus.FCM.BindingHelper;
import org.eclipse.papyrus.FCM.CodeGenOptions;
import org.eclipse.papyrus.FCM.CompImplTemplate;
@@ -333,6 +334,13 @@ public class FCMPackageImpl extends EPackageImpl implements FCMPackage {
* <!-- end-user-doc -->
* @generated
*/
+ private EClass bindTemplateEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
private EEnum containerRuleKindEEnum = null;
/**
@@ -1446,6 +1454,33 @@ public class FCMPackageImpl extends EPackageImpl implements FCMPackage {
* <!-- end-user-doc -->
* @generated
*/
+ public EClass getBindTemplate() {
+ return bindTemplateEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBindTemplate_Actual() {
+ return (EReference)bindTemplateEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBindTemplate_Base_Property() {
+ return (EReference)bindTemplateEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public EEnum getContainerRuleKind() {
return containerRuleKindEEnum;
}
@@ -1639,6 +1674,10 @@ public class FCMPackageImpl extends EPackageImpl implements FCMPackage {
createEReference(connectorConfigurationEClass, CONNECTOR_CONFIGURATION__BASE_SLOT);
createEReference(connectorConfigurationEClass, CONNECTOR_CONFIGURATION__CONNECTOR);
+ bindTemplateEClass = createEClass(BIND_TEMPLATE);
+ createEReference(bindTemplateEClass, BIND_TEMPLATE__ACTUAL);
+ createEReference(bindTemplateEClass, BIND_TEMPLATE__BASE_PROPERTY);
+
// Create enums
containerRuleKindEEnum = createEEnum(CONTAINER_RULE_KIND);
interceptionKindEEnum = createEEnum(INTERCEPTION_KIND);
@@ -1834,6 +1873,10 @@ public class FCMPackageImpl extends EPackageImpl implements FCMPackage {
initEReference(getConnectorConfiguration_Base_Slot(), theUMLPackage.getSlot(), null, "base_Slot", null, 1, 1, ConnectorConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
initEReference(getConnectorConfiguration_Connector(), this.getConnector(), null, "connector", null, 1, 1, ConnectorConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+ initEClass(bindTemplateEClass, BindTemplate.class, "BindTemplate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getBindTemplate_Actual(), theUMLPackage.getType(), null, "actual", null, 0, -1, BindTemplate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+ initEReference(getBindTemplate_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 1, 1, BindTemplate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
// Initialize enums and add enum literals
initEEnum(containerRuleKindEEnum, ContainerRuleKind.class, "ContainerRuleKind"); //$NON-NLS-1$
addEEnumLiteral(containerRuleKindEEnum, ContainerRuleKind.COMPONENT_RULE);
@@ -1844,6 +1887,7 @@ public class FCMPackageImpl extends EPackageImpl implements FCMPackage {
addEEnumLiteral(interceptionKindEEnum, InterceptionKind.INTERCEPT_ALL);
addEEnumLiteral(interceptionKindEEnum, InterceptionKind.INTERCEPT_ALL_OUT);
addEEnumLiteral(interceptionKindEEnum, InterceptionKind.INTERCEPT_ALL_IN);
+ addEEnumLiteral(interceptionKindEEnum, InterceptionKind.INTERCEPT_MATCHING);
// Create resource
createResource(eNS_URI);
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/util/FCMAdapterFactory.java b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/util/FCMAdapterFactory.java
index eace199e321..2bb8687abff 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/util/FCMAdapterFactory.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/util/FCMAdapterFactory.java
@@ -226,6 +226,10 @@ public class FCMAdapterFactory extends AdapterFactoryImpl {
return createConnectorConfigurationAdapter();
}
@Override
+ public Adapter caseBindTemplate(BindTemplate object) {
+ return createBindTemplateAdapter();
+ }
+ @Override
public Adapter defaultCase(EObject object) {
return createEObjectAdapter();
}
@@ -764,6 +768,20 @@ public class FCMAdapterFactory extends AdapterFactoryImpl {
}
/**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.FCM.BindTemplate <em>Bind Template</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.FCM.BindTemplate
+ * @generated
+ */
+ public Adapter createBindTemplateAdapter() {
+ return null;
+ }
+
+ /**
* Creates a new adapter for the default case.
* <!-- begin-user-doc -->
* This default implementation returns null.
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/util/FCMSwitch.java b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/util/FCMSwitch.java
index 827d6ee5303..1bf8d84300b 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/util/FCMSwitch.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/util/FCMSwitch.java
@@ -303,6 +303,12 @@ public class FCMSwitch<T> extends Switch<T> {
if (result == null) result = defaultCase(theEObject);
return result;
}
+ case FCMPackage.BIND_TEMPLATE: {
+ BindTemplate bindTemplate = (BindTemplate)theEObject;
+ T result = caseBindTemplate(bindTemplate);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
default: return defaultCase(theEObject);
}
}
@@ -863,6 +869,21 @@ public class FCMSwitch<T> extends Switch<T> {
}
/**
+ * Returns the result of interpreting the object as an instance of '<em>Bind Template</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Bind Template</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBindTemplate(BindTemplate object) {
+ return null;
+ }
+
+ /**
* Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/util/MapUtil.java b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/util/MapUtil.java
index 0ee35052352..614b0aa3b70 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/util/MapUtil.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.fcm.profile/src/org/eclipse/papyrus/FCM/util/MapUtil.java
@@ -68,7 +68,7 @@ public class MapUtil
// Hack: assure that no new derived interface folder is created in "root" model
// that eC3M creates for deployment
if(element instanceof Package) {
- return (Package)element;
+ // return (Package)element;
}
}
element = owner;
@@ -295,28 +295,37 @@ public class MapUtil
// the port (which must be an FCM model, since the port carries the FCM stereotype)
Package baseModelOfPort = getTop(port.getBase_Port());
Package derivedInterfaces = getAndCreate(baseModelOfPort, "derivedInterfaces", createOnDemand); //$NON-NLS-1$
- if (derivedInterfaces == null) {
- return null;
- }
- Package owner = getAndCreate(derivedInterfaces, type.allNamespaces(), createOnDemand);
- Interface intf = null;
+ if (derivedInterfaces != null) {
+ Package owner = getAndCreate(derivedInterfaces, type.allNamespaces(), createOnDemand);
+ Interface intf = null;
- PackageableElement pe = owner.getPackagedElement(interfaceName);
- if(pe instanceof Interface) {
- // interface already exists
- return (Interface)pe;
- }
- else if(createOnDemand) {
- // System.out.println ("Derived port types: create new interface " + interfaceName + " in package " + owner.getQualifiedName ());
- intf = owner.createOwnedInterface(interfaceName);
+ PackageableElement pe = owner.getPackagedElement(interfaceName);
+ if(pe instanceof Interface) {
+ // interface already exists
+ return (Interface)pe;
+ }
+ else if(createOnDemand) {
+ // System.out.println ("Derived port types: create new interface " + interfaceName + " in package " + owner.getQualifiedName ());
+ intf = owner.createOwnedInterface(interfaceName);
- // System.out.println ("Derived port types: Apply derived stereotype annotation to interface: " + intf.getQualifiedName());
- DerivedElement de = applyDE(intf);
- if(de != null) {
- // de may be null, if FCM is not properly applied
- de.setSource(type);
+ // System.out.println ("Derived port types: Apply derived stereotype annotation to interface: " + intf.getQualifiedName());
+ DerivedElement de = applyDE(intf);
+ if(de != null) {
+ // de may be null, if FCM is not properly applied
+ de.setSource(type);
+ }
+ return intf;
+ }
+ }
+ // instead of returning null, return a dummy interface that indicates the user that an element needs updating.
+
+ PackageableElement portKinds = baseModelOfPort.getImportedMember("PortKinds"); //$NON-NLS-1$
+ if (portKinds instanceof Package) {
+ PackageableElement pe = ((Package) portKinds).getPackagedElement("Please update derived elements"); //$NON-NLS-1$
+ if(pe instanceof Interface) {
+ // dummy interface exists
+ return (Interface)pe;
}
- return intf;
}
return null;
}
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/build.acceleo b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/build.acceleo
index b4a22fdacc3..0cdb04e52f1 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/build.acceleo
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/build.acceleo
@@ -18,7 +18,7 @@
<acceleoCompiler
sourceFolder="${target.folder}"
outputFolder="${target.folder}"
- dependencies="${target.folder}/../../org.eclipse.papyrus.fcm.profile;${target.folder}/../../org.eclipse.papyrus.infra.core.sasheditor;${target.folder}/../../org.eclipse.papyrus.infra.core.sasheditor.di;${target.folder}/../../org.eclipse.papyrus.qompass.designer.vsl;${target.folder}/../../org.eclipse.papyrus.cpp.profile;${target.folder}/../../org.eclipse.papyrus.acceleo;${target.folder}/../../org.eclipse.papyrus.infra.widgets.toolbox;"
+ dependencies="${target.folder}/../../org.eclipse.papyrus.fcm.profile;${target.folder}/../../org.eclipse.papyrus.qompass.designer.vsl;${target.folder}/../../org.eclipse.papyrus.cpp.profile;${target.folder}/../../org.eclipse.papyrus.acceleo;"
binaryResource="false"
packagesToRegister="">
</acceleoCompiler>
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/Messages.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/Messages.java
index 8f0a90b7f06..181da5511ce 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/Messages.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/Messages.java
@@ -75,6 +75,8 @@ public class Messages extends NLS {
public static String ContainerTrafo_CannotFindDelegationConn;
public static String ContainerTrafo_InterceptionRuleButNoInterceptor;
+ public static String InstanceConfigurator_InvalidPluginExtension;
+
public static String InstantiateDepPlan_AcceleoErrors;
public static String InstantiateDepPlan_AcceleoErrorsCheckLog;
public static String InstantiateDepPlan_CannotGenModel;
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/PortUtils.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/PortUtils.java
index 8679e1f830b..e6ff1cb5bd8 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/PortUtils.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/PortUtils.java
@@ -247,10 +247,10 @@ public class PortUtils {
*/
public static boolean matches(Port portA, Port portB, boolean isAssembly) {
if(isAssembly) {
- return (sameKinds(portA, portB) && (portA.isConjugated() != portB.isConjugated()));
+ return ((portA.getType() == portB.getType()) && sameKinds(portA, portB) && (portA.isConjugated() != portB.isConjugated()));
} else {
// delegation
- return (sameKinds(portA, portB) && (portA.isConjugated() == portB.isConjugated()));
+ return ((portA.getType() == portB.getType()) && sameKinds(portA, portB) && (portA.isConjugated() == portB.isConjugated()));
}
}
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/Utils.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/Utils.java
index 2fac99cac7b..43c7a9900fa 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/Utils.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/Utils.java
@@ -46,6 +46,7 @@ import org.eclipse.uml2.uml.Namespace;
import org.eclipse.uml2.uml.Operation;
import org.eclipse.uml2.uml.Package;
import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Profile;
import org.eclipse.uml2.uml.Property;
import org.eclipse.uml2.uml.Type;
import org.eclipse.uml2.uml.util.UMLUtil;
@@ -381,7 +382,7 @@ public class Utils {
Resource userResource = resources.get(i);
if(userResource.getContents().size() > 0) {
EObject topEObj = userResource.getContents().get(0);
- if(topEObj instanceof Package) {
+ if((topEObj instanceof Package) && (!(topEObj instanceof Profile))) {
return (Package)topEObj;
}
}
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/acceleo/EnumService.java
index 2870684a147..e1e5d8eb9a0 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/acceleo/EnumService.java
@@ -73,9 +73,11 @@ public class EnumService {
}
/**
- * Create a literal within an enumeration. Both, the literal and the enumeration may be an Acceleo template startiung with [
- *
- * @param dummy
+ * Create a literal within an enumeration. Both, the literal and the enumeration may be an
+ * Acceleo template. If the name of the enumeration starts with "L", it is considered as a
+ * local enumeration, i.e. a nested classifier within the classifier (it has to be a class)
+ * from the transformation context.
+ *
* @param enumName
* the name of an enumeration
* @param literal
@@ -83,23 +85,6 @@ public class EnumService {
* @return
*/
public static String literal(String enumName, String literal) {
- // Acceleo does not expand parameters, so we do it here
- /*
- * if(enumName.contains("[") && enumName.contains("/]")) {
- * try {
- * enumName = AcceleoDriver.bind(enumName, dummy);
- * } catch (TransformationException e) {
- * return e.toString();
- * }
- * }
- * if(literal.contains("[") && enumName.contains("/]")) {
- * try {
- * literal = AcceleoDriver.bind(literal, dummy);
- * } catch (TransformationException e) {
- * return e.toString();
- * }
- * }
- */
Enumeration enumeration = enumHash.get(enumName);
if(enumPkg == null) {
return literal;
@@ -121,9 +106,21 @@ public class EnumService {
// declare a dependency to the enumeration from the current classifier
checkAndCreateDependency(TransformationContext.classifier, enumeration);
- return literal;
+ if (enumName.startsWith("L")) { //$NON-NLS-1$
+ return literal;
+ }
+ else {
+ return GLOBALENUMS + "::" + literal; //$NON-NLS-1$
+ }
}
+ /**
+ * Create a dependency between the passed classifier, target pair. The objective
+ * of this function is that code generators do the necessary to assure that the
+ * target is known within the classifier (e.g. include directives)
+ * @param classifier a classifier
+ * @param target a target, on which the classifier or its code depends.
+ */
public static void checkAndCreateDependency(Classifier classifier, NamedElement target) {
boolean found = false;
for(Dependency dep : classifier.getClientDependencies()) {
@@ -132,7 +129,8 @@ public class EnumService {
}
}
if(!found) {
- classifier.createDependency(target);
+ Dependency dep = classifier.createDependency(target);
+ dep.setName(String.format("from %s to %s", classifier.getName(), target.getName())); //$NON-NLS-1$
}
}
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/acceleo/UMLTool.java
index d63fd1b3655..64b2513dabd 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/acceleo/UMLTool.java
@@ -25,6 +25,7 @@ import org.eclipse.papyrus.C_Cpp.External;
import org.eclipse.papyrus.C_Cpp.NoCodeGen;
import org.eclipse.papyrus.C_Cpp.Typedef;
import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
+import org.eclipse.uml2.uml.BehavioredClassifier;
import org.eclipse.uml2.uml.Class;
import org.eclipse.uml2.uml.Classifier;
import org.eclipse.uml2.uml.Dependency;
@@ -259,14 +260,15 @@ public class UMLTool {
* The operation is useful in the context of state-machines: when a transition is triggered by
* the call of an operation of the class, we'd like to know which interceptor (for which interface)
* belongs to it (since the operations are enumerated within each interface).
- * TOOD: move operation into state-chart java code
+ * TODO: move operation into state-chart java code
+ * TODO: would not work for ROOM ports typed with a collaboration
*
* @param operation
* @return the interface which the operation belongs
*/
public static Interface implementsInterface(Operation operation) {
Element owner = operation.getOwner();
- if(owner instanceof Class) {
+ if(owner instanceof BehavioredClassifier) {
String name = operation.getName();
EList<Type> types = new BasicEList<Type>();
for(Parameter parameter : operation.getOwnedParameters()) {
@@ -275,7 +277,7 @@ public class UMLTool {
// loop over implemented realizations. Do not rely on FCM derivedElement information
// as it might be missing on some models (it would point from an operation of the class
// to the associated operation of the interface)
- for(InterfaceRealization ir : ((Class)owner).getInterfaceRealizations()) {
+ for(InterfaceRealization ir : ((BehavioredClassifier)owner).getInterfaceRealizations()) {
// check for types to allow for overloading
Operation candidate = ir.getContract().getOwnedOperation(name, null, types);
if(candidate != null) {
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/AllocUtils.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/AllocUtils.java
index ef288caaf17..fc920081c0f 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/AllocUtils.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/AllocUtils.java
@@ -58,8 +58,13 @@ public class AllocUtils {
*/
public static EList<InstanceSpecification> getAllNodes(InstanceSpecification instance) {
EList<InstanceSpecification> nodeList = getNodes(instance);
- for(InstanceSpecification containedInstance : DepUtils.getContainedInstances(instance)) {
- nodeList.addAll(getAllNodes(containedInstance));
+ for(Slot slot : instance.getSlots()) {
+ if (!DepUtils.isShared(slot)) {
+ InstanceSpecification containedInstance = DepUtils.getInstance(slot);
+ if (containedInstance != null) {
+ nodeList.addAll(getAllNodes(containedInstance));
+ }
+ }
}
return nodeList;
}
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/DepCreation.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/DepCreation.java
index 5291a7a4118..b8fa61274d1 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/DepCreation.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/DepCreation.java
@@ -21,6 +21,7 @@ import org.eclipse.papyrus.qompass.designer.core.Utils;
import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationException;
import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationRTException;
import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
+import org.eclipse.uml2.uml.AggregationKind;
import org.eclipse.uml2.uml.Class;
import org.eclipse.uml2.uml.Classifier;
import org.eclipse.uml2.uml.Connector;
@@ -184,8 +185,47 @@ public class DepCreation {
}
visitedClassifiers.push(typeOrImplem);
- InstanceSpecification is = (InstanceSpecification)
- cdp.createPackagedElement(name, UMLPackage.eINSTANCE.getInstanceSpecification());
+ InstanceSpecification is;
+ // treat singleton
+ if(Utils.isSingleton((Class)typeOrImplem)) {
+ // is a singleton - exactly one instance exists
+ InstanceSpecification mainInstance = DepUtils.getMainInstance(cdp);
+
+ // use canonical name for singleton instance - lower case for type-name
+ String partName = DeployConstants.singletonPrefix + typeOrImplem.getName().toLowerCase();
+ name = mainInstance.getName() + DeployConstants.SEP_CHAR + partName;
+ PackageableElement pe = cdp.getPackagedElement(name);
+
+ if(pe == null) {
+ // instance specification for singleton does not exist yet => create
+
+ Classifier system = DepUtils.getClassifier(mainInstance);
+ Property singletonAttr = system.getAttribute(partName, typeOrImplem);
+ if((singletonAttr == null) && system instanceof Class) {
+ singletonAttr = ((Class) system).createOwnedAttribute(partName, typeOrImplem);
+ singletonAttr.setAggregation(AggregationKind.COMPOSITE_LITERAL);
+ }
+
+ is = (InstanceSpecification)
+ cdp.createPackagedElement(name, UMLPackage.eINSTANCE.getInstanceSpecification());
+ // create slot within main instance
+ createSlot(mainInstance, is, singletonAttr);
+ }
+ else if (pe instanceof InstanceSpecification) {
+ // exists already, return it without recursing into its sub-specifications
+ return (InstanceSpecification) pe;
+ }
+ else {
+ // unlikely case that a packaged element with the name
+ // <singletonISname> exists already, but is not an instance specification
+ throw new TransformationException(String.format(
+ "singleton instantiation: element with name %s exists already in deployment plan, but is not an instance specification", name));
+ }
+ }
+ else {
+ is = (InstanceSpecification)
+ cdp.createPackagedElement(name, UMLPackage.eINSTANCE.getInstanceSpecification());
+ }
if(name.equals(DeployConstants.MAIN_INSTANCE)) {
DepUtils.setMainInstance(cdp, is);
@@ -255,7 +295,7 @@ public class DepCreation {
if(((type instanceof Class) && Utils.isComponent((Class)type)) || type instanceof Node) {
Class cl = (Class)type;
- // hack: ad-hoc replication support. Better solution via design patterns
+ // TODO: ad-hoc replication support. Better solution via design patterns
int upper = attribute.getUpper();
String infix = ""; //$NON-NLS-1$
@@ -267,8 +307,10 @@ public class DepCreation {
}
InstanceSpecification partIS = createDepPlan(cdp, cl,
partName, createSlotsForConfigValues, visitedClassifiers);
-
- createSlot(is, partIS, attribute);
+ // may not create slot for singleton, since automatically done
+ if(!Utils.isSingleton((Class)type)) {
+ createSlot(is, partIS, attribute);
+ }
}
}
else if(StereotypeUtil.isApplied(attribute, ConfigurationProperty.class)
@@ -287,34 +329,10 @@ public class DepCreation {
Messages.DepCreation_InfoCreateDepPlan, type.getQualifiedName()));
if(Utils.isSingleton((Class)type)) {
// is a singleton - exactly one instance exists
- // use a common instance prefix for singletons
- InstanceSpecification mainInstance = DepUtils.getMainInstance(cdp);
- String partName = mainInstance.getName() + DeployConstants.SEP_CHAR + DeployConstants.singletonPrefix + attribute.getName();
- PackageableElement pe = cdp.getPackagedElement(partName);
-
- if(pe instanceof InstanceSpecification) {
- // instance specification for singleton exists already
- Slot slot = createSlot(is, (InstanceSpecification)pe,
- attribute);
- slot.setDefiningFeature(attribute);
- } else if(type instanceof Class) {
- // instance specification for singleton does not exist
- // => create
- // [case that a non-instance specification with the name
- // <partName> exists already
- // is not handled]
-
- Classifier system = DepUtils.getClassifier(mainInstance);
- Property singletonAttr = null;
- if (system instanceof Class) {
- singletonAttr = ((Class) system).createOwnedAttribute(DeployConstants.singletonPrefix + attribute.getName(), type);
- }
-
- InstanceSpecification singletonIS = createDepPlan(cdp,
- (Class)type, partName, createSlotsForConfigValues, visitedClassifiers);
- createSlot(is, singletonIS, attribute);
- createSlot(mainInstance, singletonIS, singletonAttr);
- }
+ // recursive call - pass empty name, since name for singletons is re-calculated.
+ InstanceSpecification singletonIS = createDepPlan(cdp,
+ (Class)type, "", createSlotsForConfigValues, visitedClassifiers); //$NON-NLS-1$
+ createSlot(is, singletonIS, attribute);
}
} else if(type == null) {
throw new TransformationException(String.format(Messages.DepCreation_TypeInAttributeUndefined,
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/DepUtils.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/DepUtils.java
index 246945ce50f..6f04618aec7 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/DepUtils.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/DepUtils.java
@@ -348,6 +348,21 @@ public class DepUtils {
}
/**
+ * This method returns the instances contained within a composite instance
+ * specification for an assembly. Unlike @see getContainedInstances, this method only
+ * returns contained instances that are not shared.
+ */
+ public static EList<InstanceSpecification> getContainedNonSharedInstances(InstanceSpecification is) {
+ EList<InstanceSpecification> contained = new BasicEList<InstanceSpecification>();
+ for(Slot slot : is.getSlots()) {
+ InstanceSpecification instance = getInstance(slot);
+ if((instance != null) && !DepUtils.isShared(slot)) {
+ contained.add(instance);
+ }
+ }
+ return contained;
+ }
+ /**
* return all slots that reference an instance specification
*
* @param is
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/Deploy.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/Deploy.java
index c5cd6f75a70..29c9fd2685e 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/Deploy.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/Deploy.java
@@ -48,29 +48,45 @@ public class Deploy {
* @param instance
* @throws TransformationException
*/
- public static Deploy distributeToNode(Copy copy, ILangSupport langSupport, InstanceSpecification node,
- int nodeIndex, int numberOfNodes, InstanceSpecification instance)
+ public Deploy(Copy copy, ILangSupport langSupport, InstanceSpecification node,
+ int nodeIndex, int numberOfNodes)
throws TransformationException
{
- Deploy deploy = new Deploy();
- deploy.bootLoaderGen = new BootLoaderGen(copy, nodeIndex, numberOfNodes);
- deploy.node = node;
+ bootLoaderGen = new BootLoaderGen(copy, nodeIndex, numberOfNodes);
+ this.node = node;
// change to flat copy eventually later (not yet working)
- deploy.depInstance = new PartialCopy();
+ depInstance = new PartialCopy();
- deploy.depInstance.init(copy, deploy.bootLoaderGen, node);
+ depInstance.init(copy, bootLoaderGen, node);
// set a copy listener in order to assure that indirectly added classes
// are taken into account as well
+ this.copy = copy;
copy.preCopyListeners.add(new GatherConfigData(langSupport));
- // TODO: not nice at all (make non-static?)
+ }
+
+
+ /**
+ * distribute an instance, its contained sub-instances and the referenced
+ * classifiers to a certain node
+ *
+ * @param copy
+ * @param node
+ * @param nodeIndex
+ * @param numberOfNodes
+ * @param instance
+ * @throws TransformationException
+ */
+ public InstanceSpecification distributeToNode(InstanceSpecification instance)
+ throws TransformationException
+ {
Stack<Slot> slotPath = new Stack<Slot>();
- deploy.distributeToNode(false, slotPath, instance);
+ InstanceSpecification newRootIS = distributeToNode(false, slotPath, instance);
- deploy.bootLoaderGen.addCreateConnections();
- deploy.bootLoaderGen.addInit();
- return deploy;
+ bootLoaderGen.addCreateConnections();
+ bootLoaderGen.addInit();
+ return newRootIS;
}
/**
@@ -106,26 +122,34 @@ public class Deploy {
InstanceSpecification containedInstance = DepUtils.getInstance(slot);
if(containedInstance != null) {
- StructuralFeature sf = slot.getDefiningFeature();
- boolean viaAllocAll = allocAll;
- if (allocAll && (sf instanceof Property)) {
- // only take allocation of parent instance into account, if composition
- // However, problematic, since code gets copied anyway.
- // viaAllocAll = (((Property) sf).getAggregation() == AggregationKind.COMPOSITE_LITERAL);
+ if (!DepUtils.isShared(slot)) {
+ StructuralFeature sf = slot.getDefiningFeature();
+ boolean viaAllocAll = allocAll;
+ if (allocAll && (sf instanceof Property)) {
+ // only take allocation of parent instance into account, if composition
+ // However, problematic, since code gets copied anyway.
+ // viaAllocAll = (((Property) sf).getAggregation() == AggregationKind.COMPOSITE_LITERAL);
+ }
+ if(viaAllocAll || AllocUtils.getAllNodes(containedInstance).contains(node)) {
+ slotPath.push(slot);
+ if (sf instanceof Property) {
+ // place configurator before recursive call. Otherwise
+ // values put here would be ignored.
+ // TODO: instances are not copied to node model. Thus, the instances here are the same as in the
+ // configuration on the intermediate model.
+ // TODO: MIX of bootloaderGeneration and splitting.
+ InstanceConfigurator.configureInstance(containedInstance, (Property) sf, tmInstance);
+ }
+ // distribute subInstance
+ distributeToNode(allocAll, slotPath, containedInstance);
+ slotPath.pop();
+ }
}
- if(viaAllocAll || AllocUtils.getAllNodes(containedInstance).contains(node)) {
- // if(!containedInstance.getName().startsWith(singletonPrefix)) {
+ else if(allocAll || AllocUtils.getAllNodes(containedInstance).contains(node)) {
slotPath.push(slot);
- if (sf instanceof Property) {
- // place configurator before recursive call. Otherwise
- // values put here would be ignored.
- // TODO: instances are not copied to node model. Thus, the instances here are the same as in the
- // configuration on the intermediate model.
- // TODO: MIX of bootloaderGeneration and splitting.
- InstanceConfigurator.configureInstance(containedInstance, (Property) sf, tmInstance);
- }
- InstanceSpecification tmSubInstance = distributeToNode(allocAll, slotPath, containedInstance);
- slotPath.pop();
+ // bootLoaderGen.instanceConfig(slotPath, instance);
+ bootLoaderGen.addInstance(slotPath, containedInstance, null, node);
+ slotPath.pop();
}
} else {
// slot contains configuration of primitive attribute (no
@@ -156,4 +180,6 @@ public class Deploy {
protected InstanceSpecification node;
protected InstanceDeployer depInstance;
+
+ protected Copy copy;
}
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/extensions/BindingHelperExt.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/extensions/BindingHelperExt.java
index bbde28a4b23..c8e363d11a9 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/extensions/BindingHelperExt.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/extensions/BindingHelperExt.java
@@ -20,6 +20,7 @@ import org.eclipse.papyrus.FCM.BindingHelper;
import org.eclipse.papyrus.FCM.util.IBindingHelper;
import org.eclipse.papyrus.qompass.designer.core.listeners.CopyListener;
import org.eclipse.papyrus.qompass.designer.core.transformations.Copy;
+import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationRTException;
import org.eclipse.uml2.uml.Element;
import org.eclipse.uml2.uml.TemplateBinding;
@@ -73,6 +74,7 @@ public class BindingHelperExt {
exception.printStackTrace();
}
}
- return null;
+ throw new TransformationRTException(
+ String.format("Cannot find binding helper <%s>", helperName));
}
}
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/extensions/IInstanceConfigurator.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/extensions/IInstanceConfigurator.java
index 94df33a7003..3335a7b25cb 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/extensions/IInstanceConfigurator.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/extensions/IInstanceConfigurator.java
@@ -32,5 +32,5 @@ public interface IInstanceConfigurator {
* additional information, if the element that should be configured is part of a container, e.g. an interceptor
* or an extension within the container.
*/
- public void configureInstance(InstanceSpecification instance, Property componentPart, InstanceSpecification parentInstnace);
+ public void configureInstance(InstanceSpecification instance, Property componentPart, InstanceSpecification parentInstance);
}
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/extensions/InstanceConfigurator.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/extensions/InstanceConfigurator.java
index acb0084e888..f932174ccc2 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/extensions/InstanceConfigurator.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/extensions/InstanceConfigurator.java
@@ -18,6 +18,7 @@ import org.eclipse.core.runtime.Platform;
import org.eclipse.papyrus.FCM.ContainerRule;
import org.eclipse.papyrus.FCM.UseInstanceConfigurator;
import org.eclipse.papyrus.qompass.designer.core.Activator;
+import org.eclipse.papyrus.qompass.designer.core.Messages;
import org.eclipse.papyrus.qompass.designer.core.deployment.DepUtils;
import org.eclipse.uml2.uml.Classifier;
import org.eclipse.uml2.uml.InstanceSpecification;
@@ -100,6 +101,10 @@ public class InstanceConfigurator {
for(IConfigurationElement configElement : configElements) {
try {
final String iConfiguratorIDext = configElement.getAttribute("configuratorID"); //$NON-NLS-1$
+ if(iConfiguratorIDext == null) {
+ throw new RuntimeException(String.format(
+ Messages.InstanceConfigurator_InvalidPluginExtension, iConfiguratorID));
+ }
if(iConfiguratorIDext.equals(iConfiguratorID)) {
// 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$
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/messages.properties b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/messages.properties
index c237acc8ada..465c8398807 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/messages.properties
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/messages.properties
@@ -54,6 +54,7 @@ CompTypeTrafos_CannotFindType=Can not find type <%s>. Thus, unable to create sui
ContainerTrafo_CannotApplyRule=Cannot apply container rule <%s>, since the type of one of its parts is undefined. Check for unresolved proxies in imports
ContainerTrafo_CannotFindDelegationConn=(during interceptor transformation for container): cannot find existing delegation connector
ContainerTrafo_InterceptionRuleButNoInterceptor=The part %s in rule %s has an interceptionRule, but is not typed with an interaction component
+InstanceConfigurator_InvalidPluginExtension=InstanceConfigurator: plugin extension for id %s is invalid
InstantiateDepPlan_AcceleoErrors=Acceleo errors occured
InstantiateDepPlan_AcceleoErrorsCheckLog=Acceleo errors occured during code generation. Please check the error log
InstantiateDepPlan_CannotGenModel=Cannot generate model
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 67aedf7fa24..27293a7923a 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
@@ -37,7 +37,14 @@ import org.eclipse.uml2.uml.util.UMLUtil;
public class BindingUtils {
- public static Operation instantiateOperation(Copy copy, Element actual, Operation operation, Class boundClass) {
+ /**
+ * Bind an operation by copying the signature from the actual.
+ * @param copy the copier
+ * @param actual the actual. If an operation, its signature is copied to the template
+ * @param operation The operation template
+ * @return
+ */
+ public static Operation instantiateOperation(Copy copy, Element actual, Operation operation) {
try {
Operation newOperation = copy.getCopy(operation);
if(actual instanceof Operation) {
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/TemplateInstantiationListener.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/TemplateInstantiationListener.java
index 2023871a381..9e3c5958ab4 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/TemplateInstantiationListener.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/TemplateInstantiationListener.java
@@ -43,18 +43,11 @@ public class TemplateInstantiationListener implements CopyListener {
}
public void init(Copy copy, TemplateBinding binding, Object[] args) {
- treatTemplate = false;
- this.copy = copy;
this.binding = binding;
- this.args = args;
}
private TemplateBinding binding;
- private Copy copy;
-
- private Object[] args;
-
private boolean treatTemplate;
private static TemplateInstantiationListener templateInstantiationListener;
@@ -70,138 +63,31 @@ public class TemplateInstantiationListener implements CopyListener {
}
protected EObject checkEObject(Copy copy, EObject sourceEObj) {
- // try {
- if(sourceEObj instanceof Element) {
- if(sourceEObj instanceof OpaqueBehavior) {
- OpaqueBehavior behavior = (OpaqueBehavior)sourceEObj;
- // in case of a behavior, examine stereotype on associated operation
- BehavioralFeature bf = behavior.getSpecification();
- if(bf != null) {
- Template template = UMLUtil.getStereotypeApplication(bf, Template.class);
- if(template != null) {
- return null;
- }
+
+ // Specific treatment of OpaqueBehaviors: Template instantiations are typically managed
+ // by the associated operation which instantiates operation and behavior. In this case, the
+ // behavior should not be instantiated.
+ if(sourceEObj instanceof OpaqueBehavior) {
+ OpaqueBehavior behavior = (OpaqueBehavior)sourceEObj;
+ BehavioralFeature bf = behavior.getSpecification();
+ if(bf != null) {
+ Template template = UMLUtil.getStereotypeApplication(bf, Template.class);
+ if(template != null) {
+ return null;
}
}
- else {
- Template template = UMLUtil.getStereotypeApplication((Element)sourceEObj, Template.class);
- if((template != null)) { // && (!treatTemplateElement.containsKey(sourceEObj))) {
- // treatTemplateElement.put(sourceEObj, true);
- BindingHelper helper = template.getHelper();
- if (helper != null) {
- return BindingHelperExt.applyHelper(helper, copy, binding, sourceEObj);
- }
- return sourceEObj;
-
- /*
- if(sourceEObj instanceof Operation) {
- Operation operation = (Operation)sourceEObj;
-
- Classifier actual = getFirstActualFromBinding(binding, operation);
- Class boundClass = copy.getCopy(operation.getClass_());
- if(template.getKind() == TemplateKind.LOOP_OPERATIONS) {
- // in case of loop operations, the template parameter is iteratively an
- // operation of the actual (which should be an interface) in this case.
- //
- // The template operation typically inherits all parameters. This is expressed by
- // a single parameter with the LOOP_PARAMETERS options (<%name%> as name, what as type?)
- // cleaner (more general: if user writes loop with Acceleo as well?]
- // // owns template operation parameter??
- Type passedActual = getPassedActual(template, actual, boundClass);
- if(!(passedActual instanceof Interface)) {
- return sourceEObj;
- }
- Interface passedActualIntf = (Interface)passedActual;
- Operation last = null;
- EList<Element> removalList = new BasicEList<Element>();
- for(Operation intfOperation : passedActualIntf.getAllOperations()) {
- for(Element removalElement : removalList) {
- copy.removeForCopy(removalElement); // enable subsequent instantiations
- }
- removalList.clear();
- last = instantiateOperation(intfOperation, template, operation, boundClass);
- removalList.add(operation);
- for(Behavior method : operation.getMethods()) {
- if(method instanceof OpaqueBehavior) {
- Behavior newBehavior =
- instantiateBehavior(intfOperation, template, (OpaqueBehavior)method);
- newBehavior.setSpecification(last);
- // removalList.add(method);
- copy.removeForCopy(method); // enable subsequent instantiations
- }
- }
- }
- // from a logical viewpoint, we need to copy parameters & name, but not the
- // operation identity.
- copy.put(operation, last);
- return last;
- }
- else {
- Operation newOperation = instantiateOperation(actual, template, operation, boundClass);
- for(Behavior method : operation.getMethods()) {
- if(method instanceof OpaqueBehavior) {
- Behavior newBehavior =
- instantiateBehavior(actual, template, (OpaqueBehavior)method);
- newBehavior.setSpecification(newOperation);
- }
- }
- return newOperation;
- }
- }
- else if(sourceEObj instanceof EnumerationLiteral) {
- if(template.getKind() == TemplateKind.LOOP_OPERATIONS) {
- EnumerationLiteral literal = (EnumerationLiteral)sourceEObj;
- Classifier actual = getFirstActualFromBinding(binding, literal);
- // Type passedActual = getPassedActual(template, actual, boundClass);
- Type passedActual = actual;
- if(!(passedActual instanceof Interface)) {
- return sourceEObj;
- }
- Interface passedActualIntf = (Interface)passedActual;
- EnumerationLiteral newLiteral = null;
- for(Operation intfOperation : passedActualIntf.getAllOperations()) {
- copy.removeForCopy(literal);
- newLiteral = copy.getCopy(literal);
- String newName = AcceleoDriverWrapper.evaluate(literal.getName(), intfOperation, args);
- newLiteral.setName(newName);
- }
- return newLiteral;
- }
- }
- */
+ }
+
+ if(sourceEObj instanceof Element) {
+
+ Template template = UMLUtil.getStereotypeApplication((Element)sourceEObj, Template.class);
+ if((template != null)) {
+ BindingHelper helper = template.getHelper();
+ if (helper != null) {
+ return BindingHelperExt.applyHelper(helper, copy, binding, sourceEObj);
}
}
}
return sourceEObj;
-
- /*
- } catch (TransformationException e) {
- // throw runtime exception
- throw new RuntimeException(String.format(Messages.TemplateInstantiationListener_TrafoException, e.getMessage()));
- }
- */
- }
-
-
- /*
- private Type getPassedActual(Template template, Type actual, Class boundClass) {
- if(template.getActualChoice() == ActualChoice.INTERFACE_OF_PPORT) {
- return getInterfaceFromPortTypedWithActual(actual, boundClass, true);
- } else if(template.getActualChoice() == ActualChoice.INTERFACE_OF_RPORT) {
- // TODO: typically does not make sense to loop over it.
- return getInterfaceFromPortTypedWithActual(actual, boundClass, false);
- } else if(template.getActualChoice() == ActualChoice.PASS_ACTUAL) {
- return actual;
- } else {
- // default behavior (common use in connectors): in case of a loop over operations, return actual
- // from provided port
- // TODO: Again, this is a hack!
- if(template.getKind() == TemplateKind.LOOP_OPERATIONS) {
- return getInterfaceFromPortTypedWithActual(actual, boundClass, true);
- } else {
- return actual;
- }
- }
}
- */
}
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/TemplateUtils.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/TemplateUtils.java
index 46e9e609071..6061217194d 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/TemplateUtils.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/TemplateUtils.java
@@ -19,18 +19,28 @@ import java.util.Iterator;
import org.eclipse.core.runtime.Status;
import org.eclipse.emf.common.util.BasicEList;
import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.qompass.designer.core.ConnectorUtils;
import org.eclipse.papyrus.qompass.designer.core.CreationUtils;
import org.eclipse.papyrus.qompass.designer.core.Log;
import org.eclipse.papyrus.qompass.designer.core.Messages;
+import org.eclipse.papyrus.qompass.designer.core.PortUtils;
+import org.eclipse.papyrus.qompass.designer.core.Utils;
import org.eclipse.papyrus.qompass.designer.core.transformations.Copy;
import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationException;
import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.EncapsulatedClassifier;
import org.eclipse.uml2.uml.NamedElement;
import org.eclipse.uml2.uml.Namespace;
import org.eclipse.uml2.uml.Package;
import org.eclipse.uml2.uml.PackageMerge;
import org.eclipse.uml2.uml.ParameterableElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.StructuredClassifier;
import org.eclipse.uml2.uml.TemplateBinding;
import org.eclipse.uml2.uml.TemplateParameter;
import org.eclipse.uml2.uml.TemplateParameterSubstitution;
@@ -320,4 +330,62 @@ public class TemplateUtils {
}
return null;
}
+
+ /**
+ * Re-target connectors after a part has changed its type from template to an instantiation
+ * of this template. In this case, the roles of the connector ends still reference the port
+ * of the template instead of the bound template binding.
+ * The new roles are assigned based on an equal name, assuming that template instantiation
+ * does not change the name of the ports.
+ *
+ * @param composite a composite containing connectors
+ * @param part a part within the composite whose type has changed.
+ */
+ public static void retargetConnectors(StructuredClassifier composite, Property part) {
+ Type partType = part.getType();
+ if (partType instanceof EncapsulatedClassifier) {
+ EncapsulatedClassifier partTypeEC = (EncapsulatedClassifier) partType;
+ for(Connector connector : composite.getOwnedConnectors()) {
+ if(ConnectorUtils.connectsPart(connector, part)) {
+ // the connector end targets a port of a part or the composite (in case of delegation)
+ ConnectorEnd connEnd = ConnectorUtils.connEndForPart(connector, part);
+ // redirect role, if pointing to port
+ if(connEnd.getRole() instanceof Port) {
+ Port connectedTemplatePort = (Port)connEnd.getRole();
+ Port connectedBoundPort = (Port)Utils.getNamedElementFromList(
+ PortUtils.getAllPorts(partTypeEC), connectedTemplatePort.getName());
+ connEnd.setRole(connectedBoundPort);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * Re-target connectors after an unknown number of parts have changed their type from template
+ * to an instantiation of this template. In this case, the roles of the connector ends still
+ * reference the port of the template instead of the bound template binding.
+ * The new roles are assigned based on an equal name, assuming that template instantiation
+ * does not change the name of the ports.
+ *
+ * @param composite a composite containing connectors
+ */
+ public static void retargetConnectors(StructuredClassifier composite) {
+ for(Connector connector : composite.getOwnedConnectors()) {
+ // the connector end targets a port of a part or the composite (in case of delegation)
+ for (ConnectorEnd connEnd : connector.getEnds()) {
+ Property part = connEnd.getPartWithPort();
+ if ((part != null) && (part.getType() instanceof EncapsulatedClassifier)) {
+ EncapsulatedClassifier partTypeEC = (EncapsulatedClassifier) part.getType();
+ ConnectableElement role = connEnd.getRole();
+ EList<Port> ports = PortUtils.getAllPorts(partTypeEC);
+ if ((role instanceof Port) && !ports.contains(role)) {
+ // role is not in list of ports
+ Port connectedBoundPort = (Port)Utils.getNamedElementFromList(ports, role.getName());
+ connEnd.setRole(connectedBoundPort);
+ }
+ }
+ }
+ }
+ }
}
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/AbstractContainerTrafo.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/AbstractContainerTrafo.java
index 12ca2ec6579..eb6e8fee831 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/AbstractContainerTrafo.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/AbstractContainerTrafo.java
@@ -95,13 +95,6 @@ public abstract class AbstractContainerTrafo {
public void finalize() {
}
-
- /**
- * The created container implementation (prefixed with sm, since part of
- * source model)
- */
- protected Class smClass;
-
/**
* The created container implementation (prefixed with tm, since part of
* target model)
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/CompImplTrafos.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/CompImplTrafos.java
index f87ce91d5a5..f789e2c22f2 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/CompImplTrafos.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/CompImplTrafos.java
@@ -253,7 +253,10 @@ public class CompImplTrafos {
body = part.getName();
ConnectableElement role = ce.getRole();
if(role instanceof Port) {
- body += refOp(part) + opName;
+ // in case of a delegation, use name of target port which might be different
+ String targetOpName = PrefixConstants.connectQ_Prefix + role.getName();
+ body += refOp(part) + targetOpName;
+ // TODO: no check that multiplicity of both port matches
if((portInfo.getUpper() > 1) || (portInfo.getUpper() == -1)) {
body += "(index, ref);"; //$NON-NLS-1$
} else {
@@ -502,8 +505,8 @@ public class CompImplTrafos {
* @return
*/
public static boolean instantiateViaBootloader(Class implementation) {
- return Utils.isCompType(implementation) ||
- implementation.isAbstract() || Utils.isSingleton(implementation) ||
+ return
+ implementation.isAbstract() ||
Utils.isAssembly(implementation);
}
@@ -539,7 +542,7 @@ public class CompImplTrafos {
* @return
*/
protected static String refOp(Property part) {
- return instantiateViaBootloader(part) ?
+ return ((part.getAggregation() == AggregationKind.SHARED_LITERAL) || StereotypeUtil.isApplied(part, Ptr.class)) ?
"->" : "."; //$NON-NLS-1$ //$NON-NLS-2$
}
}
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/ConnectorReification.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/ConnectorReification.java
index 8c385174d53..357fd6a34ef 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/ConnectorReification.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/ConnectorReification.java
@@ -31,7 +31,6 @@ import org.eclipse.papyrus.qompass.designer.core.ConnectorUtils;
import org.eclipse.papyrus.qompass.designer.core.Log;
import org.eclipse.papyrus.qompass.designer.core.Messages;
import org.eclipse.papyrus.qompass.designer.core.PortUtils;
-import org.eclipse.papyrus.qompass.designer.core.Utils;
import org.eclipse.papyrus.qompass.designer.core.deployment.AllocUtils;
import org.eclipse.papyrus.qompass.designer.core.deployment.DepUtils;
import org.eclipse.papyrus.qompass.designer.core.templates.ConnectorBinding;
@@ -153,21 +152,8 @@ public class ConnectorReification {
}
Property tmConnectorPart = copy.getCopy(smConnectorPart);
tmConnectorPart.setType(connectorImplem);
- // now retarget connectors towards this part
-
- for(Connector connector : tmComponent.getOwnedConnectors()) {
- if(ConnectorUtils.connectsPart(connector, tmConnectorPart)) {
- // the connector end targets a port of a part or the composite (in case of delegation)
- ConnectorEnd connEnd = ConnectorUtils.connEndForPart(connector, tmConnectorPart);
- // redirect role, if pointing to port
- if(connEnd.getRole() instanceof Port) {
- Port connectedTemplatePort = (Port)connEnd.getRole();
- Port connectedBoundPort = (Port)Utils.getNamedElementFromList(
- PortUtils.getAllPorts(connectorImplem), connectedTemplatePort.getName());
- connEnd.setRole(connectedBoundPort);
- }
- }
- }
+ // now re-target connectors towards this part
+ TemplateUtils.retargetConnectors(tmComponent, tmConnectorPart);
return tmConnectorPart;
}
@@ -465,9 +451,7 @@ public class ConnectorReification {
for(Slot slot : compositeIS.getSlots()) {
if(slot.getDefiningFeature() == otherPart) {
InstanceSpecification containedInstance = DepUtils.getInstance(slot);
- // TODO: too complicated, if the non-connector is a composite as well, it must be clearly allocated
- EList<InstanceSpecification> nodes = AllocUtils.getAllNodesForPort(
- containedInstance, otherPort);
+ EList<InstanceSpecification> nodes = AllocUtils.getAllNodesForPort(containedInstance, otherPort);
AllocUtils.propagateNodesViaPort(
DepUtils.getInstance(partSlot), myPort, nodes);
break;
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/ContainerTrafo.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/ContainerTrafo.java
index 40d7e55ae02..41364c8b593 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/ContainerTrafo.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/ContainerTrafo.java
@@ -21,10 +21,15 @@ import java.util.Map;
import org.eclipse.emf.common.util.BasicEList;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.papyrus.FCM.BindTemplate;
import org.eclipse.papyrus.FCM.ContainerRule;
+import org.eclipse.papyrus.FCM.ContainerRuleKind;
import org.eclipse.papyrus.FCM.InteractionComponent;
import org.eclipse.papyrus.FCM.InterceptionKind;
import org.eclipse.papyrus.FCM.InterceptionRule;
+import org.eclipse.papyrus.FCM.Singleton;
+import org.eclipse.papyrus.FCM.util.FCMUtil;
+import org.eclipse.papyrus.FCM.util.MapUtil;
import org.eclipse.papyrus.qompass.designer.core.ConnectorUtils;
import org.eclipse.papyrus.qompass.designer.core.Messages;
import org.eclipse.papyrus.qompass.designer.core.PortUtils;
@@ -33,7 +38,6 @@ import org.eclipse.papyrus.qompass.designer.core.Utils;
import org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool;
import org.eclipse.papyrus.qompass.designer.core.deployment.DepCreation;
import org.eclipse.papyrus.qompass.designer.core.deployment.DepUtils;
-import org.eclipse.papyrus.qompass.designer.core.deployment.DeployConstants;
import org.eclipse.papyrus.qompass.designer.core.templates.TemplateInstantiation;
import org.eclipse.papyrus.qompass.designer.core.templates.TemplateUtils;
import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
@@ -46,11 +50,11 @@ import org.eclipse.uml2.uml.EncapsulatedClassifier;
import org.eclipse.uml2.uml.Feature;
import org.eclipse.uml2.uml.InstanceSpecification;
import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.PackageableElement;
import org.eclipse.uml2.uml.Port;
import org.eclipse.uml2.uml.Property;
import org.eclipse.uml2.uml.Slot;
import org.eclipse.uml2.uml.TemplateBinding;
+import org.eclipse.uml2.uml.TemplateParameter;
import org.eclipse.uml2.uml.TemplateSignature;
import org.eclipse.uml2.uml.Type;
import org.eclipse.uml2.uml.UMLPackage;
@@ -98,17 +102,31 @@ public class ContainerTrafo extends AbstractContainerTrafo {
*/
@Override
public void createContainer(Class smComponent, Class tmComponent) throws TransformationException {
- Package tmPkgOwner = tmComponent.getNearestPackage();
- // create a container with the suitable postfix
+ Package tmPkgOwner;
+ if (tmComponent.eResource() == tmCDP.eResource()) {
+ // tmComponent is in same model as tmContainer
+ tmPkgOwner = tmComponent.getNearestPackage();
+ }
+ else {
+ // tmComponent is not a member of the target model. This is the case, if tmComponent is
+ // in an imported model that has not been copied during the transformation towards an intermediate
+ // model.
+ tmPkgOwner = MapUtil.getAndCreate(Utils.getTop(tmCDP), tmComponent.allNamespaces(), true);
+ }
+ // create a container with the suitable postfix
tmContainerImpl = tmPkgOwner.createOwnedClass(tmComponent.getName() + containerPostfix, false);
+
+ // Apply singleton to container, if original class is a singleton
+ boolean isSingleton = StereotypeUtil.isApplied(smComponent, Singleton.class);
+ if (isSingleton) {
+ StereotypeUtil.apply(tmContainerImpl, Singleton.class);
+ }
Copy.copyID(tmComponent, tmContainerImpl, containerPostfix);
// add part and slot corresponding to component;
executorPart = tmContainerImpl.createOwnedAttribute(executorPartName, tmComponent);
Copy.copyID(tmComponent, executorPart, "e"); //$NON-NLS-1$
- this.smClass = smComponent;
-
executorPart.setIsComposite(true);
// copy ports from the executor (tmComponent) to the container
@@ -118,7 +136,7 @@ public class ContainerTrafo extends AbstractContainerTrafo {
for(Port port : PortUtils.getAllPorts(tmComponent)) {
// copy port
if (port.getVisibility() == VisibilityKind.PUBLIC_LITERAL) {
- Port newPort = EcoreUtil.copy(port); // don't use E3CM copy, since this is not a copy from source to target model
+ Port newPort = EcoreUtil.copy(port); // don't use Qompass copy, since this is not a copy from source to target model
tmContainerImpl.getOwnedAttributes().add(newPort);
StUtils.copyStereotypes(port, newPort);
@@ -190,26 +208,17 @@ public class ContainerTrafo extends AbstractContainerTrafo {
// containers.put(tmComponent, this);
EList<Slot> connectorSlots = new BasicEList<Slot>();
+ executorIS = tmIS;
// now create instances for the contained elements
for(Property extensionPart : tmContainerImpl.getAttributes()) {
Type tmContainerExtImpl = extensionPart.getType();
if(tmContainerExtImpl instanceof Class) {
- if (DepUtils.getSlot(executorIS, extensionPart) == null) {
+ if (DepUtils.getSlot(containerIS, extensionPart) == null) {
// no slot for part exists => assume that the part has been added by the container and create an instance specification for it.
- String isName;
InstanceSpecification containerExtIS = null;
- if(Utils.isSingleton((Class)tmContainerExtImpl)) {
- // is a singleton - exactly one instance exists
- // use a common instance prefix for singletons
- isName = DeployConstants.singletonPrefix + extensionPart.getName();
- PackageableElement pe = tmCDP.getPackagedElement(isName);
- if (pe instanceof InstanceSpecification) {
- containerExtIS = (InstanceSpecification) pe;
- }
- }
- else {
- isName = containerIS.getName() + "." + extensionPart.getName(); //$NON-NLS-1$
- }
+
+ String isName = containerIS.getName() + "." + extensionPart.getName(); //$NON-NLS-1$
+
// create sub-instance and slot for extensions
if (containerExtIS == null) {
containerExtIS = DepCreation.createDepPlan(tmCDP, (Class)tmContainerExtImpl, isName, false);
@@ -304,23 +313,21 @@ public class ContainerTrafo extends AbstractContainerTrafo {
// DepUtils.chooseImplementation((Class) type,
// new BasicEList<InstanceSpecification>(), false);
- if(StereotypeUtil.isApplied(extOrInterceptor, InteractionComponent.class)) {
+ if(StereotypeUtil.isApplied(part, InterceptionRule.class)) {
+ if(StereotypeUtil.isApplied(extOrInterceptor, InteractionComponent.class)) {
- InterceptionRule interceptionRule = UMLUtil.getStereotypeApplication(part, InterceptionRule.class);
- InterceptionKind interceptionKind = InterceptionKind.INTERCEPT_ALL; // default: intercept all ports
- EList<Feature> interceptFeatures = null;
- if(interceptionRule != null) {
- interceptionKind = interceptionRule.getInterceptionKind();
- interceptFeatures = interceptionRule.getInterceptionSet();
- }
- EList<Property> interceptorParts =
+ InterceptionRule interceptionRule = UMLUtil.getStereotypeApplication(part, InterceptionRule.class);
+ InterceptionKind interceptionKind = interceptionRule.getInterceptionKind();
+ EList<Feature> interceptFeatures = interceptionRule.getInterceptionSet();
+ EList<Property> interceptorParts =
expandInterceptorExtension(interceptionKind, interceptFeatures, extOrInterceptor, tmComponent);
- interceptorPartsMap.put(part, interceptorParts);
- }
- else if(StereotypeUtil.isApplied(part, InterceptionRule.class)) {
- throw new TransformationException(String.format(
- Messages.ContainerTrafo_InterceptionRuleButNoInterceptor,
- part.getName(), smContainerRule.getBase_Class().getName()));
+ interceptorPartsMap.put(part, interceptorParts);
+ }
+ else {
+ throw new TransformationException(String.format(
+ Messages.ContainerTrafo_InterceptionRuleButNoInterceptor,
+ part.getName(), smContainerRule.getBase_Class().getName()));
+ }
}
else {
Property extensionPart =
@@ -333,7 +340,8 @@ public class ContainerTrafo extends AbstractContainerTrafo {
}
}
createConnectorForAssociations();
- // tell copy that tmcontainerImpl is associated with the smContainerRule
+
+ // tell copier that tmcontainerImpl is associated with the smContainerRule
// register a package template (although it is not a template) to assure that the connectors
// get copied, although they are in a different resource (only the connectors are copied, not
// the types of the referenced parts).
@@ -375,6 +383,8 @@ public class ContainerTrafo extends AbstractContainerTrafo {
}
}
copy.setPackageTemplate(null, null);
+
+ TemplateUtils.retargetConnectors(tmContainerImpl);
}
/**
@@ -392,15 +402,62 @@ public class ContainerTrafo extends AbstractContainerTrafo {
if(signature == null) {
// no template signature, just copy the container extension into the target model
tmContainerExtImpl = copy.getCopy(smContainerExtImpl);
- } else {
- // template signature found, instantiate container extension via the
- // template binding mechanism
- TemplateBinding binding = TemplateUtils.fixedBinding(copy.target, smContainerExtImpl, tmComponent);
+ }
+ else {
+ // template signature found, instantiate container extension via template binding mechanism
+ Classifier actual;
+ if (StereotypeUtil.isApplied(smExtensionPart, BindTemplate.class)) {
+ BindTemplate bt = UMLUtil.getStereotypeApplication(smExtensionPart, BindTemplate.class);
+ // use explicit binding from stereotype
+ actual = (Classifier) bt.getActual().get(0);
+ }
+ else {
+ // use executor component as actual
+ actual = tmComponent;
+ }
+ // template signature and instantiate container extension via the
+ // template binding mechanism, use executor component as actual
+ TemplateBinding binding = TemplateUtils.fixedBinding(copy.target, smContainerExtImpl, actual);
Object[] args = new Object[]{};
TemplateInstantiation ti = new TemplateInstantiation(copy, binding, args);
tmContainerExtImpl = (Class)ti.bindNamedElement(smContainerExtImpl);
}
+ // --------------------------------------------------
+ // a container extension could be subject to container rules as well, i.e. need
+ // to handle recursive rule application.
+ EList<ContainerRule> rules = FCMUtil.getAllContainerRules(smContainerExtImpl);
+
+ // get container trafo instance, if already existing
+ AbstractContainerTrafo containerTrafo = ContainerTrafo.get(tmContainerExtImpl);
+
+ if(containerTrafo == null) {
+ // no container exists, check rules and create eventually
+ for(ContainerRule rule : rules) {
+ if(RuleManagement.isRuleActive(rule)) {
+ // at least one active rule => create container (or get previously instantiated))
+ if(containerTrafo == null) {
+ if(rule.getKind() == ContainerRuleKind.LIGHT_WEIGHT_OO_RULE) {
+ throw new TransformationException("Recursive lightweight container rules currently not supported");
+ }
+ else {
+ containerTrafo = new ContainerTrafo(copy, tmCDP, null);
+ }
+ containerTrafo.createContainer(smContainerExtImpl, tmContainerExtImpl);
+ }
+ else {
+ // configure only??
+ }
+ containerTrafo.applyRule(rule, smContainerExtImpl, tmContainerExtImpl);
+ }
+ }
+ if (containerTrafo != null) {
+ containerTrafo.finalize();
+ tmContainerExtImpl = ((ContainerTrafo) containerTrafo).getContainer();
+ }
+ }
+ // --------------------------------------------------
+
// add part associated with the extension to the container
extensionPart = tmContainerImpl.createOwnedAttribute(name, tmContainerExtImpl);
@@ -408,6 +465,7 @@ public class ContainerTrafo extends AbstractContainerTrafo {
extensionPart.setAggregation(smExtensionPart.getAggregation());
Copy.copyMultElemModifiers(smExtensionPart, extensionPart);
Copy.copyFeatureModifiers(smExtensionPart, extensionPart);
+
return extensionPart;
}
@@ -436,13 +494,27 @@ public class ContainerTrafo extends AbstractContainerTrafo {
if(extKind == InterceptionKind.INTERCEPT_ALL_IN) {
// IN-PORT = provided port
match = (PortUtils.getProvided(port) != null);
- } else if(extKind == InterceptionKind.INTERCEPT_ALL_OUT) {
+ }
+ else if(extKind == InterceptionKind.INTERCEPT_ALL_OUT) {
// IN-PORT = provided port
match = (PortUtils.getRequired(port) != null);
- } else if(extKind == InterceptionKind.INTERCEPT_SOME) {
+ }
+ else if(extKind == InterceptionKind.INTERCEPT_SOME) {
// comparison based on name, since in different models
match = (Utils.getNamedElementFromList(featureList, port.getName()) != null);
}
+ else if(extKind == InterceptionKind.INTERCEPT_MATCHING) {
+ EList<Port> interceptorPorts = PortUtils.getAllPorts(smContainerConnImpl);
+ match = false;
+ // get first port from interception connector that is typed with a template parameter
+ for (Port interceptorPort : interceptorPorts) {
+ if (interceptorPort.getType().getOwner() instanceof TemplateParameter) {
+ match = (PortUtils.getKind(port) == PortUtils.getKind(interceptorPort));
+ break;
+ }
+ }
+ }
+
// else INTERCEPT_ALL_PORT => match remains true
if(!match) {
// port does not match criterion, continue with next port
@@ -465,7 +537,7 @@ public class ContainerTrafo extends AbstractContainerTrafo {
throw new TransformationException(Messages.ContainerTrafo_CannotFindDelegationConn);
}
- interceptionConnector.setName(interceptorName + port.getName() + counter);
+ interceptionConnector.setName(interceptionName);
org.eclipse.papyrus.FCM.Connector fcmConn = StereotypeUtil.applyApp(interceptionConnector, org.eclipse.papyrus.FCM.Connector.class);
InteractionComponent fcmConnType = UMLUtil.getStereotypeApplication(smContainerConnImpl, InteractionComponent.class);
fcmConn.setIc(fcmConnType);
@@ -529,11 +601,12 @@ public class ContainerTrafo extends AbstractContainerTrafo {
/**
* Create an connector for parts that have an association. The rationale
- * behind this is
+ * behind this is support connections between the state machine in the container
+ * and the executor.
*
*/
public void createConnectorForAssociations() {
- // TODO: keep list of added parts, only recheck those!
+ // TODO: keep list of added parts, only re-check those!
for(Property part : Utils.getParts(tmContainerImpl)) {
if(part.getType() == null) {
@@ -595,7 +668,8 @@ public class ContainerTrafo extends AbstractContainerTrafo {
for (Port svcPort : containerSvc.getOwnedPorts()) {
if (PortUtils.matches(executorPort, svcPort, true)) {
// create connector
- Connector c = tmContainerImpl.createOwnedConnector("auto"); //$NON-NLS-1$
+ Connector c = tmContainerImpl.createOwnedConnector(
+ String.format("auto from %s to %s", executorPart.getName(), svcPart.getName())); //$NON-NLS-1$
ConnectorEnd ce1 = c.createEnd();
ConnectorEnd ce2 = c.createEnd();
ce1.setPartWithPort(executorPart);
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/Copy.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/Copy.java
index 790048a6f5d..b930350bf66 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/Copy.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/Copy.java
@@ -308,8 +308,20 @@ public class Copy extends Copier {
private Stack<Namespace> boundPackages;
+ /**
+ * Remove an element and its children from the map to enable subsequent copies, in particular if the
+ * same element (e.g. an operation) is bound multiple times within a template instantiation.
+ * TODO: there must be a better way to do this.
+ * @param element
+ */
public void removeForCopy(EObject element) {
templateMap.remove(element);
+ if(element instanceof Element) {
+ // also remove applied stereotypes
+ for (EObject stereoApplication : ((Element) element).getStereotypeApplications()) {
+ removeForCopy(stereoApplication);
+ }
+ }
EClass eClass = element.eClass();
for(int i = 0, size = eClass.getFeatureCount(); i < size; ++i)
{
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/InstantiateDepPlan.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/InstantiateDepPlan.java
index ff8779bb0f0..a1e27391ee8 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/InstantiateDepPlan.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/InstantiateDepPlan.java
@@ -199,17 +199,19 @@ public class InstantiateDepPlan {
InstanceConfigurator.onNodeModel = false;
MainModelTrafo mainModelTrafo = new MainModelTrafo(tmpCopy, tmCDP);
InstanceSpecification newRootIS = mainModelTrafo.transformInstance(rootIS, null);
- DeploymentPlan newCDP = StereotypeUtil.applyApp(tmCDP, DeploymentPlan.class);
- newCDP.setMainInstance(newRootIS);
monitor.worked(1);
// 1c: late bindings
// LateEval.bindLateOperations();
// 3: distribute to nodes
+ // UpdateDerivedInterfaces.updateIntfs(newRootIS);
+
ApplyInstanceConfigurators.applyInstanceConfigurators(newRootIS);
FlattenInteractionComponents.getInstance().flattenAssembly(newRootIS, null);
+
+ PropagateAllocationToSharedInstances.propagateAllocation(newRootIS);
String tmpPath = tmpMM.getPath(project, TEMP_MODEL_FOLDER, tmpModel.getName() + TEMP_MODEL_POSTFIX);
tmpMM.saveModel(tmpPath);
@@ -263,7 +265,9 @@ public class InstantiateDepPlan {
ILangSupport langSupport = LanguageSupport.getLangSupport(targetLanguage);
langSupport.resetConfigurationData();
- Deploy deploy = Deploy.distributeToNode(targetCopy, langSupport, node, nodeIndex, nodes.size(), newRootIS);
+ Deploy deploy = new Deploy(targetCopy, langSupport, node, nodeIndex, nodes.size());
+ InstanceSpecification nodeRootIS = deploy.distributeToNode(newRootIS);
+ UpdateDerivedInterfaces.updateIntfs(nodeRootIS);
if(monitor.isCanceled()) {
return;
@@ -275,11 +279,14 @@ public class InstantiateDepPlan {
// Due to the copying of imports, the top-level package has changed which implies that new
// derived interfaces are put into a different package and the derivedInterfaces package in
// the original root becomes obsolete. Delete this obsolete package, if existing.
- NamedElement derivedInterfaces = Utils.getQualifiedElement(genModel, "root::derivedInterfaces"); //$NON-NLS-1$
- if(derivedInterfaces instanceof Package) {
- derivedInterfaces.destroy();
+ for (PackageableElement pe : genModel.getPackagedElements()) {
+ if (pe instanceof Package) {
+ NamedElement derivedInterfaces = ((Package) pe).getPackagedElement("derivedInterfaces"); //$NON-NLS-1$
+ if(derivedInterfaces instanceof Package) {
+ derivedInterfaces.destroy();
+ }
+ }
}
-
// 2c: add get_p/connect_q operations
// caveat: may modify imported classes
CompImplTrafos.bootloader = deploy.getBootloader();
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/LWContainerTrafo.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/LWContainerTrafo.java
index d47ec6d4196..75b169e87ab 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/LWContainerTrafo.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/LWContainerTrafo.java
@@ -109,7 +109,6 @@ public class LWContainerTrafo extends AbstractContainerTrafo {
// => clarify, how container handles super-classes, i.e. if it inherits ports as well (from a container of the abstract component) or not (not trivial at all!)
// TODO: don't copy derived operations
- this.smClass = smClass;
this.tmClass = tmClass;
// create a copy of all operations
operations = new BasicEList<Operation>(smClass.getAllOperations());
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/MainModelTrafo.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/MainModelTrafo.java
index 8bfea62d6af..0936fdeea4c 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/MainModelTrafo.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/MainModelTrafo.java
@@ -182,8 +182,19 @@ public class MainModelTrafo {
}
String instName = smIS.getName();
+ // first check, if instance specification exists already. This may be the case for explicitly modeled singleton instances.
InstanceSpecification tmIS = (InstanceSpecification)
- tmCDP.createPackagedElement(instName, UMLPackage.eINSTANCE.getInstanceSpecification());
+ tmCDP.getPackagedElement(instName);
+ if (tmIS == null) {
+ tmIS = (InstanceSpecification)
+ tmCDP.createPackagedElement(instName, UMLPackage.eINSTANCE.getInstanceSpecification());
+ }
+ if (smDF == null) {
+ // no defining feature => must be main instance
+ // => apply deployment plan stereotype and set main instance
+ DeploymentPlan newCDP = StereotypeUtil.applyApp(tmCDP, DeploymentPlan.class);
+ newCDP.setMainInstance(tmIS);
+ }
Class tmComponent = copy.getCopy(smComponent);
if(tmComponent == null) {
@@ -238,7 +249,13 @@ public class MainModelTrafo {
// copy node allocation
for(InstanceSpecification smNode : AllocUtils.getNodes(smIS)) {
InstanceSpecification tmNode = copy.getCopy(smNode);
- AllocUtils.allocate(tmIS, tmNode);
+ if (containerIS != null) {
+ // allocate container instead of executor.
+ AllocUtils.allocate(containerIS, tmNode);
+ }
+ else {
+ AllocUtils.allocate(tmIS, tmNode);
+ }
if(!nodeHandled.containsKey(tmNode)) {
// check if node (on an instance level) has already been treated. This is required, since many
@@ -403,7 +420,9 @@ public class MainModelTrafo {
// copy slots from the source deployment plan that are related to connector configuration
InstanceSpecification smConnectorIS = DepUtils.getNamedSubInstance(smIS, smConnector.getName());
if(smConnectorIS != null) {
- copy.put(smConnectorIS, tmReifiedConnectorIS);
+ // use putPair instead of put only - see bug 426748, avoid that classifier attribute points
+ // to two classifiers (bound and unbound)
+ copy.putPair(smConnectorIS, tmReifiedConnectorIS);
for(Slot smSlot : smConnectorIS.getSlots()) {
copy.getCopy(smSlot);
}
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/PropagateAllocationToSharedInstances.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/PropagateAllocationToSharedInstances.java
new file mode 100644
index 00000000000..cc34e630d6e
--- /dev/null
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/PropagateAllocationToSharedInstances.java
@@ -0,0 +1,58 @@
+/*****************************************************************************
+ * 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.designer.core.transformations;
+
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.UniqueEList;
+import org.eclipse.papyrus.qompass.designer.core.Log;
+import org.eclipse.papyrus.qompass.designer.core.deployment.AllocUtils;
+import org.eclipse.papyrus.qompass.designer.core.deployment.DepUtils;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Slot;
+
+
+/**
+ * Propagate allocation to shared instances: if a class references another instance
+ * via sharing, the shared instance must be allocated on the node of the referencing
+ * class as well.
+ *
+ */
+public class PropagateAllocationToSharedInstances {
+ public static void propagateAllocation(InstanceSpecification instance) {
+ propagateAllocation(instance, new UniqueEList<InstanceSpecification>());
+ }
+
+ public static void propagateAllocation(InstanceSpecification instance, EList<InstanceSpecification> nodes) {
+ // create copy of node (otherwise, more and more nodes get aggregated.
+ UniqueEList<InstanceSpecification> nodesCopy = new UniqueEList<InstanceSpecification>();
+ nodesCopy.addAll(nodes);
+ nodesCopy.addAll(AllocUtils.getNodes(instance));
+ for (Slot slot : instance.getSlots()) {
+ InstanceSpecification subInstance = DepUtils.getInstance(slot);
+ if (subInstance != null) {
+ if (DepUtils.isShared(slot)) {
+ for (InstanceSpecification node : nodesCopy) {
+ Log.log(Status.INFO, Log.DEPLOYMENT, String.format("Propagate node allocation: %s to %s", subInstance.getName(), node.getName())); //$NON-NLS-1$
+ AllocUtils.allocate(subInstance, node);
+ }
+ }
+ else {
+ propagateAllocation(subInstance, nodesCopy);
+ }
+ }
+ }
+ }
+}
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/UpdateDerivedInterfaces.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/UpdateDerivedInterfaces.java
new file mode 100644
index 00000000000..1bec8c88131
--- /dev/null
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/UpdateDerivedInterfaces.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * 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.designer.core.transformations;
+
+import org.eclipse.papyrus.qompass.designer.core.deployment.DepUtils;
+import org.eclipse.papyrus.qompass.designer.core.sync.CompImplSync;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Slot;
+
+
+/**
+ * Update derived interfaces of ports. This is required, since the Copier does not follow references
+ * that are referenced via a derived attribute. Derived attributes are used for provided and required
+ * interfaces in the stereotype attributes of an FCM port. Thus, required (derived) interfaces would be
+ * unavailable in the copy, if not explicitly updated.
+ * However, the provided interface is not concerned as it appears in an "implements" relation. If the
+ * port is connected, the used interface of one port is the provided interface of the port counter part.
+ * Thus, the explicit update done by this function is not needed in most cases.
+ *
+ * see also FixTemplateSync (remove the latter?)
+ */
+public class UpdateDerivedInterfaces {
+ public static void updateIntfs(InstanceSpecification instance) {
+ Classifier cl = DepUtils.getClassifier(instance);
+ if (cl instanceof Class) {
+ Class implementation = (Class) cl;
+ CompImplSync.updatePorts(implementation);
+ CompImplSync.syncRealizations(implementation);
+ }
+ for (Slot slot : instance.getSlots()) {
+ InstanceSpecification subInstance = DepUtils.getInstance(slot);
+ if (!DepUtils.isShared(slot) && (subInstance != null)) {
+ updateIntfs(subInstance);
+ }
+ }
+ }
+}
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/filters/FilterStateMachines.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/filters/FilterStateMachines.java
index caa2cd88daa..1dd7b5ce874 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/filters/FilterStateMachines.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/filters/FilterStateMachines.java
@@ -16,12 +16,14 @@ package org.eclipse.papyrus.qompass.designer.core.transformations.filters;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.papyrus.qompass.designer.core.StUtils;
import org.eclipse.papyrus.qompass.designer.core.listeners.CopyListener;
import org.eclipse.papyrus.qompass.designer.core.transformations.Copy;
import org.eclipse.uml2.uml.Behavior;
import org.eclipse.uml2.uml.Class;
import org.eclipse.uml2.uml.Element;
import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Parameter;
import org.eclipse.uml2.uml.Region;
import org.eclipse.uml2.uml.StateMachine;
import org.eclipse.uml2.uml.Transition;
@@ -76,6 +78,11 @@ public class FilterStateMachines implements CopyListener {
return;
}
Operation operation = tmClass.createOwnedOperation(newName, null, null);
+ for (Parameter parameter : effect.getOwnedParameters()) {
+ Parameter newParameter = EcoreUtil.copy(parameter);
+ operation.getOwnedParameters().add(newParameter);
+ StUtils.copyStereotypes(parameter, newParameter);
+ }
copiedEffect.setSpecification(operation);
copiedEffect.setName(newName);
tmClass.getOwnedBehaviors().add(copiedEffect);
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/src/org/eclipse/papyrus/qompass/designer/ui/dialogs/AllocationDialog.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/src/org/eclipse/papyrus/qompass/designer/ui/dialogs/AllocationDialog.java
index debfcb26bab..ad0af39eea6 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/src/org/eclipse/papyrus/qompass/designer/ui/dialogs/AllocationDialog.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/src/org/eclipse/papyrus/qompass/designer/ui/dialogs/AllocationDialog.java
@@ -70,7 +70,6 @@ public class AllocationDialog extends SelectionStatusDialog {
public AllocationDialog(Shell parent, Package cdp) {
super(parent);
- // m_cdp = cdp;
m_cdp = UMLUtil.getStereotypeApplication(cdp, DeploymentPlan.class);
nodeOrThreadList = new BasicEList<InstanceSpecification>();
nodeOrThreadList.add(null); // dummy entry for no allocation
@@ -173,7 +172,7 @@ public class AllocationDialog extends SelectionStatusDialog {
setTextFromData(item);
// create children
- for(InstanceSpecification subIS : DepUtils.getContainedInstances(is)) {
+ for(InstanceSpecification subIS : DepUtils.getContainedNonSharedInstances(is)) {
fillTree(tree, item, subIS);
}
}
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 24da025656b..c6c2f8d918a 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
@@ -8,7 +8,8 @@ Require-Bundle: org.eclipse.ui,
org.eclipse.uml2.uml;bundle-version="4.0.0",
org.eclipse.papyrus.uml.tools.utils;bundle-version="1.0.0",
org.eclipse.papyrus.infra.core.log;bundle-version="1.0.0"
-Export-Package: org.eclipse.papyrus.qompass.modellibs.core
+Export-Package: org.eclipse.papyrus.qompass.modellibs.core,
+ org.eclipse.papyrus.qompass.modellibs.core.acceleo
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
Bundle-Version: 1.0.0.qualifier
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/build.acceleo b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/build.acceleo
index b9a612c8c60..c54d6aa1121 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/build.acceleo
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/build.acceleo
@@ -18,7 +18,7 @@
<acceleoCompiler
sourceFolder="${target.folder}"
outputFolder="${target.folder}"
- dependencies="${target.folder}/../../org.eclipse.papyrus.fcm.profile;${target.folder}/../../org.eclipse.papyrus.infra.core.sasheditor;${target.folder}/../../org.eclipse.papyrus.infra.core.sasheditor.di;${target.folder}/../../org.eclipse.papyrus.qompass.designer.core;${target.folder}/../../org.eclipse.papyrus.qompass.designer.vsl;${target.folder}/../../org.eclipse.papyrus.cpp.profile;${target.folder}/../../org.eclipse.papyrus.acceleo;${target.folder}/../../org.eclipse.papyrus.infra.widgets.toolbox;"
+ dependencies="${target.folder}/../../org.eclipse.papyrus.fcm.profile;${target.folder}/../../org.eclipse.papyrus.qompass.designer.core;${target.folder}/../../org.eclipse.papyrus.qompass.designer.vsl;${target.folder}/../../org.eclipse.papyrus.cpp.profile;${target.folder}/../../org.eclipse.papyrus.acceleo;"
binaryResource="false"
packagesToRegister="">
</acceleoCompiler>
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/examples/ClientServerTimer.notation b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/examples/ClientServerTimer.notation
index 10fdf737beb..02bc8ab2dfc 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/examples/ClientServerTimer.notation
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/examples/ClientServerTimer.notation
@@ -331,6 +331,9 @@
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_62o-4GSuEd-dQdK1-7wIFg" source="ShadowFigure">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_62o-4WSuEd-dQdK1-7wIFg" key="ShadowFigure_Value" value="false"/>
</eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4WS4wHk8EeOh_8tymvdOOg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4WS4wXk8EeOh_8tymvdOOg" key="fillColor" value="true"/>
+ </eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_sGa2IF37Ed-UvNEDwY5GNg" type="5156"/>
<children xmi:type="notation:BasicCompartment" xmi:id="_sGa2IV37Ed-UvNEDwY5GNg" type="7073">
<children xmi:type="notation:Shape" xmi:id="_uegu4F37Ed-UvNEDwY5GNg" type="3070" lineColor="0">
@@ -368,7 +371,7 @@
</eAnnotations>
<layoutConstraint xmi:type="notation:Location" xmi:id="_TLJ7gwcCEeGnrLqQ0OQeAg" x="20" y="1"/>
</children>
- <children xmi:type="notation:DecorationNode" xmi:id="_TLKikAcCEeGnrLqQ0OQeAg" type="6029">
+ <children xmi:type="notation:DecorationNode" xmi:id="_TLKikAcCEeGnrLqQ0OQeAg" visible="false" type="6029">
<layoutConstraint xmi:type="notation:Location" xmi:id="_TLKikQcCEeGnrLqQ0OQeAg" x="25" y="-10"/>
</children>
<element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
@@ -426,7 +429,7 @@
</eAnnotations>
<layoutConstraint xmi:type="notation:Location" xmi:id="_1luBFzrdEeGgAdAmWw4pyQ" x="-75" y="-18"/>
</children>
- <children xmi:type="notation:DecorationNode" xmi:id="_1luBGDrdEeGgAdAmWw4pyQ" type="6029">
+ <children xmi:type="notation:DecorationNode" xmi:id="_1luBGDrdEeGgAdAmWw4pyQ" visible="false" type="6029">
<layoutConstraint xmi:type="notation:Location" xmi:id="_1luBGTrdEeGgAdAmWw4pyQ" x="25" y="-10"/>
</children>
<element xmi:type="uml:Port" href="ClientServerTimer.uml#_DtWn4DLcEd2qeKRLMdIx_A"/>
@@ -474,7 +477,7 @@
</eAnnotations>
<layoutConstraint xmi:type="notation:Location" xmi:id="_3RXqkzrdEeGgAdAmWw4pyQ" x="25" y="3"/>
</children>
- <children xmi:type="notation:DecorationNode" xmi:id="_3RXqlDrdEeGgAdAmWw4pyQ" type="6029">
+ <children xmi:type="notation:DecorationNode" xmi:id="_3RXqlDrdEeGgAdAmWw4pyQ" visible="false" type="6029">
<layoutConstraint xmi:type="notation:Location" xmi:id="_3RXqlTrdEeGgAdAmWw4pyQ" x="25" y="-10"/>
</children>
<element xmi:type="uml:Port" href="ClientServerTimer.uml#_4KiE8DLbEd2qeKRLMdIx_A"/>
@@ -581,7 +584,7 @@
</eAnnotations>
<layoutConstraint xmi:type="notation:Location" xmi:id="_OEdn8SkDEeGDDbdzqSb4UA" x="-71" y="27"/>
</children>
- <children xmi:type="notation:DecorationNode" xmi:id="_OEdn8ikDEeGDDbdzqSb4UA" type="6029">
+ <children xmi:type="notation:DecorationNode" xmi:id="_OEdn8ikDEeGDDbdzqSb4UA" visible="false" type="6029">
<layoutConstraint xmi:type="notation:Location" xmi:id="_OEdn8ykDEeGDDbdzqSb4UA" x="25" y="-10"/>
</children>
<element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_3NSGwCkAEeGDDbdzqSb4UA"/>
@@ -776,6 +779,9 @@
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bfgXQaDjEd-rLNbSWf1QuA" key="PropStereoDisplay" value=""/>
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bfgXQqDjEd-rLNbSWf1QuA" key="StereotypePropertyLocation" value="Compartment"/>
</eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_v0z_4Hk8EeOh_8tymvdOOg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_v00m8Hk8EeOh_8tymvdOOg" key="fillColor" value="true"/>
+ </eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_QU4R4qDjEd-rLNbSWf1QuA" type="5029"/>
<children xmi:type="notation:BasicCompartment" xmi:id="_QU4R46DjEd-rLNbSWf1QuA" visible="false" type="7017">
<styles xmi:type="notation:SortingStyle" xmi:id="_QU4R5KDjEd-rLNbSWf1QuA"/>
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/examples/HelloWorld.notation b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/examples/HelloWorld.notation
index 3afc39afe8c..00866a49ece 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/examples/HelloWorld.notation
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/examples/HelloWorld.notation
@@ -37,6 +37,10 @@
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KU5Y0lT0EeKvFeqt5Q_lqw" key="PropStereoDisplay" value=""/>
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KU5Y01T0EeKvFeqt5Q_lqw" key="StereotypePropertyLocation" value="Compartment"/>
</eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4k6AsHk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4k7O0Hk1EeOph7IIHUnNoA" key="fillColor" value="true"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4urnwHk1EeOph7IIHUnNoA" key="gradient" value="true"/>
+ </eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_8rHJYFTzEeKvFeqt5Q_lqw" type="5126">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CBQusFT0EeKvFeqt5Q_lqw" source="CustomAppearance_Annotation">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CGsoUFT0EeKvFeqt5Q_lqw" key="CustomAppearance_MaskValue" value="28"/>
@@ -76,7 +80,7 @@
<children xmi:type="notation:DecorationNode" xmi:id="_6UflIVWUEeKdxoQIVxFNNg" type="5125">
<layoutConstraint xmi:type="notation:Location" xmi:id="_6UflIlWUEeKdxoQIVxFNNg" x="25" y="3"/>
</children>
- <children xmi:type="notation:DecorationNode" xmi:id="_6UflI1WUEeKdxoQIVxFNNg" type="6029">
+ <children xmi:type="notation:DecorationNode" xmi:id="_6UflI1WUEeKdxoQIVxFNNg" visible="false" type="6029">
<layoutConstraint xmi:type="notation:Location" xmi:id="_6UflJFWUEeKdxoQIVxFNNg" x="25" y="-10"/>
</children>
<element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
@@ -162,7 +166,7 @@
<children xmi:type="notation:DecorationNode" xmi:id="_wd891lWUEeKdxoQIVxFNNg" type="5125">
<layoutConstraint xmi:type="notation:Location" xmi:id="_wd9k4FWUEeKdxoQIVxFNNg" x="25" y="3"/>
</children>
- <children xmi:type="notation:DecorationNode" xmi:id="_wd9k4VWUEeKdxoQIVxFNNg" type="6029">
+ <children xmi:type="notation:DecorationNode" xmi:id="_wd9k4VWUEeKdxoQIVxFNNg" visible="false" type="6029">
<layoutConstraint xmi:type="notation:Location" xmi:id="_wd9k4lWUEeKdxoQIVxFNNg" x="25" y="-10"/>
</children>
<element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_OfiosJsrEd61Eo3nmu3JhQ"/>
@@ -227,6 +231,10 @@
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XsTi5NHtEd-A1oPfP47IaQ" source="QualifiedName">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XsTi5dHtEd-A1oPfP47IaQ" key="QualifiedNameDepth" value="1000"/>
</eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6iThgHk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6iUvoHk1EeOph7IIHUnNoA" key="fillColor" value="true"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6o-xQHk1EeOph7IIHUnNoA" key="gradient" value="true"/>
+ </eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_XsTi5tHtEd-A1oPfP47IaQ" type="5126">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yonwwFTzEeKvFeqt5Q_lqw" source="CustomAppearance_Annotation">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yzIXoFTzEeKvFeqt5Q_lqw" key="CustomAppearance_MaskValue" value="28"/>
@@ -298,6 +306,10 @@
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZQkTYVWjEeKOivupHOJ8Ew" source="QualifiedName">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZQkTYlWjEeKOivupHOJ8Ew" key="QualifiedNameDepth" value="1000"/>
</eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8slAsHk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8slnwHk1EeOph7IIHUnNoA" key="fillColor" value="true"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8-kvoHk1EeOph7IIHUnNoA" key="gradient" value="true"/>
+ </eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_ZQkTY1WjEeKOivupHOJ8Ew" type="5040"/>
<children xmi:type="notation:BasicCompartment" xmi:id="_ZQkTZFWjEeKOivupHOJ8Ew" type="7035">
<children xmi:type="notation:Shape" xmi:id="_ET2zcFWkEeKOivupHOJ8Ew" type="3030" fontName="Sans Serif" lineColor="0">
@@ -322,6 +334,10 @@
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z7UglFWjEeKOivupHOJ8Ew" source="QualifiedName">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z7UglVWjEeKOivupHOJ8Ew" key="QualifiedNameDepth" value="1000"/>
</eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8smO0nk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8smO03k1EeOph7IIHUnNoA" key="fillColor" value="true"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8-nL4Hk1EeOph7IIHUnNoA" key="gradient" value="true"/>
+ </eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_Z7UgllWjEeKOivupHOJ8Ew" type="5040"/>
<children xmi:type="notation:BasicCompartment" xmi:id="_Z7Ugl1WjEeKOivupHOJ8Ew" type="7035">
<children xmi:type="notation:Shape" xmi:id="_6VXKAFWjEeKOivupHOJ8Ew" type="3030" fontName="Sans Serif" lineColor="0">
@@ -346,6 +362,10 @@
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_85kzNFWjEeKOivupHOJ8Ew" source="QualifiedName">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_85kzNVWjEeKOivupHOJ8Ew" key="QualifiedNameDepth" value="1000"/>
</eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8smO0Hk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8smO0Xk1EeOph7IIHUnNoA" key="fillColor" value="true"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8-l9wHk1EeOph7IIHUnNoA" key="gradient" value="true"/>
+ </eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_85kzNlWjEeKOivupHOJ8Ew" type="5040"/>
<children xmi:type="notation:BasicCompartment" xmi:id="_85kzN1WjEeKOivupHOJ8Ew" visible="false" type="7035">
<styles xmi:type="notation:TitleStyle" xmi:id="_85laQFWjEeKOivupHOJ8Ew"/>
@@ -454,6 +474,10 @@
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4HMOdDefEeGPyrZ5I3hMlA" source="QualifiedName">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4HMOdTefEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/>
</eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__C2UgHk1EeOph7IIHUnNoA" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__C2UgXk1EeOph7IIHUnNoA" key="fillColor" value="true"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__Oj1QHk1EeOph7IIHUnNoA" key="gradient" value="true"/>
+ </eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_4HMOdjefEeGPyrZ5I3hMlA" type="5126">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ENwn8FWjEeKOivupHOJ8Ew" source="CustomAppearance_Annotation">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EUBoAFWjEeKOivupHOJ8Ew" key="CustomAppearance_MaskValue" value="28"/>
@@ -464,7 +488,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_4HMOeTefEeGPyrZ5I3hMlA"/>
</children>
<element xmi:type="uml:Property" href="HelloWorld.uml#_4HAoQDefEeGPyrZ5I3hMlA"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4HLnYTefEeGPyrZ5I3hMlA" x="61" y="22" width="162"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4HLnYTefEeGPyrZ5I3hMlA" x="49" y="22" width="190"/>
</children>
<styles xmi:type="notation:TitleStyle" xmi:id="_1w2pODefEeGPyrZ5I3hMlA"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w2pOTefEeGPyrZ5I3hMlA"/>
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/corba.uml b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/corba.uml
index 5b3a32464ac..bf073e2fe0b 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/corba.uml
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/corba.uml
@@ -48,7 +48,7 @@
<eAnnotations xmi:id="_DtQEwzLdEd2_U4efLnjQIw" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#/"/>
</eAnnotations>
- <appliedProfile href="pathmap://UML_PROFILES/StandardL2.profile.uml#_0"/>
+ <appliedProfile href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
</profileApplication>
<profileApplication xmi:id="_JV5UgB6LEd6Nj_33Eb_pxw">
<eAnnotations xmi:id="_JWB3YB6LEd6Nj_33Eb_pxw" source="http://www.eclipse.org/uml2/2.0.0/UML">
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/core.notation b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/core.notation
index 17f6b6cd0f8..535d9d22a88 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/core.notation
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/core.notation
@@ -1971,6 +1971,43 @@
<element xmi:type="uml:Comment" href="core.uml#_COvdAEMMEeKGIL695HkFYQ"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_CQkpAUMMEeKGIL695HkFYQ" x="252" y="405" width="469" height="37"/>
</children>
+ <children xmi:type="notation:Shape" xmi:id="_1GdhkH-QEeOtkrzuMiGEow" type="2004">
+ <children xmi:type="notation:DecorationNode" xmi:id="_1Gdhkn-QEeOtkrzuMiGEow" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1GeIoH-QEeOtkrzuMiGEow" visible="false" type="7006">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1GevsH-QEeOtkrzuMiGEow" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1GfWwH-QEeOtkrzuMiGEow" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1GeIoX-QEeOtkrzuMiGEow"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1GeIon-QEeOtkrzuMiGEow"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1GeIo3-QEeOtkrzuMiGEow"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1GeIpH-QEeOtkrzuMiGEow"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1GeIpX-QEeOtkrzuMiGEow" type="7007">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1GfWwX-QEeOtkrzuMiGEow" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1GfWwn-QEeOtkrzuMiGEow" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1GeIpn-QEeOtkrzuMiGEow"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1GeIp3-QEeOtkrzuMiGEow"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1GeIqH-QEeOtkrzuMiGEow"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1GeIqX-QEeOtkrzuMiGEow"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1GeIqn-QEeOtkrzuMiGEow" visible="false" type="7008">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1Ggk4H-QEeOtkrzuMiGEow" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1Ggk4X-QEeOtkrzuMiGEow" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1GeIq3-QEeOtkrzuMiGEow"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1GeIrH-QEeOtkrzuMiGEow"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1GeIrX-QEeOtkrzuMiGEow"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1GeIrn-QEeOtkrzuMiGEow"/>
+ </children>
+ <element xmi:type="uml:Interface" href="core.uml#_1FxlEH-QEeOtkrzuMiGEow"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1GdhkX-QEeOtkrzuMiGEow" x="21" y="518" width="224" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_7cugEH-QEeOtkrzuMiGEow" type="2012">
+ <children xmi:type="notation:DecorationNode" xmi:id="_7cugEn-QEeOtkrzuMiGEow" type="5038"/>
+ <element xmi:type="uml:Comment" href="core.uml#_7cXTsH-QEeOtkrzuMiGEow"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7cugEX-QEeOtkrzuMiGEow" x="305" y="521" width="315" height="71"/>
+ </children>
<styles xmi:type="notation:DiagramStyle" xmi:id="_0IaT8bnYEeCxXoyQxQ47PQ"/>
<element xmi:type="uml:Package" href="core.uml#_QwvnQFDlEd6cwecVIgl9nw"/>
<edges xmi:type="notation:Connector" xmi:id="_jEPL0LnZEeCxXoyQxQ47PQ" type="4013" source="_Fw1jMLnZEeCxXoyQxQ47PQ" target="_09vZcLnYEeCxXoyQxQ47PQ" lineColor="0">
@@ -2026,6 +2063,13 @@
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Mcj74EMMEeKGIL695HkFYQ" id="(0.006396588486140725,0.35714285714285715)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Mcj74UMMEeKGIL695HkFYQ" id="(0.7614678899082569,0.5135135135135135)"/>
</edges>
+ <edges xmi:type="notation:Connector" xmi:id="_HeY7IH-REeOtkrzuMiGEow" type="4013" source="_7cugEH-QEeOtkrzuMiGEow" target="_1GdhkH-QEeOtkrzuMiGEow">
+ <styles xmi:type="notation:FontStyle" xmi:id="_HeY7IX-REeOtkrzuMiGEow"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HeY7In-REeOtkrzuMiGEow" points="[-31, -4, 68, 0]$[-91, -5, 8, -1]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HebXYH-REeOtkrzuMiGEow" id="(0.09841269841269841,0.4084507042253521)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Heb-cH-REeOtkrzuMiGEow" id="(0.9642857142857143,0.45901639344262296)"/>
+ </edges>
</notation:Diagram>
<notation:Diagram xmi:id="_SstwYPEnEeCIafpoJVk7CQ" type="CompositeStructure" name="ContainerRules" measurementUnit="Pixel">
<children xmi:type="notation:Shape" xmi:id="_V3-LcPEnEeCIafpoJVk7CQ" type="2073" fontName="Arial" fontHeight="10" lineColor="0">
@@ -4339,7 +4383,7 @@
</edges>
</notation:Diagram>
<notation:Diagram xmi:id="_zCsUsHI3EeOCrdvV8oxOKA" type="PapyrusUMLClassDiagram" name="Binding helpers" measurementUnit="Pixel">
- <children xmi:type="notation:Shape" xmi:id="_z30l4HI3EeOCrdvV8oxOKA" type="2008" fontName="" lineColor="0">
+ <children xmi:type="notation:Shape" xmi:id="_z30l4HI3EeOCrdvV8oxOKA" type="2008" fontName="" gradient="16777215, -1, 0" lineColor="0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z33CIHI3EeOCrdvV8oxOKA" source="ShadowFigure">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_z33CIXI3EeOCrdvV8oxOKA" key="ShadowFigure_Value" value="true"/>
</eAnnotations>
@@ -4356,20 +4400,23 @@
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nLyhsXJDEeOMF7YEvnQt5g" key="PropStereoDisplay" value=""/>
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nLyhsnJDEeOMF7YEvnQt5g" key="StereotypePropertyLocation" value="Compartment"/>
</eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Bp0jUHkhEeOCpqruXGWNPw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Bp0jUXkhEeOCpqruXGWNPw" key="gradient" value="true"/>
+ </eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_z33pMXI3EeOCrdvV8oxOKA" type="5029"/>
- <children xmi:type="notation:BasicCompartment" xmi:id="_z33pMnI3EeOCrdvV8oxOKA" type="7017">
+ <children xmi:type="notation:BasicCompartment" xmi:id="_z33pMnI3EeOCrdvV8oxOKA" visible="false" type="7017">
<styles xmi:type="notation:TitleStyle" xmi:id="_z33pM3I3EeOCrdvV8oxOKA"/>
<styles xmi:type="notation:SortingStyle" xmi:id="_z33pNHI3EeOCrdvV8oxOKA"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_z33pNXI3EeOCrdvV8oxOKA"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_z33pNnI3EeOCrdvV8oxOKA"/>
</children>
- <children xmi:type="notation:BasicCompartment" xmi:id="_z33pN3I3EeOCrdvV8oxOKA" type="7018">
+ <children xmi:type="notation:BasicCompartment" xmi:id="_z33pN3I3EeOCrdvV8oxOKA" visible="false" type="7018">
<styles xmi:type="notation:TitleStyle" xmi:id="_z33pOHI3EeOCrdvV8oxOKA"/>
<styles xmi:type="notation:SortingStyle" xmi:id="_z33pOXI3EeOCrdvV8oxOKA"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_z33pOnI3EeOCrdvV8oxOKA"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_z33pO3I3EeOCrdvV8oxOKA"/>
</children>
- <children xmi:type="notation:BasicCompartment" xmi:id="_z33pPHI3EeOCrdvV8oxOKA" type="7019">
+ <children xmi:type="notation:BasicCompartment" xmi:id="_z33pPHI3EeOCrdvV8oxOKA" visible="false" type="7019">
<styles xmi:type="notation:TitleStyle" xmi:id="_z33pPXI3EeOCrdvV8oxOKA"/>
<styles xmi:type="notation:SortingStyle" xmi:id="_z33pPnI3EeOCrdvV8oxOKA"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_z33pP3I3EeOCrdvV8oxOKA"/>
@@ -4382,6 +4429,45 @@
<element xmi:type="uml:Class" href="core.uml#_z2tyoHI3EeOCrdvV8oxOKA"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_z30l4XI3EeOCrdvV8oxOKA" x="64" y="17" width="135"/>
</children>
+ <children xmi:type="notation:Shape" xmi:id="_4ICEAHkgEeOCpqruXGWNPw" type="2008">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7qs5gHkgEeOCpqruXGWNPw" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7qs5gXkgEeOCpqruXGWNPw" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7qs5gnkgEeOCpqruXGWNPw" key="StereotypeList" value="FCM::BindingHelper"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7qs5g3kgEeOCpqruXGWNPw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7qs5hHkgEeOCpqruXGWNPw" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7qs5hXkgEeOCpqruXGWNPw" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_4IDSIHkgEeOCpqruXGWNPw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_4ID5MHkgEeOCpqruXGWNPw" visible="false" type="7017">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4IFHUHkgEeOCpqruXGWNPw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4IFHUXkgEeOCpqruXGWNPw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_4ID5MXkgEeOCpqruXGWNPw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_4ID5MnkgEeOCpqruXGWNPw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_4ID5M3kgEeOCpqruXGWNPw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4ID5NHkgEeOCpqruXGWNPw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_4ID5NXkgEeOCpqruXGWNPw" visible="false" type="7018">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4IFuYHkgEeOCpqruXGWNPw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4IFuYXkgEeOCpqruXGWNPw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_4ID5NnkgEeOCpqruXGWNPw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_4ID5N3kgEeOCpqruXGWNPw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_4ID5OHkgEeOCpqruXGWNPw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4ID5OXkgEeOCpqruXGWNPw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_4ID5OnkgEeOCpqruXGWNPw" visible="false" type="7019">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4IGVcHkgEeOCpqruXGWNPw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4IGVcXkgEeOCpqruXGWNPw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_4ID5O3kgEeOCpqruXGWNPw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_4ID5PHkgEeOCpqruXGWNPw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_4ID5PXkgEeOCpqruXGWNPw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4ID5PnkgEeOCpqruXGWNPw"/>
+ </children>
+ <element xmi:type="uml:Class" href="core.uml#_4H-ZoHkgEeOCpqruXGWNPw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4ICrEHkgEeOCpqruXGWNPw" x="248" y="19" width="162" height="95"/>
+ </children>
<styles xmi:type="notation:DiagramStyle" xmi:id="_zCs7wHI3EeOCrdvV8oxOKA"/>
<element xmi:type="uml:Package" href="core.uml#_tkiC4HI3EeOCrdvV8oxOKA"/>
</notation:Diagram>
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/core.uml b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/core.uml
index b05f017b9bd..84419428706 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/core.uml
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/core.uml
@@ -1,24 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:SW_Concurrency="http://www.eclipse.org/papyrus/SW_Concurrency/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:l2="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/SW_Concurrency/1 http://www.eclipse.org/papyrus/MARTE/1#//SRM/SW_Concurrency">
<uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="core" viewpoint="">
- <packageImport xmi:type="uml:PackageImport" xmi:id="_O6TiITLUEd26WNosUASSSw">
+ <packageImport xmi:id="_O6TiITLUEd26WNosUASSSw">
<importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
</packageImport>
- <packageImport xmi:type="uml:PackageImport" xmi:id="_clzbsC3xEd6OqY3qskOtLQ">
+ <packageImport xmi:id="_clzbsC3xEd6OqY3qskOtLQ">
<importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/sysinterfaces.uml#_RodVAAweEd6it_RkGhz_AA"/>
</packageImport>
- <packageImport xmi:type="uml:PackageImport" xmi:id="_hWGaIF9CEd6vU6EJjexEKQ">
+ <packageImport xmi:id="_hWGaIF9CEd6vU6EJjexEKQ">
<importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/corba.uml#_DtQEwDLdEd2_U4efLnjQIw"/>
</packageImport>
- <packageImport xmi:type="uml:PackageImport" xmi:id="_K9IBUP-FEd6628OhKk_dpg">
+ <packageImport xmi:id="_K9IBUP-FEd6628OhKk_dpg">
<importedPackage xmi:type="uml:Model" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_DV8nkBv8EduZN5aJJITI5w"/>
</packageImport>
- <packageImport xmi:type="uml:PackageImport" xmi:id="_mXnzUPQdEeCIC-7tA9lfzA">
+ <packageImport xmi:id="_mXnzUPQdEeCIC-7tA9lfzA">
<importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/osal.uml#_ROTQYC-OEdySSa8YESkO2w"/>
</packageImport>
<packagedElement xmi:type="uml:Package" xmi:id="_TFq8cOy6Ed2UrumbR9YAVg" name="composites">
<packagedElement xmi:type="uml:Class" xmi:id="_WK3LwOy6Ed2UrumbR9YAVg" name="Composite">
- <ownedComment xmi:type="uml:Comment" xmi:id="_IiLnAMFjEd-Mveea1W_olA">
+ <ownedComment xmi:id="_IiLnAMFjEd-Mveea1W_olA">
<body>currently unused, not sure whether really needed</body>
</ownedComment>
<ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_2JtG8Oy6Ed2UrumbR9YAVg" name="b:createConnections" visibility="package" specification="_wlXUoOy6Ed2UrumbR9YAVg">
@@ -51,14 +51,14 @@ m_[part.name/] = [part.name/]
[/for]
[/template]</body>
</ownedBehavior>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_wlXUoOy6Ed2UrumbR9YAVg" name="createConnections" method="_2JtG8Oy6Ed2UrumbR9YAVg"/>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_BTEWIOy9Ed2UrumbR9YAVg" name="setup" method="_D83p8Oy9Ed2UrumbR9YAVg"/>
+ <ownedOperation xmi:id="_wlXUoOy6Ed2UrumbR9YAVg" name="createConnections" method="_2JtG8Oy6Ed2UrumbR9YAVg"/>
+ <ownedOperation xmi:id="_BTEWIOy9Ed2UrumbR9YAVg" name="setup" method="_D83p8Oy9Ed2UrumbR9YAVg"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_1RehUAGpEd6eR-dxi5su4Q" name="BootLoader">
- <ownedComment xmi:type="uml:Comment" xmi:id="_JMwYwMGJEd-Mveea1W_olA">
+ <ownedComment xmi:id="_JMwYwMGJEd-Mveea1W_olA">
<body>A template for the bootloader generation.</body>
</ownedComment>
- <ownedComment xmi:type="uml:Comment" xmi:id="_JM4UkMGJEd-Mveea1W_olA">
+ <ownedComment xmi:id="_JM4UkMGJEd-Mveea1W_olA">
<body>This C++ implementation of the template contains principally the definition of the
&quot;main&quot; function and the declaration of the bootloader instance</body>
</ownedComment>
@@ -67,50 +67,50 @@ m_[part.name/] = [part.name/]
<body>&lt;%createInstances%></body>
</ownedBehavior>
<ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_IbrFUAGqEd6eR-dxi5su4Q" name="b:main" specification="_6pkAUAGpEd6eR-dxi5su4Q"/>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_3kwykAGpEd6eR-dxi5su4Q" name="createInstances" method="_AFnZUAGqEd6eR-dxi5su4Q"/>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_6pkAUAGpEd6eR-dxi5su4Q" name="main" isStatic="true" method="_IbrFUAGqEd6eR-dxi5su4Q"/>
+ <ownedOperation xmi:id="_3kwykAGpEd6eR-dxi5su4Q" name="createInstances" method="_AFnZUAGqEd6eR-dxi5su4Q"/>
+ <ownedOperation xmi:id="_6pkAUAGpEd6eR-dxi5su4Q" name="main" isStatic="true" method="_IbrFUAGqEd6eR-dxi5su4Q"/>
</packagedElement>
</packagedElement>
<packagedElement xmi:type="uml:Package" xmi:id="_mMCK8PiPEd2UhpY2Y3WUyg" name="methodCall">
- <ownedComment xmi:type="uml:Comment" xmi:id="_WiuBUK8rEeCXIcykFPsB8Q" annotatedElement="_mMCK8PiPEd2UhpY2Y3WUyg">
+ <ownedComment xmi:id="_WiuBUK8rEeCXIcykFPsB8Q" annotatedElement="_mMCK8PiPEd2UhpY2Y3WUyg">
<body>Main package template for all call based connectors. The formal parameter is the interface I (which is bound to the actual interface used in a call).
This package is virtually extended by other model libraries who import it.</body>
</ownedComment>
- <ownedComment xmi:type="uml:Comment" xmi:id="__oxUADrVEeGMCcwsbpLuFA" annotatedElement="_j29X4NttEd2eM5kqcby5ZA">
+ <ownedComment xmi:id="__oxUADrVEeGMCcwsbpLuFA" annotatedElement="_j29X4NttEd2eM5kqcby5ZA">
<body>Inheritance hierarchy for (A)SyncCall component types. Separate types for required (rconn) and provided (fconn) ports enable re-use via inheritance ain multiple places (e.g. for AMI ports that use an unmodified provided port and different variants of a required port).
Note that ports on connector side are conjugated</body>
</ownedComment>
- <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_V0b2APfBEd2TbIfwytOyPA" parameter="_WzWVUPfBEd2TbIfwytOyPA">
+ <ownedTemplateSignature xmi:id="_V0b2APfBEd2TbIfwytOyPA" parameter="_WzWVUPfBEd2TbIfwytOyPA">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_WzWVUPfBEd2TbIfwytOyPA" parameteredElement="_ZzlzMPfBEd2TbIfwytOyPA">
<ownedParameteredElement xmi:type="uml:Interface" xmi:id="_ZzlzMPfBEd2TbIfwytOyPA" name="I" templateParameter="_WzWVUPfBEd2TbIfwytOyPA"/>
</ownedParameter>
</ownedTemplateSignature>
<packagedElement xmi:type="uml:Package" xmi:id="_ZISNcIQzEd2_fLv04swWfw" name="AsyncCall">
<packagedElement xmi:type="uml:Class" xmi:id="_KxQBELuXEd2TTr3gJIvazw" name="AsyncCall" isAbstract="true">
- <generalization xmi:type="uml:Generalization" xmi:id="_0KzSsDBEEd6V16eboHV1gw" general="_j29X4NttEd2eM5kqcby5ZA"/>
- <generalization xmi:type="uml:Generalization" xmi:id="_1H2JwDBEEd6V16eboHV1gw" general="_mIpj8Ns8Ed2eM5kqcby5ZA"/>
+ <generalization xmi:id="_0KzSsDBEEd6V16eboHV1gw" general="_j29X4NttEd2eM5kqcby5ZA"/>
+ <generalization xmi:id="_1H2JwDBEEd6V16eboHV1gw" general="_mIpj8Ns8Ed2eM5kqcby5ZA"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_Whe8EClYEd-eoo60eNyGlg" clientDependency="_nBpugClzEd-eoo60eNyGlg" name="AsyncCall_impl">
- <ownedComment xmi:type="uml:Comment" xmi:id="_sp9YYG5fEd-5CZIeuHpHAg">
+ <ownedComment xmi:id="_sp9YYG5fEd-5CZIeuHpHAg">
<body>Description: A simple implementation of asynchronous calls. It will execution requests by means of a single dispatcher thread</body>
</ownedComment>
- <ownedComment xmi:type="uml:Comment" xmi:id="_HMz-ADJKEeCAhMtIsY9HwA">
+ <ownedComment xmi:id="_HMz-ADJKEeCAhMtIsY9HwA">
<body>Simple asynchronous call implementation: returns immediately and executes request in new thread</body>
</ownedComment>
- <ownedComment xmi:type="uml:Comment" xmi:id="_bustsDJKEeCAhMtIsY9HwA">
+ <ownedComment xmi:id="_bustsDJKEeCAhMtIsY9HwA">
<body>Uses buffer and ASN marshalling.
TODO: configurable buffer size, use data structure (CppParameterStorage)</body>
</ownedComment>
- <generalization xmi:type="uml:Generalization" xmi:id="_lYOSkClzEd-eoo60eNyGlg" general="_KxQBELuXEd2TTr3gJIvazw"/>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_1XeLIED5Ed-_DOja_sRgWA" name="buffer" isUnique="false" aggregation="composite">
+ <generalization xmi:id="_lYOSkClzEd-eoo60eNyGlg" general="_KxQBELuXEd2TTr3gJIvazw"/>
+ <ownedAttribute xmi:id="_1XeLIED5Ed-_DOja_sRgWA" name="buffer" isUnique="false" aggregation="composite">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_8wC7MED5Ed-_DOja_sRgWA" value="500"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_8wLeEED5Ed-_DOja_sRgWA" value="500"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_2fcqYED6Ed-_DOja_sRgWA" name="pBuffer" isUnique="false" aggregation="composite">
+ <ownedAttribute xmi:id="_2fcqYED6Ed-_DOja_sRgWA" name="pBuffer" isUnique="false" aggregation="composite">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
</ownedAttribute>
- <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_nBpugClzEd-eoo60eNyGlg" name="derived realization of I" client="_Whe8EClYEd-eoo60eNyGlg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
+ <interfaceRealization xmi:id="_nBpugClzEd-eoo60eNyGlg" name="derived realization of I" client="_Whe8EClYEd-eoo60eNyGlg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
<ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_WhfjIilYEd-eoo60eNyGlg" name="[name/]" specification="_2bwsEClzEd-eoo60eNyGlg">
<language>C/C++</language>
<body>[import org::eclipse::papyrus::qompass::designer::core::acceleo::UMLTool/]
@@ -171,8 +171,8 @@ switch (operationID)
}
[/template]</body>
</ownedBehavior>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_WhfjJSlYEd-eoo60eNyGlg" name="staticDispatch" isStatic="true" method="_WhfjIylYEd-eoo60eNyGlg">
- <ownedParameter xmi:type="uml:Parameter" xmi:id="_WhfjJilYEd-eoo60eNyGlg" name="arg">
+ <ownedOperation xmi:id="_WhfjJSlYEd-eoo60eNyGlg" name="staticDispatch" isStatic="true" method="_WhfjIylYEd-eoo60eNyGlg">
+ <ownedParameter xmi:id="_WhfjJilYEd-eoo60eNyGlg" name="arg">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WhfjKClYEd-eoo60eNyGlg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_WhfjJylYEd-eoo60eNyGlg" value="1"/>
@@ -180,28 +180,28 @@ switch (operationID)
<value xsi:nil="true"/>
</defaultValue>
</ownedParameter>
- <ownedParameter xmi:type="uml:Parameter" xmi:id="_WhfjKilYEd-eoo60eNyGlg" name="ret" direction="return">
+ <ownedParameter xmi:id="_WhfjKilYEd-eoo60eNyGlg" name="ret" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
</ownedParameter>
</ownedOperation>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_2bwsEClzEd-eoo60eNyGlg" name="[name/]" method="_WhfjIilYEd-eoo60eNyGlg"/>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_G6LzAD3QEd-Bk-AHd6yyoA" name="dispatch" method="_nV2DcED5Ed-_DOja_sRgWA"/>
+ <ownedOperation xmi:id="_2bwsEClzEd-eoo60eNyGlg" name="[name/]" method="_WhfjIilYEd-eoo60eNyGlg"/>
+ <ownedOperation xmi:id="_G6LzAD3QEd-Bk-AHd6yyoA" name="dispatch" method="_nV2DcED5Ed-_DOja_sRgWA"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_pXzKcEJ1Ed-Ps4Bfh0j9LQ" clientDependency="_pXzxh0J1Ed-Ps4Bfh0j9LQ" name="AsyncCallPool_impl">
- <ownedComment xmi:type="uml:Comment" xmi:id="_spsPMDJKEeCAhMtIsY9HwA">
+ <ownedComment xmi:id="_spsPMDJKEeCAhMtIsY9HwA">
<body>(untested) implementation of an asynchronous invocation that uses a thread pool for
spawning new requests</body>
</ownedComment>
- <generalization xmi:type="uml:Generalization" xmi:id="_pXzKcUJ1Ed-Ps4Bfh0j9LQ" general="_KxQBELuXEd2TTr3gJIvazw"/>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_pXzxgEJ1Ed-Ps4Bfh0j9LQ" name="buffer" isUnique="false" aggregation="composite">
+ <generalization xmi:id="_pXzKcUJ1Ed-Ps4Bfh0j9LQ" general="_KxQBELuXEd2TTr3gJIvazw"/>
+ <ownedAttribute xmi:id="_pXzxgEJ1Ed-Ps4Bfh0j9LQ" name="buffer" isUnique="false" aggregation="composite">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pXzxgkJ1Ed-Ps4Bfh0j9LQ" value="500"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pXzxgUJ1Ed-Ps4Bfh0j9LQ" value="500"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_pXzxg0J1Ed-Ps4Bfh0j9LQ" name="pBuffer" isUnique="false" aggregation="composite">
+ <ownedAttribute xmi:id="_pXzxg0J1Ed-Ps4Bfh0j9LQ" name="pBuffer" isUnique="false" aggregation="composite">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
</ownedAttribute>
- <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_pXzxh0J1Ed-Ps4Bfh0j9LQ" name="derived realization of I" client="_pXzKcEJ1Ed-Ps4Bfh0j9LQ" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
+ <interfaceRealization xmi:id="_pXzxh0J1Ed-Ps4Bfh0j9LQ" name="derived realization of I" client="_pXzKcEJ1Ed-Ps4Bfh0j9LQ" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
<ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_pXzxhEJ1Ed-Ps4Bfh0j9LQ" name="[name/]" specification="_pXzxjkJ1Ed-Ps4Bfh0j9LQ">
<language>C/C++</language>
<body>[template marshall(operation: Operation)]
@@ -270,8 +270,8 @@ switch (operationID)
[/template]
</body>
</ownedBehavior>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_pXzxiEJ1Ed-Ps4Bfh0j9LQ" name="staticDispatch" isStatic="true" method="_pXzxhUJ1Ed-Ps4Bfh0j9LQ">
- <ownedParameter xmi:type="uml:Parameter" xmi:id="_pXzxiUJ1Ed-Ps4Bfh0j9LQ" name="arg">
+ <ownedOperation xmi:id="_pXzxiEJ1Ed-Ps4Bfh0j9LQ" name="staticDispatch" isStatic="true" method="_pXzxhUJ1Ed-Ps4Bfh0j9LQ">
+ <ownedParameter xmi:id="_pXzxiUJ1Ed-Ps4Bfh0j9LQ" name="arg">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pXzxi0J1Ed-Ps4Bfh0j9LQ" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pXzxikJ1Ed-Ps4Bfh0j9LQ" value="1"/>
@@ -279,34 +279,34 @@ switch (operationID)
<value xsi:nil="true"/>
</defaultValue>
</ownedParameter>
- <ownedParameter xmi:type="uml:Parameter" xmi:id="_pXzxjUJ1Ed-Ps4Bfh0j9LQ" name="ret" direction="return">
+ <ownedParameter xmi:id="_pXzxjUJ1Ed-Ps4Bfh0j9LQ" name="ret" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
</ownedParameter>
</ownedOperation>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_pXzxjkJ1Ed-Ps4Bfh0j9LQ" name="[name/]" method="_pXzxhEJ1Ed-Ps4Bfh0j9LQ"/>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_pXzxj0J1Ed-Ps4Bfh0j9LQ" name="dispatch" method="_pXzxhkJ1Ed-Ps4Bfh0j9LQ"/>
+ <ownedOperation xmi:id="_pXzxjkJ1Ed-Ps4Bfh0j9LQ" name="[name/]" method="_pXzxhEJ1Ed-Ps4Bfh0j9LQ"/>
+ <ownedOperation xmi:id="_pXzxj0J1Ed-Ps4Bfh0j9LQ" name="dispatch" method="_pXzxhkJ1Ed-Ps4Bfh0j9LQ"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_3itBkNdwEd-ZnqCk2P2ZKg" clientDependency="_3itBmtdwEd-ZnqCk2P2ZKg" name="AMIPollCall_impl">
- <ownedComment xmi:type="uml:Comment" xmi:id="_3itBkddwEd-ZnqCk2P2ZKg">
+ <ownedComment xmi:id="_3itBkddwEd-ZnqCk2P2ZKg">
<body>Description: A simple implementation of asynchronous calls. It will execution requests by means of a single dispatcher thread</body>
</ownedComment>
- <ownedComment xmi:type="uml:Comment" xmi:id="_lEC3ADJLEeCAhMtIsY9HwA">
+ <ownedComment xmi:id="_lEC3ADJLEeCAhMtIsY9HwA">
<body>Polling variant of corbas asynchronous messaging (AMI), enables asynchronous calls while reading
return values (also called deferred synchronous):
Instead of specified return values, functions return a poller object which may be queried for
the result.
TODO: complete, move into model of Qompass AMI plugin</body>
</ownedComment>
- <generalization xmi:type="uml:Generalization" xmi:id="_3itBktdwEd-ZnqCk2P2ZKg" general="_KxQBELuXEd2TTr3gJIvazw"/>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_3itBk9dwEd-ZnqCk2P2ZKg" name="buffer" isUnique="false" aggregation="composite">
+ <generalization xmi:id="_3itBktdwEd-ZnqCk2P2ZKg" general="_KxQBELuXEd2TTr3gJIvazw"/>
+ <ownedAttribute xmi:id="_3itBk9dwEd-ZnqCk2P2ZKg" name="buffer" isUnique="false" aggregation="composite">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3itBlddwEd-ZnqCk2P2ZKg" value="500"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3itBlNdwEd-ZnqCk2P2ZKg" value="500"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_3itBltdwEd-ZnqCk2P2ZKg" name="pBuffer" isUnique="false" aggregation="composite">
+ <ownedAttribute xmi:id="_3itBltdwEd-ZnqCk2P2ZKg" name="pBuffer" isUnique="false" aggregation="composite">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
</ownedAttribute>
- <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_3itBmtdwEd-ZnqCk2P2ZKg" name="derived realization of I" client="_3itBkNdwEd-ZnqCk2P2ZKg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
+ <interfaceRealization xmi:id="_3itBmtdwEd-ZnqCk2P2ZKg" name="derived realization of I" client="_3itBkNdwEd-ZnqCk2P2ZKg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
<ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_3itBl9dwEd-ZnqCk2P2ZKg" name="[name/]" specification="_3itBoddwEd-ZnqCk2P2ZKg">
<language>C/C++</language>
<body>[import org::eclipse::papyrus::qompass::designer::core::acceleo::UMLTool/]
@@ -396,8 +396,8 @@ switch (operationID)
[/template]
</body>
</ownedBehavior>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_3itBm9dwEd-ZnqCk2P2ZKg" name="staticDispatch" isStatic="true" method="_3itBmNdwEd-ZnqCk2P2ZKg">
- <ownedParameter xmi:type="uml:Parameter" xmi:id="_3itBnNdwEd-ZnqCk2P2ZKg" name="arg">
+ <ownedOperation xmi:id="_3itBm9dwEd-ZnqCk2P2ZKg" name="staticDispatch" isStatic="true" method="_3itBmNdwEd-ZnqCk2P2ZKg">
+ <ownedParameter xmi:id="_3itBnNdwEd-ZnqCk2P2ZKg" name="arg">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3itBntdwEd-ZnqCk2P2ZKg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3itBnddwEd-ZnqCk2P2ZKg" value="1"/>
@@ -405,16 +405,16 @@ switch (operationID)
<value xsi:nil="true"/>
</defaultValue>
</ownedParameter>
- <ownedParameter xmi:type="uml:Parameter" xmi:id="_3itBoNdwEd-ZnqCk2P2ZKg" name="ret" direction="return">
+ <ownedParameter xmi:id="_3itBoNdwEd-ZnqCk2P2ZKg" name="ret" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
</ownedParameter>
</ownedOperation>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_3itBoddwEd-ZnqCk2P2ZKg" name="[name/]" method="_3itBl9dwEd-ZnqCk2P2ZKg"/>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_3itBotdwEd-ZnqCk2P2ZKg" name="dispatch" method="_3itBmddwEd-ZnqCk2P2ZKg"/>
+ <ownedOperation xmi:id="_3itBoddwEd-ZnqCk2P2ZKg" name="[name/]" method="_3itBl9dwEd-ZnqCk2P2ZKg"/>
+ <ownedOperation xmi:id="_3itBotdwEd-ZnqCk2P2ZKg" name="dispatch" method="_3itBmddwEd-ZnqCk2P2ZKg"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_Mo2kwF7pEeGEmrrwB1vhPg" clientDependency="_8e_ocF7sEeGEmrrwB1vhPg" name="CallMultiplier_impl">
- <generalization xmi:type="uml:Generalization" xmi:id="_eJqowF7sEeGEmrrwB1vhPg" general="_TLShkF7qEeGEmrrwB1vhPg"/>
- <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_8e_ocF7sEeGEmrrwB1vhPg" name="derived realization of I" client="_Mo2kwF7pEeGEmrrwB1vhPg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
+ <generalization xmi:id="_eJqowF7sEeGEmrrwB1vhPg" general="_TLShkF7qEeGEmrrwB1vhPg"/>
+ <interfaceRealization xmi:id="_8e_ocF7sEeGEmrrwB1vhPg" name="derived realization of I" client="_Mo2kwF7pEeGEmrrwB1vhPg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
<ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_DmUQcF7tEeGEmrrwB1vhPg" name="operation1" specification="_ChD4kF7tEeGEmrrwB1vhPg">
<language>C/C++</language>
<body>[import org::eclipse::papyrus::qompass::designer::core::acceleo::UMLTool/]
@@ -428,15 +428,15 @@ for (int i=0; i&lt;9; i++) {
}
[/template]</body>
</ownedBehavior>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_ChD4kF7tEeGEmrrwB1vhPg" name="[name/]" method="_DmUQcF7tEeGEmrrwB1vhPg"/>
+ <ownedOperation xmi:id="_ChD4kF7tEeGEmrrwB1vhPg" name="[name/]" method="_DmUQcF7tEeGEmrrwB1vhPg"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_TLShkF7qEeGEmrrwB1vhPg" name="AsyncCallM" isAbstract="true">
- <generalization xmi:type="uml:Generalization" xmi:id="_WhUpQF7qEeGEmrrwB1vhPg" general="_0KYOQF7pEeGEmrrwB1vhPg"/>
- <generalization xmi:type="uml:Generalization" xmi:id="_XgUoIF7qEeGEmrrwB1vhPg" general="_j29X4NttEd2eM5kqcby5ZA"/>
+ <generalization xmi:id="_WhUpQF7qEeGEmrrwB1vhPg" general="_0KYOQF7pEeGEmrrwB1vhPg"/>
+ <generalization xmi:id="_XgUoIF7qEeGEmrrwB1vhPg" general="_j29X4NttEd2eM5kqcby5ZA"/>
</packagedElement>
</packagedElement>
<packagedElement xmi:type="uml:Enumeration" xmi:id="_2oxDIPiPEd2UhpY2Y3WUyg" name="OperationIDs">
- <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_KOvHsPiREd2UhpY2Y3WUyg" name="ID_[name/]"/>
+ <ownedLiteral xmi:id="_KOvHsPiREd2UhpY2Y3WUyg" name="ID_[name/]"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_j29X4NttEd2eM5kqcby5ZA" name="OPC_useI" isAbstract="true">
<ownedAttribute xmi:type="uml:Port" xmi:id="_P4xVsNtuEd2eM5kqcby5ZA" name="fconn" type="_ZzlzMPfBEd2TbIfwytOyPA" aggregation="composite" isConjugated="true"/>
@@ -451,13 +451,13 @@ for (int i=0; i&lt;9; i++) {
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Package" xmi:id="_gKMTIAytEd6it_RkGhz_AA" name="marshalling">
- <ownedComment xmi:type="uml:Comment" xmi:id="_9gpvcENxEeGoAtSeIK7WLg">
+ <ownedComment xmi:id="_9gpvcENxEeGoAtSeIK7WLg">
<body>Needs completion:
good(?) write buffer event?
Call operations of buffer component?
[could have done in an identical way for EventPool]</body>
</ownedComment>
- <ownedComment xmi:type="uml:Comment" xmi:id="_pk4cMEN_EeGfhclnRyNzoA">
+ <ownedComment xmi:id="_pk4cMEN_EeGfhclnRyNzoA">
<body>Marshalling is done at two levels:
(1) In case of a shared address space, only a callEvent is created. It can be passed between threads within a process.
(2) For remote communication, marshalling into a buffer is done.</body>
@@ -494,7 +494,7 @@ Call operations of buffer component?
</ownedBehavior>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="__uJRYPNGEeCovO8AYZymZQ" name="StructBased">
- <generalization xmi:type="uml:Generalization" xmi:id="_EWShMPNHEeCovO8AYZymZQ" general="_b_yh4AzyEd6it_RkGhz_AA"/>
+ <generalization xmi:id="_EWShMPNHEeCovO8AYZymZQ" general="_b_yh4AzyEd6it_RkGhz_AA"/>
<ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_qRJc8PNJEeCovO8AYZymZQ" name="[name/]" specification="_aGt1sPNJEeCovO8AYZymZQ">
<language>C/C++</language>
<body>[template marshallStruct(operation : Operation)]
@@ -512,10 +512,10 @@ ParamData * data = &amp;event.params;
[/for]
out->dispatch(event);</body>
</ownedBehavior>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_aGt1sPNJEeCovO8AYZymZQ" name="[name/]" method="_qRJc8PNJEeCovO8AYZymZQ"/>
+ <ownedOperation xmi:id="_aGt1sPNJEeCovO8AYZymZQ" name="[name/]" method="_qRJc8PNJEeCovO8AYZymZQ"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_u7MmIENqEeGoAtSeIK7WLg" name="ToCallEvent">
- <generalization xmi:type="uml:Generalization" xmi:id="_K088oF_rEd6RvK-1A151zQ" general="_j29X4NttEd2eM5kqcby5ZA"/>
+ <generalization xmi:id="_K088oF_rEd6RvK-1A151zQ" general="_j29X4NttEd2eM5kqcby5ZA"/>
<ownedAttribute xmi:type="uml:Port" xmi:id="_-nk_cENqEeGoAtSeIK7WLg" name="out" visibility="public" type="_WkkjoPNUEeCovO8AYZymZQ" aggregation="composite">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_AdVAIENrEeGoAtSeIK7WLg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_AdW1UENrEeGoAtSeIK7WLg" value="1"/>
@@ -525,14 +525,14 @@ out->dispatch(event);</body>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_1xGG8ENqEeGoAtSeIK7WLg" name="FromCallEventWP">
- <generalization xmi:type="uml:Generalization" xmi:id="_M09FgF_rEd6RvK-1A151zQ" general="_mIpj8Ns8Ed2eM5kqcby5ZA"/>
+ <generalization xmi:id="_M09FgF_rEd6RvK-1A151zQ" general="_mIpj8Ns8Ed2eM5kqcby5ZA"/>
<ownedAttribute xmi:type="uml:Port" xmi:id="_9gIc8ENvEeGoAtSeIK7WLg" name="in" visibility="public" type="_WkkjoPNUEeCovO8AYZymZQ" aggregation="composite">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9uDkMENvEeGoAtSeIK7WLg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_9uEyUENvEeGoAtSeIK7WLg" value="1"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_H7IOcENrEeGoAtSeIK7WLg" name="ToCallEventWP">
- <generalization xmi:type="uml:Generalization" xmi:id="_KHmGAENrEeGoAtSeIK7WLg" general="_j29X4NttEd2eM5kqcby5ZA"/>
+ <generalization xmi:id="_KHmGAENrEeGoAtSeIK7WLg" general="_j29X4NttEd2eM5kqcby5ZA"/>
<ownedAttribute xmi:type="uml:Port" xmi:id="_i5SOQEN8EeGfhclnRyNzoA" name="out" visibility="public" type="_WkkjoPNUEeCovO8AYZymZQ" aggregation="composite">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jRB_4EN8EeGfhclnRyNzoA" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jRtVUEN8EeGfhclnRyNzoA" value="1"/>
@@ -541,21 +541,21 @@ out->dispatch(event);</body>
</packagedElement>
<packagedElement xmi:type="uml:Package" xmi:id="_RjvvcA1jEd6tvthBDl600Q" name="SyncCall">
<packagedElement xmi:type="uml:Class" xmi:id="_Zx2ZUA1jEd6tvthBDl600Q" name="SyncCall" isAbstract="true">
- <generalization xmi:type="uml:Generalization" xmi:id="_STdvYDBFEd6V16eboHV1gw" general="_j29X4NttEd2eM5kqcby5ZA"/>
- <generalization xmi:type="uml:Generalization" xmi:id="_T1zr4DBFEd6V16eboHV1gw" general="_mIpj8Ns8Ed2eM5kqcby5ZA"/>
+ <generalization xmi:id="_STdvYDBFEd6V16eboHV1gw" general="_j29X4NttEd2eM5kqcby5ZA"/>
+ <generalization xmi:id="_T1zr4DBFEd6V16eboHV1gw" general="_mIpj8Ns8Ed2eM5kqcby5ZA"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_jOU60A1jEd6tvthBDl600Q" clientDependency="_1tfFAJyCEd6WR4pSVO_UYw" name="DirectCall_impl">
- <ownedComment xmi:type="uml:Comment" xmi:id="_MgKU8G5gEd-5CZIeuHpHAg">
+ <ownedComment xmi:id="_MgKU8G5gEd-5CZIeuHpHAg">
<body>Description: This connector is a kind of dummy connector, since it only passes incoming requests to its caller port</body>
</ownedComment>
- <ownedComment xmi:type="uml:Comment" xmi:id="_0fC3UDJJEeCAhMtIsY9HwA">
+ <ownedComment xmi:id="_0fC3UDJJEeCAhMtIsY9HwA">
<body>Minimal connector implementation that does nothing (but passing requests)</body>
</ownedComment>
- <ownedComment xmi:type="uml:Comment" xmi:id="_0fOdgDJJEeCAhMtIsY9HwA">
+ <ownedComment xmi:id="_0fOdgDJJEeCAhMtIsY9HwA">
<body></body>
</ownedComment>
- <generalization xmi:type="uml:Generalization" xmi:id="_lm4GkA1jEd6tvthBDl600Q" general="_Zx2ZUA1jEd6tvthBDl600Q"/>
- <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_1tfFAJyCEd6WR4pSVO_UYw" name="derived realization of I" client="_jOU60A1jEd6tvthBDl600Q" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
+ <generalization xmi:id="_lm4GkA1jEd6tvthBDl600Q" general="_Zx2ZUA1jEd6tvthBDl600Q"/>
+ <interfaceRealization xmi:id="_1tfFAJyCEd6WR4pSVO_UYw" name="derived realization of I" client="_jOU60A1jEd6tvthBDl600Q" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
<ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_GSdesJ09Ed6l5bTPBsl00Q" name="[name/]" specification="__y0hwJ08Ed6l5bTPBsl00Q">
<language>C/C++</language>
<body>[import org::eclipse::papyrus::qompass::designer::core::acceleo::utils_cpp/]
@@ -567,48 +567,48 @@ out->dispatch(event);</body>
// put post-interceptors here
[/template]</body>
</ownedBehavior>
- <ownedOperation xmi:type="uml:Operation" xmi:id="__y0hwJ08Ed6l5bTPBsl00Q" name="[name/]" method="_GSdesJ09Ed6l5bTPBsl00Q"/>
+ <ownedOperation xmi:id="__y0hwJ08Ed6l5bTPBsl00Q" name="[name/]" method="_GSdesJ09Ed6l5bTPBsl00Q"/>
</packagedElement>
</packagedElement>
<packagedElement xmi:type="uml:Package" xmi:id="_UAIU0K-iEd6DndT7kDY1-A" name="AdaptiveContainerServices">
<packagedElement xmi:type="uml:Class" xmi:id="_cxVEsK-iEd6DndT7kDY1-A" clientDependency="_v-oAAK-iEd6DndT7kDY1-A" name="SampleInterceptor">
- <generalization xmi:type="uml:Generalization" xmi:id="_lrS8oAQxEd--t-uhRn9OBA" general="_Zx2ZUA1jEd6tvthBDl600Q"/>
- <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_v-oAAK-iEd6DndT7kDY1-A" name="derived realization of I" client="_cxVEsK-iEd6DndT7kDY1-A" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
+ <generalization xmi:id="_lrS8oAQxEd--t-uhRn9OBA" general="_Zx2ZUA1jEd6tvthBDl600Q"/>
+ <interfaceRealization xmi:id="_v-oAAK-iEd6DndT7kDY1-A" name="derived realization of I" client="_cxVEsK-iEd6DndT7kDY1-A" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
<ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_GTvA0K-jEd6DndT7kDY1-A" name="[name/]" specification="_16jy8K-iEd6DndT7kDY1-A">
<language>C/C++</language>
<body>cout &lt;&lt; &quot;this is a sample pre-call interception&quot; &lt;&lt; endl;
rconn->&lt;%cppCall%>;
cout &lt;&lt; &quot;this is a sample post-call interception&quot; &lt;&lt; endl;</body>
</ownedBehavior>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_16jy8K-iEd6DndT7kDY1-A" name="[name/]" method="_GTvA0K-jEd6DndT7kDY1-A"/>
+ <ownedOperation xmi:id="_16jy8K-iEd6DndT7kDY1-A" name="[name/]" method="_GTvA0K-jEd6DndT7kDY1-A"/>
</packagedElement>
</packagedElement>
<packagedElement xmi:type="uml:Package" xmi:id="_aQ7goChYEd-eoo60eNyGlg" name="CallActivation">
- <ownedComment xmi:type="uml:Comment" xmi:id="_aAH58D8CEeGJ6KSvhYhYuQ">
+ <ownedComment xmi:id="_aAH58D8CEeGJ6KSvhYhYuQ">
<body>A set of Leader followers is instantiated. Each has its own thread and a semaphore. The LF instance waits on its semaphore. When selectLeader is called, a follower is signaled (semaphore is posted) and will become leader. The leader waits for a resource (e.g. a socket) and becomes executor.
</body>
</ownedComment>
<packagedElement xmi:type="uml:Class" xmi:id="_e6Y_EChYEd-eoo60eNyGlg" name="Activator">
- <generalization xmi:type="uml:Generalization" xmi:id="_oJX3IChYEd-eoo60eNyGlg" general="_KxQBELuXEd2TTr3gJIvazw"/>
+ <generalization xmi:id="_oJX3IChYEd-eoo60eNyGlg" general="_KxQBELuXEd2TTr3gJIvazw"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_qgzokChYEd-eoo60eNyGlg" clientDependency="_cWjrYCsAEd-uZPFNCty7PQ" name="LeaderFollower">
- <generalization xmi:type="uml:Generalization" xmi:id="_sW6OkChYEd-eoo60eNyGlg" general="_e6Y_EChYEd-eoo60eNyGlg"/>
+ <generalization xmi:id="_sW6OkChYEd-eoo60eNyGlg" general="_e6Y_EChYEd-eoo60eNyGlg"/>
<ownedAttribute xmi:type="uml:Port" xmi:id="_N0tB4Cu4Ed-uZPFNCty7PQ" name="listener" type="_fxfe8Cu1Ed-uZPFNCty7PQ" aggregation="composite">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_UxKdsCu4Ed-uZPFNCty7PQ" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_UxM58Cu4Ed-uZPFNCty7PQ" value="1"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="__fLb4Cu5Ed-uZPFNCty7PQ" name="state" type="_F3CIECu1Ed-uZPFNCty7PQ" isUnique="false" aggregation="composite"/>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_M4VG8Cu9Ed-uZPFNCty7PQ" name="m_sema" type="_fxfe8Cu1Ed-uZPFNCty7PQ" isUnique="false" aggregation="composite"/>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_rmwGoCu-Ed-uZPFNCty7PQ" name="m_sr" isStatic="true" type="_qgzokChYEd-eoo60eNyGlg" isUnique="false" aggregation="composite">
+ <ownedAttribute xmi:id="__fLb4Cu5Ed-uZPFNCty7PQ" name="state" type="_F3CIECu1Ed-uZPFNCty7PQ" isUnique="false" aggregation="composite"/>
+ <ownedAttribute xmi:id="_M4VG8Cu9Ed-uZPFNCty7PQ" name="m_sema" type="_fxfe8Cu1Ed-uZPFNCty7PQ" isUnique="false" aggregation="composite"/>
+ <ownedAttribute xmi:id="_rmwGoCu-Ed-uZPFNCty7PQ" name="m_sr" isStatic="true" type="_qgzokChYEd-eoo60eNyGlg" isUnique="false" aggregation="composite">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_zYwqYCu-Ed-uZPFNCty7PQ" value="20"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_zY4mMCu-Ed-uZPFNCty7PQ" value="20"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_xukAICvDEd-uZPFNCty7PQ" name="m_tID" type="_5KatsCvDEd-uZPFNCty7PQ" isUnique="false" aggregation="composite"/>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_Xq00oCvHEd-uZPFNCty7PQ" name="POOL_SIZE" isStatic="true" isUnique="false" aggregation="composite">
+ <ownedAttribute xmi:id="_xukAICvDEd-uZPFNCty7PQ" name="m_tID" type="_5KatsCvDEd-uZPFNCty7PQ" isUnique="false" aggregation="composite"/>
+ <ownedAttribute xmi:id="_Xq00oCvHEd-uZPFNCty7PQ" name="POOL_SIZE" isStatic="true" isUnique="false" aggregation="composite">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
<defaultValue xmi:type="uml:LiteralInteger" xmi:id="_ZmFncCvHEd-uZPFNCty7PQ" value="20"/>
</ownedAttribute>
- <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_cWjrYCsAEd-uZPFNCty7PQ" name="derived realization of I" client="_qgzokChYEd-eoo60eNyGlg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
+ <interfaceRealization xmi:id="_cWjrYCsAEd-uZPFNCty7PQ" name="derived realization of I" client="_qgzokChYEd-eoo60eNyGlg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
<ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_D8z3ECu1Ed-uZPFNCty7PQ" name="run" specification="_2FN1ICu0Ed-uZPFNCty7PQ">
<language>C/C++</language>
<body>for (;;) {
@@ -653,45 +653,45 @@ m_state = FOLLOWER;</body>
<language>C/C++</language>
<body>((LeaderFollower *) arg)->run();</body>
</ownedBehavior>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_2FN1ICu0Ed-uZPFNCty7PQ" name="run" method="_D8z3ECu1Ed-uZPFNCty7PQ"/>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_eHX3wCu7Ed-uZPFNCty7PQ" name="selectLeader" method="_wXEiYCu7Ed-uZPFNCty7PQ"/>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_JM4I4Cu9Ed-uZPFNCty7PQ" name="LeaderFollower" method="_4M1S0Cu9Ed-uZPFNCty7PQ"/>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_6cImgCu-Ed-uZPFNCty7PQ" name="init" isStatic="true" method="_OyEk4Cu_Ed-uZPFNCty7PQ"/>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_z-laoCvGEd-uZPFNCty7PQ" name="runStatic" method="_AGUogCvHEd-uZPFNCty7PQ">
- <ownedParameter xmi:type="uml:Parameter" xmi:id="_Dn-xYCvHEd-uZPFNCty7PQ" name="arg">
+ <ownedOperation xmi:id="_2FN1ICu0Ed-uZPFNCty7PQ" name="run" method="_D8z3ECu1Ed-uZPFNCty7PQ"/>
+ <ownedOperation xmi:id="_eHX3wCu7Ed-uZPFNCty7PQ" name="selectLeader" method="_wXEiYCu7Ed-uZPFNCty7PQ"/>
+ <ownedOperation xmi:id="_JM4I4Cu9Ed-uZPFNCty7PQ" name="LeaderFollower" method="_4M1S0Cu9Ed-uZPFNCty7PQ"/>
+ <ownedOperation xmi:id="_6cImgCu-Ed-uZPFNCty7PQ" name="init" isStatic="true" method="_OyEk4Cu_Ed-uZPFNCty7PQ"/>
+ <ownedOperation xmi:id="_z-laoCvGEd-uZPFNCty7PQ" name="runStatic" method="_AGUogCvHEd-uZPFNCty7PQ">
+ <ownedParameter xmi:id="_Dn-xYCvHEd-uZPFNCty7PQ" name="arg">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
</ownedParameter>
- <ownedParameter xmi:type="uml:Parameter" xmi:id="_IdnDkCvHEd-uZPFNCty7PQ" name="ret" direction="return">
+ <ownedParameter xmi:id="_IdnDkCvHEd-uZPFNCty7PQ" name="ret" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
</ownedParameter>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_2wMyEChiEd-eoo60eNyGlg" clientDependency="_BhfKYChjEd-eoo60eNyGlg" name="SimpleActivation">
- <generalization xmi:type="uml:Generalization" xmi:id="_5AKpkChiEd-eoo60eNyGlg" general="_e6Y_EChYEd-eoo60eNyGlg"/>
- <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_BhfKYChjEd-eoo60eNyGlg" name="derived realization of I" client="_2wMyEChiEd-eoo60eNyGlg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
+ <generalization xmi:id="_5AKpkChiEd-eoo60eNyGlg" general="_e6Y_EChYEd-eoo60eNyGlg"/>
+ <interfaceRealization xmi:id="_BhfKYChjEd-eoo60eNyGlg" name="derived realization of I" client="_2wMyEChiEd-eoo60eNyGlg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_6rmQoChiEd-eoo60eNyGlg" clientDependency="_cWkScCsAEd-uZPFNCty7PQ" name="Thread Pool">
- <generalization xmi:type="uml:Generalization" xmi:id="_892AEChiEd-eoo60eNyGlg" general="_e6Y_EChYEd-eoo60eNyGlg"/>
- <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_cWkScCsAEd-uZPFNCty7PQ" name="derived realization of I" client="_6rmQoChiEd-eoo60eNyGlg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
+ <generalization xmi:id="_892AEChiEd-eoo60eNyGlg" general="_e6Y_EChYEd-eoo60eNyGlg"/>
+ <interfaceRealization xmi:id="_cWkScCsAEd-uZPFNCty7PQ" name="derived realization of I" client="_6rmQoChiEd-eoo60eNyGlg" supplier="_ZzlzMPfBEd2TbIfwytOyPA" contract="_ZzlzMPfBEd2TbIfwytOyPA"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_BY-fwCnxEd-eoo60eNyGlg" name="sem_t">
- <ownedAttribute xmi:type="uml:Property" xmi:id="_CQ_F0CnxEd-eoo60eNyGlg" name="lf" type="_qgzokChYEd-eoo60eNyGlg" isUnique="false" aggregation="composite"/>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_PpWOECnxEd-eoo60eNyGlg" name="listener" isUnique="false" aggregation="composite"/>
+ <ownedAttribute xmi:id="_CQ_F0CnxEd-eoo60eNyGlg" name="lf" type="_qgzokChYEd-eoo60eNyGlg" isUnique="false" aggregation="composite"/>
+ <ownedAttribute xmi:id="_PpWOECnxEd-eoo60eNyGlg" name="listener" isUnique="false" aggregation="composite"/>
</packagedElement>
<packagedElement xmi:type="uml:Enumeration" xmi:id="_F3CIECu1Ed-uZPFNCty7PQ" name="LFState">
- <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_QSQJwCu1Ed-uZPFNCty7PQ" name="EXECUTOR"/>
- <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_R5B6UCu1Ed-uZPFNCty7PQ" name="FOLLOWER"/>
- <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_SxRJ4Cu1Ed-uZPFNCty7PQ" name="LEADER"/>
+ <ownedLiteral xmi:id="_QSQJwCu1Ed-uZPFNCty7PQ" name="EXECUTOR"/>
+ <ownedLiteral xmi:id="_R5B6UCu1Ed-uZPFNCty7PQ" name="FOLLOWER"/>
+ <ownedLiteral xmi:id="_SxRJ4Cu1Ed-uZPFNCty7PQ" name="LEADER"/>
</packagedElement>
<packagedElement xmi:type="uml:Interface" xmi:id="_fxfe8Cu1Ed-uZPFNCty7PQ" name="IListener">
- <ownedOperation xmi:type="uml:Operation" xmi:id="_eN6hcCu3Ed-uZPFNCty7PQ" name="exec" isAbstract="true"/>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_hY4ooCu3Ed-uZPFNCty7PQ" name="select" isAbstract="true"/>
+ <ownedOperation xmi:id="_eN6hcCu3Ed-uZPFNCty7PQ" name="exec" isAbstract="true"/>
+ <ownedOperation xmi:id="_hY4ooCu3Ed-uZPFNCty7PQ" name="select" isAbstract="true"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_5KatsCvDEd-uZPFNCty7PQ" name="pthread_t"/>
<packagedElement xmi:type="uml:Enumeration" xmi:id="_hcwDkD8CEeGJ6KSvhYhYuQ" name="LeaderFollowerState">
- <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_mzqd4D8CEeGJ6KSvhYhYuQ" name="LEADER"/>
- <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_qdIe8D8CEeGJ6KSvhYhYuQ" name="FOLLOWER"/>
- <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_rOMvgD8CEeGJ6KSvhYhYuQ" name="EXECUTOR"/>
+ <ownedLiteral xmi:id="_mzqd4D8CEeGJ6KSvhYhYuQ" name="LEADER"/>
+ <ownedLiteral xmi:id="_qdIe8D8CEeGJ6KSvhYhYuQ" name="FOLLOWER"/>
+ <ownedLiteral xmi:id="_rOMvgD8CEeGJ6KSvhYhYuQ" name="EXECUTOR"/>
</packagedElement>
</packagedElement>
<packagedElement xmi:type="uml:PrimitiveType" xmi:id="_xOqL0No9Ed-wvpj-p-V_QQ" name="CppParameterStorage"/>
@@ -706,137 +706,141 @@ m_state = FOLLOWER;</body>
</packagedElement>
</packagedElement>
<packagedElement xmi:type="uml:Package" xmi:id="_QwvnQFDlEd6cwecVIgl9nw" name="PortKinds">
- <ownedComment xmi:type="uml:Comment" xmi:id="_FryEELnZEeCxXoyQxQ47PQ" annotatedElement="_Wtq4sFDlEd6cwecVIgl9nw">
+ <ownedComment xmi:id="_FryEELnZEeCxXoyQxQ47PQ" annotatedElement="_Wtq4sFDlEd6cwecVIgl9nw">
<body>Simple provision of typing interface as provided interface</body>
</ownedComment>
- <ownedComment xmi:type="uml:Comment" xmi:id="_K17NsLnZEeCxXoyQxQ47PQ" annotatedElement="_Wtrfw1DlEd6cwecVIgl9nw">
+ <ownedComment xmi:id="_K17NsLnZEeCxXoyQxQ47PQ" annotatedElement="_Wtrfw1DlEd6cwecVIgl9nw">
<body>Simple provision of typing interface as required interface</body>
</ownedComment>
- <ownedComment xmi:type="uml:Comment" xmi:id="_PxzR0LnZEeCxXoyQxQ47PQ" annotatedElement="__nMrwLqNEd-SedGzMDDkww">
+ <ownedComment xmi:id="_PxzR0LnZEeCxXoyQxQ47PQ" annotatedElement="__nMrwLqNEd-SedGzMDDkww">
<body>corba asynchronous messaging (AMI): Provision of poller variant of typing interface. Allows client to continue without waiting for the result</body>
</ownedComment>
- <ownedComment xmi:type="uml:Comment" xmi:id="_l49WMLnZEeCxXoyQxQ47PQ" annotatedElement="__nMrwLqNEd-SedGzMDDkww _AQZZwLqOEd-SedGzMDDkww">
+ <ownedComment xmi:id="_l49WMLnZEeCxXoyQxQ47PQ" annotatedElement="__nMrwLqNEd-SedGzMDDkww _AQZZwLqOEd-SedGzMDDkww">
<body>corba asynchronous messaging (AMI): Provision of callback variant of typing interface. Allows client Allows client to continue without waiting for the result</body>
</ownedComment>
- <ownedComment xmi:type="uml:Comment" xmi:id="_2dvXILnZEeCxXoyQxQ47PQ" annotatedElement="_Wtq4slDlEd6cwecVIgl9nw">
+ <ownedComment xmi:id="_2dvXILnZEeCxXoyQxQ47PQ" annotatedElement="_Wtq4slDlEd6cwecVIgl9nw">
<body>Data Flow oriented communication: consume passively: provided push operation is called </body>
</ownedComment>
- <ownedComment xmi:type="uml:Comment" xmi:id="_Ch2pQLnaEeCxXoyQxQ47PQ">
+ <ownedComment xmi:id="_Ch2pQLnaEeCxXoyQxQ47PQ">
<body>Data Flow oriented communication: produce data via pushing these (calling the required operation) </body>
</ownedComment>
- <ownedComment xmi:type="uml:Comment" xmi:id="_DsnzQLnaEeCxXoyQxQ47PQ">
+ <ownedComment xmi:id="_DsnzQLnaEeCxXoyQxQ47PQ">
<body>Data Flow oriented communication: produce data via pushing these (calling the required operation) </body>
</ownedComment>
- <ownedComment xmi:type="uml:Comment" xmi:id="_FMuUELnaEeCxXoyQxQ47PQ" annotatedElement="_WtrfwlDlEd6cwecVIgl9nw">
+ <ownedComment xmi:id="_FMuUELnaEeCxXoyQxQ47PQ" annotatedElement="_WtrfwlDlEd6cwecVIgl9nw">
<body>Data Flow oriented communication: produce data via pushing these (calling the required operation) </body>
</ownedComment>
- <ownedComment xmi:type="uml:Comment" xmi:id="_GgtrgLnaEeCxXoyQxQ47PQ" annotatedElement="_Wtq4sVDlEd6cwecVIgl9nw">
+ <ownedComment xmi:id="_GgtrgLnaEeCxXoyQxQ47PQ" annotatedElement="_Wtq4sVDlEd6cwecVIgl9nw">
<body>Data Flow oriented communication: consumer data actively by calling the required poll operation </body>
</ownedComment>
- <ownedComment xmi:type="uml:Comment" xmi:id="_-UGDoDiyEeGiupyIkgMHVw">
+ <ownedComment xmi:id="_-UGDoDiyEeGiupyIkgMHVw">
<body>In order to support icons, all port kinds are stereotypes, but for Qompass they are classes stereotyped as &quot;PortKind&quot;</body>
</ownedComment>
- <ownedComment xmi:type="uml:Comment" xmi:id="_COvdAEMMEeKGIL695HkFYQ" annotatedElement="_GjnlcC8qEeKx7OxAiA06uw">
+ <ownedComment xmi:id="_COvdAEMMEeKGIL695HkFYQ" annotatedElement="_GjnlcC8qEeKx7OxAiA06uw">
<body> A bidirectional flow port combining a push-producer and a pull consumer</body>
</ownedComment>
+ <ownedComment xmi:id="_7cXTsH-QEeOtkrzuMiGEow" annotatedElement="_1FxlEH-QEeOtkrzuMiGEow">
+ <body>Dummy interface returned by ports who need to update derived interfaces (but can only do so in the context of a transaction).</body>
+ </ownedComment>
<packagedElement xmi:type="uml:Stereotype" xmi:id="_Wtq4sFDlEd6cwecVIgl9nw" name="ProvideInterface">
- <icon xmi:type="uml:Image" xmi:id="__3j28DixEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%119%0%0%0%92%8%3%0%0%0%99%-116%-38%77%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%120%120%120%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-71%82%-104%50%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%4%-59%73%68%65%84%104%-127%-59%-102%109%91%-30%58%16%-122%11%-118%40%-88%108%-83%2%-53%-117%93%123%4%-75%-20%110%53%-83%69%-91%-108%30%20%-1%-1%79%58%-107%-77%72%38%77%-109%73%-126%-41%62%95%-55%-52%77%94%-102%-52%76%98%-111%29%104%-2%-74%26%-115%-22%-29%81%-27%-83%31%35%77%44%51%98%-68%58%60%-19%120%22%-91%-27%-76%57%-70%-8%90%-18%-62%127%6%-56%-83%58%-65%-34%-61%47%-30%94%28%-76%-7%-52%63%122%109%-4%-5%5%-36%-59%73%73%79%105%-75%43%59%-26%14%78%-28%-48%-75%-70%-29%-78%-31%-42%-32%94%96%-87%107%-14%96%71%-36%-80%-18%42%96%115%5%-50%46%-72%-117%-82%26%53%-41%-16%-38%-100%-69%127%-91%-116%-51%-43%-116%-52%-72%-15%-67%14%53%87%123%102%-62%117%94%52%-79%-106%-27%-78%-53%75%-127%-101%-88%79%45%5%102%-66%101%60%119%-66%44%117%58%124%-71%15%38%-66%-1%59%-104%-106%-73%-15%-58%122%-36%-92%-60%101%-89%89%-95%63%-108%120%-32%79%75%-42%94%85%-121%-21%100%60%87%-39%36%-31%-76%-75%111%-98%-72%61%-2%-95%-50%-115%121%115%43%-40%127%23%15%-100%-3%-37%-19%41%115%91%69%47%-35%-107%-48%34%-31%-20%-90%-53%-19%-116%-32%-72%-11%-30%127%-81%75%14%88%66%86%-33%11%86%45%53%-18%-96%48%104%47%-123%-115%-128%-93%-8%119%1%92%87%-31%-38%25%107%-34%-112%118%-10%127%-115%-39%51%-60%-21%43%112%27%-84%113%13%71%-51%-43%103%-65%-66%78%-120%-26%-10%-104%81%-10%-86%114%-101%79%37%-20%88%-43%-48%-36%103%3%44%33%51%-90%-57%-18%5%-110%59%102%-2%-16%88%106%1%-107%48%115%28%32%-71%41%52%-13%21%-79%-124%92%-62%121%-14%18%20%-73%2%-79%-33%-112%43%-103%-42%29%116%-47%68%113%97%-108%-4%-54%13%-106%36%10%-65%1%31%87%14%-126%-5%6%-1%-21%72%3%-101%-81%45%120%66%77%16%-36%0%88%60%106%97%-39%-111%-50%-28%-36%8%44%70%-113%119%-22%97%20%-62%-59%121%41%-27%94%-125%-10%-57%-102%88%-10%99%12%-92%92%120%-2%45%-76%-71%33%-40%61%-36%80%-62%13%-63%48%-73%-124%109%-59%58%0%29%-24%75%-72%125%-48%-102%23%-9%99%-27%-128%-51%-29%78%-62%5%-21%-48%45%70%-3%10%2%51%54%-107%112%31%-103%-43%96%-96%17%-19%-22%42%18%115%95%-23%-58%122%123%-58%70%51%-72%66%-123%92%27%-76%-59%-124%54%2%-127%-120%-76%-14%-121%27%-49%120%-86%-46%77%51%51%44%-36%-7%110%63%-72%-47%-92%-115%-88%86%-24%-18%-111%27%-127%47%-23%-34%66%-89%-46%13%67%46%56%80%-97%44%18%103%40%-84%-75%111%-56%-99%-45%-50%-50%45%-46%-60%97%13%-105%51%-77%-96%83%-117%12%-111%92%113%90%34%87%8%-71%9%18%107%-67%25%114%9%-19%-52%-77%46%-1%10%-41%-75%-20%50%14%43%65%-47%15%-91%-104%118%-106%-49%47%-74%106%-79%-21%117%85%45%3%49%58%48%-28%-10%104%103%-7%-9%75%30%112%-36%95%-122%-36%127%104%103%-45%-100%27%-6%-120%93%50%-1%-117%-122%92%-97%118%-42%92%-97%11%73%-19%-8%-119%39%80%39%27%26%114%65%-35%-95%38%60%7%35%-48%-31%-98%-88%-87%92%96%127%122%23%-97%-5%32%-20%-59%103%-37%60%-127%101%-107%-17%86%-62%-58%-57%116%91%-109%112%-110%-112%91%56%103%98%-18%30%-35%-40%-45%-55%-55%62%5%-14%-69%19%9%23%-100%93%70%3%-67%0%-98%-10%100%-7%2%8%-13%59%6%92%88%-101%-103%-53%-72%48%29%-44%-33%-94%29%-112%-119%102%-46%-4%8%-90%-65%-25%-38%92%-80%105%124%36%-64%-78%-4%55%3%6%-17%-102%88%7%6%23%115%57%-9%16%24%100%-102%-87%10%-100%-82%103%34%-25%-62%21%-67%46%17%-88%-117%-119%45%-10%17%92%-72%-83%90%94%-55%-11%-105%80%76%125%115%25%97%-72%-16%-61%-77%-78%51%117%46%83%-119%94%111%3%-14%-70%-39%41%-76%106%41%23%-80%-104%-14%-43%-48%-58%113%7%-48%76%57%29%29%49%-10%119%4%-57%37%108%-11%-6%72%9%91%101%-126%-118%52%-62%114%-49%-40%-56%30%91%-11%-26%97%55%-31%63%-90%-18%-67%-49%-104%90%15%-24%-49%-72%112%49%-15%64%-16%92%-90%-66%-104%-85%-115%43%-96%21%-17%49%95%55%79%29%80%-9%26%78%-31%-82%-52%-67%65%-104%-11%82%-42%108%-101%100%-31%-18%113%126%20%35%-50%-87%-84%-53%118%-77%104%-12%-13%-13%87%-28%-67%-107%95%112%97%121%13%-47%-13%-112%-88%-58%-71%79%-100%110%23%36%-10%126%48%40%122%-79%-68%-96%-84%112%-24%-44%121%-73%-104%93%123%-37%2%-53%13%-7%-113%24%-38%7%-59%42%-113%125%125%-54%77%4%50%58%62%67%-33%-61%-58%-36%59%-50%92%105%112%115%-71%-15%24%-9%-85%71%101%-49%88%-106%96%65%-32%-17%-99%-29%105%-119%-61%-11%-112%-89%-23%75%-102%-118%94%88%64%-84%-54%61%123%-120%76%-32%-72%-22%50%-117%80%-23%61%-61%-111%54%-10%-23%-116%113%-91%-10%126%-93%112%-49%-120%84%113%71%87%124%55%50%19%63%126%-30%107%-56%-119%127%85%-33%-55%68%13%84%-78%76%-21%-111%87%80%85%127%-113%52%127%-106%-93%40%45%-7%85%122%-99%-9%87%123%-27%-81%52%88%93%29%-39%124%31%90%-17%-66%-94%-101%-30%-43%61%-105%-38%40%77%33%53%-33%-71%-123%99%-7%104%103%126%73%95%13%-72%-71%-110%-119%-88%-45%110%32%-82%-17%25%-67%-97%-20%-33%-74%-72%31%-12%-7%-31%74%22%9%25%-66%-37%36%97%127%-4%-13%-76%-67%-119%-4%-68%116%-38%-84%-83%4%-61%-69%51%-18%-89%102%-77%25%-10%-115%-22%-121%-2%3%52%51%-49%67%-105%-19%90%17%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%5%-46%-52%-24%92%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_17F1IDrSEeGKkdk54CX6PQ" source="image_papyrus">
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_17HDQDrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Sn5bADrXEeGMCcwsbpLuFA" key="image_name_key" value="IconProvideInterface"/>
+ <icon xmi:id="__3j28DixEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%119%0%0%0%92%8%3%0%0%0%99%-116%-38%77%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%120%120%120%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-71%82%-104%50%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%4%-59%73%68%65%84%104%-127%-59%-102%109%91%-30%58%16%-122%11%-118%40%-88%108%-83%2%-53%-117%93%123%4%-75%-20%110%53%-83%69%-91%-108%30%20%-1%-1%79%58%-107%-77%72%38%77%-109%73%-126%-41%62%95%-55%-52%77%94%-102%-52%76%98%-111%29%104%-2%-74%26%-115%-22%-29%81%-27%-83%31%35%77%44%51%98%-68%58%60%-19%120%22%-91%-27%-76%57%-70%-8%90%-18%-62%127%6%-56%-83%58%-65%-34%-61%47%-30%94%28%-76%-7%-52%63%122%109%-4%-5%5%-36%-59%73%73%79%105%-75%43%59%-26%14%78%-28%-48%-75%-70%-29%-78%-31%-42%-32%94%96%-87%107%-14%96%71%-36%-80%-18%42%96%115%5%-50%46%-72%-117%-82%26%53%-41%-16%-38%-100%-69%127%-91%-116%-51%-43%-116%-52%-72%-15%-67%14%53%87%123%102%-62%117%94%52%-79%-106%-27%-78%-53%75%-127%-101%-88%79%45%5%102%-66%101%60%119%-66%44%117%58%124%-71%15%38%-66%-1%59%-104%-106%-73%-15%-58%122%-36%-92%-60%101%-89%89%-95%63%-108%120%-32%79%75%-42%94%85%-121%-21%100%60%87%-39%36%-31%-76%-75%111%-98%-72%61%-2%-95%-50%-115%121%115%43%-40%127%23%15%-100%-3%-37%-19%41%115%91%69%47%-35%-107%-48%34%-31%-20%-90%-53%-19%-116%-32%-72%-11%-30%127%-81%75%14%88%66%86%-33%11%86%45%53%-18%-96%48%104%47%-123%-115%-128%-93%-8%119%1%92%87%-31%-38%25%107%-34%-112%118%-10%127%-115%-39%51%-60%-21%43%112%27%-84%113%13%71%-51%-43%103%-65%-66%78%-120%-26%-10%-104%81%-10%-86%114%-101%79%37%-20%88%-43%-48%-36%103%3%44%33%51%-90%-57%-18%5%-110%59%102%-2%-16%88%106%1%-107%48%115%28%32%-71%41%52%-13%21%-79%-124%92%-62%121%-14%18%20%-73%2%-79%-33%-112%43%-103%-42%29%116%-47%68%113%97%-108%-4%-54%13%-106%36%10%-65%1%31%87%14%-126%-5%6%-1%-21%72%3%-101%-81%45%120%66%77%16%-36%0%88%60%106%97%-39%-111%-50%-28%-36%8%44%70%-113%119%-22%97%20%-62%-59%121%41%-27%94%-125%-10%-57%-102%88%-10%99%12%-92%92%120%-2%45%-76%-71%33%-40%61%-36%80%-62%13%-63%48%-73%-124%109%-59%58%0%29%-24%75%-72%125%-48%-102%23%-9%99%-27%-128%-51%-29%78%-62%5%-21%-48%45%70%-3%10%2%51%54%-107%112%31%-103%-43%96%-96%17%-19%-22%42%18%115%95%-23%-58%122%123%-58%70%51%-72%66%-123%92%27%-76%-59%-124%54%2%-127%-120%-76%-14%-121%27%-49%120%-86%-46%77%51%51%44%-36%-7%110%63%-72%-47%-92%-115%-88%86%-24%-18%-111%27%-127%47%-23%-34%66%-89%-46%13%67%46%56%80%-97%44%18%103%40%-84%-75%111%-56%-99%-45%-50%-50%45%-46%-60%97%13%-105%51%-77%-96%83%-117%12%-111%92%113%90%34%87%8%-71%9%18%107%-67%25%114%9%-19%-52%-77%46%-1%10%-41%-75%-20%50%14%43%65%-47%15%-91%-104%118%-106%-49%47%-74%106%-79%-21%117%85%45%3%49%58%48%-28%-10%104%103%-7%-9%75%30%112%-36%95%-122%-36%127%104%103%-45%-100%27%-6%-120%93%50%-1%-117%-122%92%-97%118%-42%92%-97%11%73%-19%-8%-119%39%80%39%27%26%114%65%-35%-95%38%60%7%35%-48%-31%-98%-88%-87%92%96%127%122%23%-97%-5%32%-20%-59%103%-37%60%-127%101%-107%-17%86%-62%-58%-57%116%91%-109%112%-110%-112%91%56%103%98%-18%30%-35%-40%-45%-55%-55%62%5%-14%-69%19%9%23%-100%93%70%3%-67%0%-98%-10%100%-7%2%8%-13%59%6%92%88%-101%-103%-53%-72%48%29%-44%-33%-94%29%-112%-119%102%-46%-4%8%-90%-65%-25%-38%92%-80%105%124%36%-64%-78%-4%55%3%6%-17%-102%88%7%6%23%115%57%-9%16%24%100%-102%-87%10%-100%-82%103%34%-25%-62%21%-67%46%17%-88%-117%-119%45%-10%17%92%-72%-83%90%94%-55%-11%-105%80%76%125%115%25%97%-72%-16%-61%-77%-78%51%117%46%83%-119%94%111%3%-14%-70%-39%41%-76%106%41%23%-80%-104%-14%-43%-48%-58%113%7%-48%76%57%29%29%49%-10%119%4%-57%37%108%-11%-6%72%9%91%101%-126%-118%52%-62%114%-49%-40%-56%30%91%-11%-26%97%55%-31%63%-90%-18%-67%-49%-104%90%15%-24%-49%-72%112%49%-15%64%-16%92%-90%-66%-104%-85%-115%43%-96%21%-17%49%95%55%79%29%80%-9%26%78%-31%-82%-52%-67%65%-104%-11%82%-42%108%-101%100%-31%-18%113%126%20%35%-50%-87%-84%-53%118%-77%104%-12%-13%-13%87%-28%-67%-107%95%112%97%121%13%-47%-13%-112%-88%-58%-71%79%-100%110%23%36%-10%126%48%40%122%-79%-68%-96%-84%112%-24%-44%121%-73%-104%93%123%-37%2%-53%13%-7%-113%24%-38%7%-59%42%-113%125%125%-54%77%4%50%58%62%67%-33%-61%-58%-36%59%-50%92%105%112%115%-71%-15%24%-9%-85%71%101%-49%88%-106%96%65%-32%-17%-99%-29%105%-119%-61%-11%-112%-89%-23%75%-102%-118%94%88%64%-84%-54%61%123%-120%76%-32%-72%-22%50%-117%80%-23%61%-61%-111%54%-10%-23%-116%113%-91%-10%126%-93%112%-49%-120%84%113%71%87%124%55%50%19%63%126%-30%107%-56%-119%127%85%-33%-55%68%13%84%-78%76%-21%-111%87%80%85%127%-113%52%127%-106%-93%40%45%-7%85%122%-99%-9%87%123%-27%-81%52%88%93%29%-39%124%31%90%-17%-66%-94%-101%-30%-43%61%-105%-38%40%77%33%53%-33%-71%-123%99%-7%104%103%126%73%95%13%-72%-71%-110%-119%-88%-45%110%32%-82%-17%25%-67%-97%-20%-33%-74%-72%31%-12%-7%-31%74%22%9%25%-66%-37%36%97%127%-4%-13%-76%-67%-119%-4%-68%116%-38%-84%-83%4%-61%-69%51%-18%-89%102%-77%25%-10%-115%-22%-121%-2%3%52%51%-49%67%-105%-19%90%17%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%5%-46%-52%-24%92%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
+ <eAnnotations xmi:id="_17F1IDrSEeGKkdk54CX6PQ" source="image_papyrus">
+ <details xmi:id="_17HDQDrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
+ <details xmi:id="_Sn5bADrXEeGMCcwsbpLuFA" key="image_name_key" value="IconProvideInterface"/>
</eAnnotations>
</icon>
- <icon xmi:type="uml:Image" xmi:id="_ToC6oDl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%84%0%0%0%101%8%3%0%0%0%-28%-109%52%-5%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-52%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%82%82%82%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%24%24%24%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-33%61%-9%-93%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%41%73%68%65%84%104%-127%-83%-39%125%91%-38%48%16%0%-16%-29%101%12%-76%32%32%69%17%-95%88%-107%23%-69%45%-43%90%-83%5%117%-32%-9%-1%78%-125%103%-37%67%47%109%115%-105%54%-9%119%-8%61%41%73%-109%-69%43%-120%-14%17%92%86%-105%86%56%-116%15%49%12%-83%-42%26%74%-126%-35%-54%106%8%82%84%74%-95%-125%-58%-117%12%30%98%84%28%125%-84%-74%-99%44%18%-96%87%20%125%-84%127%100%-117%0%83%81%12%85%-112%0%-61%98%-24%-83%-126%4%120%42%-126%-66%61%-87%72%-128%7%125%-44%-97%79%-43%38%-52%-75%-47%-2%25%65%2%-72%-70%-24%104%67%-102%-80%-43%68%107%57%59%19%69%-92%-121%46%25%36%-128%-81%-123%54%115%-99%-15%-85%-41%-88%110%15%81%-83%-51%-123%6%-22%63%100%-125%-45%-50%-3%-91%52%-108%-113%-98%100%-110%-81%-75%94%122%40%27%-99%103%-111%-42%58%115%44%23%-67%-31%-109%108%116%-108%-34%75%-101%93%-18%104%30%-38%77%-17%-7%102%-112%63%-100%-121%-2%72%-19%-95%47%-43%112%22%122%39%-101%118%-92%28%-49%65%-93%-119%100%-122%-118%71%-25%-94%-14%-61%119%8%-109%-125%110%37%-13%-52%-89%126%65%-93%-66%116%-81%15%-87%121%114%-48%26%54%63%-6%-28%47%104%-44%-57%91%-44%-71%-94%77%26%-67%-59%19%-99%51%76%26%-75%-15%102%34%23%-119%-125%86%-16%-61%-65%113%76%18%-75%16%-38%98%-103%20%-38%67%-89%-45%-17%-82%17%20%47%-45%61%-49%-92%-48%48%105%-114%-103%19%37%-48%1%-102%104%-109%105%18%-88%-117%-48%-127%25%-44%67%123%-108%107%18%104%-100%68%-17%-52%-96%17%122%-6%-116%11%-66%8%58%75%-102%54%-37%84%-93%40%-127%96%-66%77%36%-118%-18%-111%-118%33%-12%60%-119%50%14%103%22%58%78%-104%19%-66%-87%68%-125%-126%-21%116%64%-3%-111%91%91%36%-93%-27%-3%-115%95%73%-12%84%11%29%93%0%39%60%29%-12%-115%42%-117%-2%-59%82%7%125%-26%-103%-80%-48%65%57%69%-116%54%-54%13%45%-108%-7%-105%-62%119%29%-12%39%19%-43%90%-3%-63%-104%6%15%-47%-42%65%69%-60%91%127%-51%55%74%116%-81%-73%-57%-72%-114%-114%-15%-103%64%29%77%52%55%-48%5%-51%-53%120%104%20%85%-93%51%67%-24%-73%36%-70%50%-124%-94%-108%111%104%8%-19%-93%-11%103%-25%18%-60%-67%-113%106%-120%-70%33%116%-107%68%-49%13%-95%51%-12%-4%-20%77%-91%70%-5%-24%96%100%-33%-4%68%126%-118%58%112%83%51%-7%-87%-108%75%114%-49%84%2%13%-48%113%-53%77%-91%-87%-22%-28%20%77%-107%-7%86%81%-24%14%-95%78%94%43%70%15%-107%42%-66%23%35%21%-97%-76%85%121%-41%63%93%69%-93%20%29%-100%107%19%-88%92%70%27%-87%-9%83%-99%-119%11%19%-99%9%113%-123%81%70%121%-50%-23%-10%120%-110%-6%108%-96%-37%35%6%-87%-66%20%81%-3%-80%58%104%-82%-124%-62%69%-7%14%90%-6%15%-128%-119%-14%110%-27%-95%65%44%-85%112%82%-70%43%41%46%-45%-55%-31%38%-65%-80%-30%118%122%-85%41%116%-97%-77%-107%-20%-12%74%-119%-59%-1%-80%-34%-53%-95%57%93%126%-69%94%-90%123%46%-35%-41%-57%112%-98%23%35%-23%29%51%-13%69%98%106%91%75%-41%-35%109%-65%92%-9%74%19%21%-115%92%-11%24%15%-70%40%-25%43%-113%-89%-115%-118%119%-14%123%-44%-87%62%42%122%29%2%13%11%-96%-5%13%-85%-82%-68%-118%-95%34%82%78%-42%46%-122%10%113%-93%-8%103%-29%-94%-88%-22%11%111%113%84%-59%-106%64%-9%-73%108%-59%-54%-36%-75%-91%-48%125%-12%-22%97%-38%13%74%-94%-5%8%118%45%27%-61%81%121%-12%16%-2%-70%-46%-16%-38%97%24%-57%113%24%-74%-9%71%-31%31%12%-33%-99%51%8%-119%86%-81%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%45%-25%121%64%-90%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2ypIMDrSEeGKkdk54CX6PQ" source="image_papyrus">
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2ypvQDrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UMxHEDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjProvideInterface"/>
+ <icon xmi:id="_ToC6oDl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%84%0%0%0%101%8%3%0%0%0%-28%-109%52%-5%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-52%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%82%82%82%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%24%24%24%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-33%61%-9%-93%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%41%73%68%65%84%104%-127%-83%-39%125%91%-38%48%16%0%-16%-29%101%12%-76%32%32%69%17%-95%88%-107%23%-69%45%-43%90%-83%5%117%-32%-9%-1%78%-125%103%-37%67%47%109%115%-105%54%-9%119%-8%61%41%73%-109%-69%43%-120%-14%17%92%86%-105%86%56%-116%15%49%12%-83%-42%26%74%-126%-35%-54%106%8%82%84%74%-95%-125%-58%-117%12%30%98%84%28%125%-84%-74%-99%44%18%-96%87%20%125%-84%127%100%-117%0%83%81%12%85%-112%0%-61%98%-24%-83%-126%4%120%42%-126%-66%61%-87%72%-128%7%125%-44%-97%79%-43%38%-52%-75%-47%-2%25%65%2%-72%-70%-24%104%67%-102%-80%-43%68%107%57%59%19%69%-92%-121%46%25%36%-128%-81%-123%54%115%-99%-15%-85%-41%-88%110%15%81%-83%-51%-123%6%-22%63%100%-125%-45%-50%-3%-91%52%-108%-113%-98%100%-110%-81%-75%94%122%40%27%-99%103%-111%-42%58%115%44%23%-67%-31%-109%108%116%-108%-34%75%-101%93%-18%104%30%-38%77%-17%-7%102%-112%63%-100%-121%-2%72%-19%-95%47%-43%112%22%122%39%-101%118%-92%28%-49%65%-93%-119%100%-122%-118%71%-25%-94%-14%-61%119%8%-109%-125%110%37%-13%-52%-89%126%65%-93%-66%116%-81%15%-87%121%114%-48%26%54%63%-6%-28%47%104%-44%-57%91%-44%-71%-94%77%26%-67%-59%19%-99%51%76%26%-75%-15%102%34%23%-119%-125%86%-16%-61%-65%113%76%18%-75%16%-38%98%-103%20%-38%67%-89%-45%-17%-82%17%20%47%-45%61%-49%-92%-48%48%105%-114%-103%19%37%-48%1%-102%104%-109%105%18%-88%-117%-48%-127%25%-44%67%123%-108%107%18%104%-100%68%-17%-52%-96%17%122%-6%-116%11%-66%8%58%75%-102%54%-37%84%-93%40%-127%96%-66%77%36%-118%-18%-111%-118%33%-12%60%-119%50%14%103%22%58%78%-104%19%-66%-87%68%-125%-126%-21%116%64%-3%-111%91%91%36%-93%-27%-3%-115%95%73%-12%84%11%29%93%0%39%60%29%-12%-115%42%-117%-2%-59%82%7%125%-26%-103%-80%-48%65%57%69%-116%54%-54%13%45%-108%-7%-105%-62%119%29%-12%39%19%-43%90%-3%-63%-104%6%15%-47%-42%65%69%-60%91%127%-51%55%74%116%-81%-73%-57%-72%-114%-114%-15%-103%64%29%77%52%55%-48%5%-51%-53%120%104%20%85%-93%51%67%-24%-73%36%-70%50%-124%-94%-108%111%104%8%-19%-93%-11%103%-25%18%-60%-67%-113%106%-120%-70%33%116%-107%68%-49%13%-95%51%-12%-4%-20%77%-91%70%-5%-24%96%100%-33%-4%68%126%-118%58%112%83%51%-7%-87%-108%75%114%-49%84%2%13%-48%113%-53%77%-91%-87%-22%-28%20%77%-107%-7%86%81%-24%14%-95%78%94%43%70%15%-107%42%-66%23%35%21%-97%-76%85%121%-41%63%93%69%-93%20%29%-100%107%19%-88%92%70%27%-87%-9%83%-99%-119%11%19%-99%9%113%-123%81%70%121%-50%-23%-10%120%-110%-6%108%-96%-37%35%6%-87%-66%20%81%-3%-80%58%104%-82%-124%-62%69%-7%14%90%-6%15%-128%-119%-14%110%-27%-95%65%44%-85%112%82%-70%43%41%46%-45%-55%-31%38%-65%-80%-30%118%122%-85%41%116%-97%-77%-107%-20%-12%74%-119%-59%-1%-80%-34%-53%-95%57%93%126%-69%94%-90%123%46%-35%-41%-57%112%-98%23%35%-23%29%51%-13%69%98%106%91%75%-41%-35%109%-65%92%-9%74%19%21%-115%92%-11%24%15%-70%40%-25%43%-113%-89%-115%-118%119%-14%123%-44%-87%62%42%122%29%2%13%11%-96%-5%13%-85%-82%-68%-118%-95%34%82%78%-42%46%-122%10%113%-93%-8%103%-29%-94%-88%-22%11%111%113%84%-59%-106%64%-9%-73%108%-59%-54%-36%-75%-91%-48%125%-12%-22%97%-38%13%74%-94%-5%8%118%45%27%-61%81%121%-12%16%-2%-70%-46%-16%-38%97%24%-57%113%24%-74%-9%71%-31%31%12%-33%-99%51%8%-119%86%-81%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%45%-25%121%64%-90%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
+ <eAnnotations xmi:id="_2ypIMDrSEeGKkdk54CX6PQ" source="image_papyrus">
+ <details xmi:id="_2ypvQDrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
+ <details xmi:id="_UMxHEDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjProvideInterface"/>
</eAnnotations>
</icon>
</packagedElement>
<packagedElement xmi:type="uml:Stereotype" xmi:id="_Wtq4sVDlEd6cwecVIgl9nw" name="PullConsumer">
- <icon xmi:type="uml:Image" xmi:id="_CVWIADiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%97%0%0%0%98%8%0%0%0%0%101%-7%-30%-47%0%0%2%120%73%68%65%84%104%-127%-75%-38%-51%75%21%81%24%6%-16%-125%-106%105%25%-106%38%-107%84%-76%50%-119%-54%32%90%37%-75%-120%72%-94%69%-117%104%85%86%-46%-90%112%97%73%33%-47%-86%-123%16%33%70%17%-47%-54%-94%47%-24%3%-63%34%-56%-115%20%-35%77%4%-110%65%-123%27%11%51%37%-107%-16%-93%-85%-34%105%-26%-23%74%31%115%-18%120%103%-18%97%-50%-5%60%127%-64%-4%86%103%-26%61%-49%59%10%-99%23%-102%121%105%31%-127%122%-80%72%17%-77%-96%98%68%85%51%-127%116%-82%-87%26%-78%112%76%-35%34%11%117%106%-74%-98%45%32%121%-124%45%96%124%55%91%-64%-40%46%-74%-128%-127%-51%108%1%-3%-107%108%1%61%107%-40%2%-34%-106%-78%5%116%-111%8%95%-64%-45%34%-74%-32%-35%-90%16%-102%0%-17%106%62%89%-128%-45%66%32%50%4%56%-115%108%1%-45%39%-39%2%-110%7%-39%2%38%14%-80%5%-116%-18%96%11%24%-38%-50%22%-48%-73%-127%45%-32%-29%58%-74%-128%-41%43%-39%2%94%-107%-80%5%116%-120%17%97%2%-18%20%-78%5%-9%-70%16%17%42%-64%-67%40%-13%-94%13%23%-112%58%47%66%68%8%72%29%103%11%-104%58%-52%22%48%-79%-113%45%96%108%15%91%-64%-32%54%-74%-128%47%-101%-40%2%-34%-83%103%11%-24%89%-59%22%-16%-94%-116%45%-32%-39%82%-74%-128%-69%-59%108%1%55%11%-40%-126%123%41%54%97%40%-64%109%-54%35%11%-104%-39%-49%22%-34%-105%-109%-123%-127%-86%-104%-128%-87%-16%99%103%92%-64%80%-104%58%20%27%48%19%82%-89%-29%3%70%-126%-41%106%51%18%-104%8%-9%-84%38%39%3%-95%107%-103%13%96%32%-12%-38%125%30%114%11%-33%108%-81%43%-71%-124%113%-21%-6%44%-121%-112%-76%56%8%70%-126%115%-58%26%-120%22%-68%54%-127%-39%56%82%120%36%81%7%69%9%-35%-53%5%-128%40%-95%-73%66%2%-120%16%6%55%-118%0%-31%-62%100%-4%47%-126%-103%48%45%113%57%-119%18%-100%38%41%32%68%-16%-82%-56%21%126%-39%-123%-57%-126%-67%104%86%33%97%53%108%27%8%31%68%91%-10%44%-62%87%-39%101%-60%124%65%122%103%51%79%-104%-107%-34%59%5%-123%95%103%-123%-127%-96%64%40%-41%3%-62%-109%-59%-46%64%64%72%-84%16%7%50%5%-47%22%52%-101%48%-76%-107%0%-24%-62%-28%94%6%-96%9%-87%58%10%-32%11%-18%57%14%-32%11%55%72%-64%127%-95%-109%-10%63%-62%95%-31%13%107%103%-7%79%-24%91%75%3%-2%8%-33%41%7%65%19%126%-42%18%-127%57%-63%57%-63%4%-46%-126%-37%76%5%-46%66%7%23%80%71%85%-36%86%-57%52%-83%-86%-127%-6%-4%-68%-110%97%-11%-87%44%-93%-3%-54%-41%-78%-80%64%75%-111%-106%37%-59%126%86%111%-47%82%-85%-91%-2%84%58%109%-61%80%24%109%-65%-84%-27%-2%67%63%-49%95%-6%73%124%-42%50%19%28%-127%-94%-14%27%-2%-94%-44%59%115%-35%74%-17%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4KKUwDrSEeGKkdk54CX6PQ" source="image_papyrus">
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4KLi4DrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MdOBcDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconPushConsumer"/>
+ <icon xmi:id="_CVWIADiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%97%0%0%0%98%8%0%0%0%0%101%-7%-30%-47%0%0%2%120%73%68%65%84%104%-127%-75%-38%-51%75%21%81%24%6%-16%-125%-106%105%25%-106%38%-107%84%-76%50%-119%-54%32%90%37%-75%-120%72%-94%69%-117%104%85%86%-46%-90%112%97%73%33%-47%-86%-123%16%33%70%17%-47%-54%-94%47%-24%3%-63%34%-56%-115%20%-35%77%4%-110%65%-123%27%11%51%37%-107%-16%-93%-85%-34%105%-26%-23%74%31%115%-18%120%103%-18%97%-50%-5%60%127%-64%-4%86%103%-26%61%-49%59%10%-99%23%-102%121%105%31%-127%122%-80%72%17%-77%-96%98%68%85%51%-127%116%-82%-87%26%-78%112%76%-35%34%11%117%106%-74%-98%45%32%121%-124%45%96%124%55%91%-64%-40%46%-74%-128%-127%-51%108%1%-3%-107%108%1%61%107%-40%2%-34%-106%-78%5%116%-111%8%95%-64%-45%34%-74%-32%-35%-90%16%-102%0%-17%106%62%89%-128%-45%66%32%50%4%56%-115%108%1%-45%39%-39%2%-110%7%-39%2%38%14%-80%5%-116%-18%96%11%24%-38%-50%22%-48%-73%-127%45%-32%-29%58%-74%-128%-41%43%-39%2%94%-107%-80%5%116%-120%17%97%2%-18%20%-78%5%-9%-70%16%17%42%-64%-67%40%-13%-94%13%23%-112%58%47%66%68%8%72%29%103%11%-104%58%-52%22%48%-79%-113%45%96%108%15%91%-64%-32%54%-74%-128%47%-101%-40%2%-34%-83%103%11%-24%89%-59%22%-16%-94%-116%45%-32%-39%82%-74%-128%-69%-59%108%1%55%11%-40%-126%123%41%54%97%40%-64%109%-54%35%11%-104%-39%-49%22%-34%-105%-109%-123%-127%-86%-104%-128%-87%-16%99%103%92%-64%80%-104%58%20%27%48%19%82%-89%-29%3%70%-126%-41%106%51%18%-104%8%-9%-84%38%39%3%-95%107%-103%13%96%32%-12%-38%125%30%114%11%-33%108%-81%43%-71%-124%113%-21%-6%44%-121%-112%-76%56%8%70%-126%115%-58%26%-120%22%-68%54%-127%-39%56%82%120%36%81%7%69%9%-35%-53%5%-128%40%-95%-73%66%2%-120%16%6%55%-118%0%-31%-62%100%-4%47%-126%-103%48%45%113%57%-119%18%-100%38%41%32%68%-16%-82%-56%21%126%-39%-123%-57%-126%-67%104%86%33%97%53%108%27%8%31%68%91%-10%44%-62%87%-39%101%-60%124%65%122%103%51%79%-104%-107%-34%59%5%-123%95%103%-123%-127%-96%64%40%-41%3%-62%-109%-59%-46%64%64%72%-84%16%7%50%5%-47%22%52%-101%48%-76%-107%0%-24%-62%-28%94%6%-96%9%-87%58%10%-32%11%-18%57%14%-32%11%55%72%-64%127%-95%-109%-10%63%-62%95%-31%13%107%103%-7%79%-24%91%75%3%-2%8%-33%41%7%65%19%126%-42%18%-127%57%-63%57%-63%4%-46%-126%-37%76%5%-46%66%7%23%80%71%85%-36%86%-57%52%-83%-86%-127%-6%-4%-68%-110%97%-11%-87%44%-93%-3%-54%-41%-78%-80%64%75%-111%-106%37%-59%126%86%111%-47%82%-85%-91%-2%84%58%109%-61%80%24%109%-65%-84%-27%-2%67%63%-49%95%-6%73%124%-42%50%19%28%-127%-94%-14%27%-2%-94%-44%59%115%-35%74%-17%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
+ <eAnnotations xmi:id="_4KKUwDrSEeGKkdk54CX6PQ" source="image_papyrus">
+ <details xmi:id="_4KLi4DrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
+ <details xmi:id="_MdOBcDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconPushConsumer"/>
</eAnnotations>
</icon>
- <icon xmi:type="uml:Image" xmi:id="_kZGdADl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%108%0%0%0%97%8%0%0%0%0%22%-109%27%-49%0%0%2%-101%73%68%65%84%104%-127%-67%-38%-51%75%84%81%24%6%-16%-25%-36%59%87%68%43%107%76%40%63%42%-84%4%-125%1%49%-86%77%-82%70%24%-120%54%-39%-57%44%18%35%-110%62%104%-91%-83%10%-108%32%-94%64%40%92%-10%-79%-120%-118%8%23%82%-101%26%-124%22%65%41%4%69%-117%-118%-124%114%17%52%65%-108%9%105%-47%-28%116%26%107%76%-13%-34%-21%-67%112%-49%-5%60%-1%-64%111%49%103%120%-97%123%-34%3%61%118%-78%37%84%118%-89%61%115%-30%-123%14%29%76%39%16%41%106%-29%72%120%44%19%-51%42%100%-61%-77%-48%-40%-11%-56%24%-102%71%-119%-104%-38%-10%-114%-121%-63%74%101%121%24%84%-37%4%15%-125%-35%17%70%51%-124%-63%62%62%21%2%-21%55%-125%-63%-23%-2%30%-116%-99%54%-124%-95%-12%124%-114%-121%-95%-20%66%-98%-121%97%-7%-75%0%-51%36%-122%-8%32%17%67%-19%61%34%-122%-75%-113%-120%24%26%-122%-119%24%-102%94%19%49%-75%-27%45%15%-125%74%-67%-25%97%-80%118%-114%-13%48%-60%14%-8%-116%0%9%12%-79%-61%-34%35%64%4%-125%-45%-27%-87%-55%96%112%-50%120%-115%0%-12%-120%96%40%-21%-101%-10%-64%14%-55%96%88%-26%49%2%-48%33%-124%33%126%-117%-120%-95%-58%53%2%4%49%-84%121%72%-60%-48%48%66%-60%-48%-8%-110%-120%-87%-83%-93%60%12%42%-103%-27%97%-80%118%124%-28%97%-80%-38%39%120%24%-20%-125%83%60%-84%-16%21%-16%-115%-121%-63%-23%-51%-15%-80%-62%8%-56%-15%48%-108%95%-3%-59%-61%-80%-30%-58%31%108%23%5%67%85%102%6%-37%-50%-63%80%-5%-128%-120%97%-3%19%34%-122%-42%28%17%-85%120%78%-60%-86%-77%60%-52%-18%-28%-3%102%-86%117%-100%-121%37%-34%-16%-114%126%-35%48%-17%79%29%-65%-85%105%88%-23%-59%60%13%-117%117%-3%-48%44%-52%-38%59%-87%105%88%-53%7%77%-61%-26%106%-79%60%-74%122%104%-82%-54%109%18%-74%42%110%-50%43%-87%-11%-78%86%-55%-39%60%13%-77%-113%-52%-65%57%-106%-59%84%-37%23%77%-61%54%-1%-65%55%17%-59%-22%-97%106%26%86%117%95%-45%-80%37%-105%53%13%115%122%126%-46%48%-69%-3%-21%66%75%12%83%-55%-49%46%75%12%-101%-87%28%44%-84%-18%-79%-121%37%-124%85%-34%-15%-78%100%-80%98%-27%-96%96%-77%-107%-61%-115%85%27%-73%-84%125%-18%67%95%-60%-52%-25%95%-27%32%96%-115%-81%-4%44%-13%-40%-86%33%95%-53%56%-74%-44%125%51%44%-122%-107%-100%91%108%-19%105%-42%-78%-113%46%-70%-84%54%106%45%-88%28%-78%88%115%-64%83%13%-109%-42%-70%-96%39%47%6%-83%-107%-103%0%-53%32%86%-18%-86%28%114%-104%-45%-21%-86%28%98%-104%-75%127%50%-48%50%-123%-87%-92%-33%82%85%0%75%-116%-123%-80%12%97%53%-31%94%-107%25%-79%-2%-34%114%-124%-64%84%116%-85%-92%63%-24%-119%-53%44%-42%20%-39%-78%-70%125%42%-121%27%-69%93%25%-77%109%43%-118%-107%14%113%-24%-117%-104%-2%52%56%48%112%-91%-49%55%-89%-114%-7%38%-99%42%100%-49%-91%-48%-106%-2%13%-127%31%98%-1%-55%30%-37%-42%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_44RX8DrSEeGKkdk54CX6PQ" source="image_papyrus">
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_44R_ADrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PhMv0DrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjPullConsumer"/>
+ <icon xmi:id="_kZGdADl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%108%0%0%0%97%8%0%0%0%0%22%-109%27%-49%0%0%2%-101%73%68%65%84%104%-127%-67%-38%-51%75%84%81%24%6%-16%-25%-36%59%87%68%43%107%76%40%63%42%-84%4%-125%1%49%-86%77%-82%70%24%-120%54%-39%-57%44%18%35%-110%62%104%-91%-83%10%-108%32%-94%64%40%92%-10%-79%-120%-118%8%23%82%-101%26%-124%22%65%41%4%69%-117%-118%-124%114%17%52%65%-108%9%105%-47%-28%116%26%107%76%-13%-34%-21%-67%112%-49%-5%60%-1%-64%111%49%103%120%-97%123%-34%3%61%118%-78%37%84%118%-89%61%115%-30%-123%14%29%76%39%16%41%106%-29%72%120%44%19%-51%42%100%-61%-77%-48%-40%-11%-56%24%-102%71%-119%-104%-38%-10%-114%-121%-63%74%101%121%24%84%-37%4%15%-125%-35%17%70%51%-124%-63%62%62%21%2%-21%55%-125%-63%-23%-2%30%-116%-99%54%-124%-95%-12%124%-114%-121%-95%-20%66%-98%-121%97%-7%-75%0%-51%36%-122%-8%32%17%67%-19%61%34%-122%-75%-113%-120%24%26%-122%-119%24%-102%94%19%49%-75%-27%45%15%-125%74%-67%-25%97%-80%118%-114%-13%48%-60%14%-8%-116%0%9%12%-79%-61%-34%35%64%4%-125%-45%-27%-87%-55%96%112%-50%120%-115%0%-12%-120%96%40%-21%-101%-10%-64%14%-55%96%88%-26%49%2%-48%33%-124%33%126%-117%-120%-95%-58%53%2%4%49%-84%121%72%-60%-48%48%66%-60%-48%-8%-110%-120%-87%-83%-93%60%12%42%-103%-27%97%-80%118%124%-28%97%-80%-38%39%120%24%-20%-125%83%60%-84%-16%21%-16%-115%-121%-63%-23%-51%-15%-80%-62%8%-56%-15%48%-108%95%-3%-59%-61%-80%-30%-58%31%108%23%5%67%85%102%6%-37%-50%-63%80%-5%-128%-120%97%-3%19%34%-122%-42%28%17%-85%120%78%-60%-86%-77%60%-52%-18%-28%-3%102%-86%117%-100%-121%37%-34%-16%-114%126%-35%48%-17%79%29%-65%-85%105%88%-23%-59%60%13%-117%117%-3%-48%44%-52%-38%59%-87%105%88%-53%7%77%-61%-26%106%-79%60%-74%122%104%-82%-54%109%18%-74%42%110%-50%43%-87%-11%-78%86%-55%-39%60%13%-77%-113%-52%-65%57%-106%-59%84%-37%23%77%-61%54%-1%-65%55%17%-59%-22%-97%106%26%86%117%95%-45%-80%37%-105%53%13%115%122%126%-46%48%-69%-3%-21%66%75%12%83%-55%-49%46%75%12%-101%-87%28%44%-84%-18%-79%-121%37%-124%85%-34%-15%-78%100%-80%98%-27%-96%96%-77%-107%-61%-115%85%27%-73%-84%125%-18%67%95%-60%-52%-25%95%-27%32%96%-115%-81%-4%44%-13%-40%-86%33%95%-53%56%-74%-44%125%51%44%-122%-107%-100%91%108%-19%105%-42%-78%-113%46%-70%-84%54%106%45%-88%28%-78%88%115%-64%83%13%-109%-42%-70%-96%39%47%6%-83%-107%-103%0%-53%32%86%-18%-86%28%114%-104%-45%-21%-86%28%98%-104%-75%127%50%-48%50%-123%-87%-92%-33%82%85%0%75%-116%-123%-80%12%97%53%-31%94%-107%25%-79%-2%-34%114%-124%-64%84%116%-85%-92%63%-24%-119%-53%44%-42%20%-39%-78%-70%125%42%-121%27%-69%93%25%-77%109%43%-118%-107%14%113%-24%-117%-104%-2%52%56%48%112%-91%-49%55%-89%-114%-7%38%-99%42%100%-49%-91%-48%-106%-2%13%-127%31%98%-1%-55%30%-37%-42%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
+ <eAnnotations xmi:id="_44RX8DrSEeGKkdk54CX6PQ" source="image_papyrus">
+ <details xmi:id="_44R_ADrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
+ <details xmi:id="_PhMv0DrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjPullConsumer"/>
</eAnnotations>
</icon>
</packagedElement>
<packagedElement xmi:type="uml:Stereotype" xmi:id="_Wtq4slDlEd6cwecVIgl9nw" name="PushConsumer">
- <icon xmi:type="uml:Image" xmi:id="_Dh_hUDiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%97%0%0%0%98%8%0%0%0%0%101%-7%-30%-47%0%0%2%120%73%68%65%84%104%-127%-75%-38%-51%75%21%81%24%6%-16%-125%-106%105%25%-106%38%-107%84%-76%50%-119%-54%32%90%37%-75%-120%72%-94%69%-117%104%85%86%-46%-90%112%97%73%33%-47%-86%-123%16%33%70%17%-47%-54%-94%47%-24%3%-63%34%-56%-115%20%-35%77%4%-110%65%-123%27%11%51%37%-107%-16%-93%-85%-34%105%-26%-23%74%31%115%-18%120%103%-18%97%-50%-5%60%127%-64%-4%86%103%-26%61%-49%59%10%-99%23%-102%121%105%31%-127%122%-80%72%17%-77%-96%98%68%85%51%-127%116%-82%-87%26%-78%112%76%-35%34%11%117%106%-74%-98%45%32%121%-124%45%96%124%55%91%-64%-40%46%-74%-128%-127%-51%108%1%-3%-107%108%1%61%107%-40%2%-34%-106%-78%5%116%-111%8%95%-64%-45%34%-74%-32%-35%-90%16%-102%0%-17%106%62%89%-128%-45%66%32%50%4%56%-115%108%1%-45%39%-39%2%-110%7%-39%2%38%14%-80%5%-116%-18%96%11%24%-38%-50%22%-48%-73%-127%45%-32%-29%58%-74%-128%-41%43%-39%2%94%-107%-80%5%116%-120%17%97%2%-18%20%-78%5%-9%-70%16%17%42%-64%-67%40%-13%-94%13%23%-112%58%47%66%68%8%72%29%103%11%-104%58%-52%22%48%-79%-113%45%96%108%15%91%-64%-32%54%-74%-128%47%-101%-40%2%-34%-83%103%11%-24%89%-59%22%-16%-94%-116%45%-32%-39%82%-74%-128%-69%-59%108%1%55%11%-40%-126%123%41%54%97%40%-64%109%-54%35%11%-104%-39%-49%22%-34%-105%-109%-123%-127%-86%-104%-128%-87%-16%99%103%92%-64%80%-104%58%20%27%48%19%82%-89%-29%3%70%-126%-41%106%51%18%-104%8%-9%-84%38%39%3%-95%107%-103%13%96%32%-12%-38%125%30%114%11%-33%108%-81%43%-71%-124%113%-21%-6%44%-121%-112%-76%56%8%70%-126%115%-58%26%-120%22%-68%54%-127%-39%56%82%120%36%81%7%69%9%-35%-53%5%-128%40%-95%-73%66%2%-120%16%6%55%-118%0%-31%-62%100%-4%47%-126%-103%48%45%113%57%-119%18%-100%38%41%32%68%-16%-82%-56%21%126%-39%-123%-57%-126%-67%104%86%33%97%53%108%27%8%31%68%91%-10%44%-62%87%-39%101%-60%124%65%122%103%51%79%-104%-107%-34%59%5%-123%95%103%-123%-127%-96%64%40%-41%3%-62%-109%-59%-46%64%64%72%-84%16%7%50%5%-47%22%52%-101%48%-76%-107%0%-24%-62%-28%94%6%-96%9%-87%58%10%-32%11%-18%57%14%-32%11%55%72%-64%127%-95%-109%-10%63%-62%95%-31%13%107%103%-7%79%-24%91%75%3%-2%8%-33%41%7%65%19%126%-42%18%-127%57%-63%57%-63%4%-46%-126%-37%76%5%-46%66%7%23%80%71%85%-36%86%-57%52%-83%-86%-127%-6%-4%-68%-110%97%-11%-87%44%-93%-3%-54%-41%-78%-80%64%75%-111%-106%37%-59%126%86%111%-47%82%-85%-91%-2%84%58%109%-61%80%24%109%-65%-84%-27%-2%67%63%-49%95%-6%73%124%-42%50%19%28%-127%-94%-14%27%-2%-94%-44%59%115%-35%74%-17%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7bjNADrSEeGKkdk54CX6PQ" source="image_papyrus">
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7bj0EDrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JNOQUDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconPushConsumer"/>
+ <icon xmi:id="_Dh_hUDiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%97%0%0%0%98%8%0%0%0%0%101%-7%-30%-47%0%0%2%120%73%68%65%84%104%-127%-75%-38%-51%75%21%81%24%6%-16%-125%-106%105%25%-106%38%-107%84%-76%50%-119%-54%32%90%37%-75%-120%72%-94%69%-117%104%85%86%-46%-90%112%97%73%33%-47%-86%-123%16%33%70%17%-47%-54%-94%47%-24%3%-63%34%-56%-115%20%-35%77%4%-110%65%-123%27%11%51%37%-107%-16%-93%-85%-34%105%-26%-23%74%31%115%-18%120%103%-18%97%-50%-5%60%127%-64%-4%86%103%-26%61%-49%59%10%-99%23%-102%121%105%31%-127%122%-80%72%17%-77%-96%98%68%85%51%-127%116%-82%-87%26%-78%112%76%-35%34%11%117%106%-74%-98%45%32%121%-124%45%96%124%55%91%-64%-40%46%-74%-128%-127%-51%108%1%-3%-107%108%1%61%107%-40%2%-34%-106%-78%5%116%-111%8%95%-64%-45%34%-74%-32%-35%-90%16%-102%0%-17%106%62%89%-128%-45%66%32%50%4%56%-115%108%1%-45%39%-39%2%-110%7%-39%2%38%14%-80%5%-116%-18%96%11%24%-38%-50%22%-48%-73%-127%45%-32%-29%58%-74%-128%-41%43%-39%2%94%-107%-80%5%116%-120%17%97%2%-18%20%-78%5%-9%-70%16%17%42%-64%-67%40%-13%-94%13%23%-112%58%47%66%68%8%72%29%103%11%-104%58%-52%22%48%-79%-113%45%96%108%15%91%-64%-32%54%-74%-128%47%-101%-40%2%-34%-83%103%11%-24%89%-59%22%-16%-94%-116%45%-32%-39%82%-74%-128%-69%-59%108%1%55%11%-40%-126%123%41%54%97%40%-64%109%-54%35%11%-104%-39%-49%22%-34%-105%-109%-123%-127%-86%-104%-128%-87%-16%99%103%92%-64%80%-104%58%20%27%48%19%82%-89%-29%3%70%-126%-41%106%51%18%-104%8%-9%-84%38%39%3%-95%107%-103%13%96%32%-12%-38%125%30%114%11%-33%108%-81%43%-71%-124%113%-21%-6%44%-121%-112%-76%56%8%70%-126%115%-58%26%-120%22%-68%54%-127%-39%56%82%120%36%81%7%69%9%-35%-53%5%-128%40%-95%-73%66%2%-120%16%6%55%-118%0%-31%-62%100%-4%47%-126%-103%48%45%113%57%-119%18%-100%38%41%32%68%-16%-82%-56%21%126%-39%-123%-57%-126%-67%104%86%33%97%53%108%27%8%31%68%91%-10%44%-62%87%-39%101%-60%124%65%122%103%51%79%-104%-107%-34%59%5%-123%95%103%-123%-127%-96%64%40%-41%3%-62%-109%-59%-46%64%64%72%-84%16%7%50%5%-47%22%52%-101%48%-76%-107%0%-24%-62%-28%94%6%-96%9%-87%58%10%-32%11%-18%57%14%-32%11%55%72%-64%127%-95%-109%-10%63%-62%95%-31%13%107%103%-7%79%-24%91%75%3%-2%8%-33%41%7%65%19%126%-42%18%-127%57%-63%57%-63%4%-46%-126%-37%76%5%-46%66%7%23%80%71%85%-36%86%-57%52%-83%-86%-127%-6%-4%-68%-110%97%-11%-87%44%-93%-3%-54%-41%-78%-80%64%75%-111%-106%37%-59%126%86%111%-47%82%-85%-91%-2%84%58%109%-61%80%24%109%-65%-84%-27%-2%67%63%-49%95%-6%73%124%-42%50%19%28%-127%-94%-14%27%-2%-94%-44%59%115%-35%74%-17%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
+ <eAnnotations xmi:id="_7bjNADrSEeGKkdk54CX6PQ" source="image_papyrus">
+ <details xmi:id="_7bj0EDrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
+ <details xmi:id="_JNOQUDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconPushConsumer"/>
</eAnnotations>
</icon>
- <icon xmi:type="uml:Image" xmi:id="_hwLS8Dl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%108%0%0%0%97%8%0%0%0%0%22%-109%27%-49%0%0%2%-101%73%68%65%84%104%-127%-67%-38%-51%75%84%81%24%6%-16%-25%-36%59%87%68%43%107%76%40%63%42%-84%4%-125%1%49%-86%77%-82%70%24%-120%54%-39%-57%44%18%35%-110%62%104%-91%-83%10%-108%32%-94%64%40%92%-10%-79%-120%-118%8%23%82%-101%26%-124%22%65%41%4%69%-117%-118%-124%114%17%52%65%-108%9%105%-47%-28%116%26%107%76%-13%-34%-21%-67%112%-49%-5%60%-1%-64%111%49%103%120%-97%123%-34%3%61%118%-78%37%84%118%-89%61%115%-30%-123%14%29%76%39%16%41%106%-29%72%120%44%19%-51%42%100%-61%-77%-48%-40%-11%-56%24%-102%71%-119%-104%-38%-10%-114%-121%-63%74%101%121%24%84%-37%4%15%-125%-35%17%70%51%-124%-63%62%62%21%2%-21%55%-125%-63%-23%-2%30%-116%-99%54%-124%-95%-12%124%-114%-121%-95%-20%66%-98%-121%97%-7%-75%0%-51%36%-122%-8%32%17%67%-19%61%34%-122%-75%-113%-120%24%26%-122%-119%24%-102%94%19%49%-75%-27%45%15%-125%74%-67%-25%97%-80%118%-114%-13%48%-60%14%-8%-116%0%9%12%-79%-61%-34%35%64%4%-125%-45%-27%-87%-55%96%112%-50%120%-115%0%-12%-120%96%40%-21%-101%-10%-64%14%-55%96%88%-26%49%2%-48%33%-124%33%126%-117%-120%-95%-58%53%2%4%49%-84%121%72%-60%-48%48%66%-60%-48%-8%-110%-120%-87%-83%-93%60%12%42%-103%-27%97%-80%118%124%-28%97%-80%-38%39%120%24%-20%-125%83%60%-84%-16%21%-16%-115%-121%-63%-23%-51%-15%-80%-62%8%-56%-15%48%-108%95%-3%-59%-61%-80%-30%-58%31%108%23%5%67%85%102%6%-37%-50%-63%80%-5%-128%-120%97%-3%19%34%-122%-42%28%17%-85%120%78%-60%-86%-77%60%-52%-18%-28%-3%102%-86%117%-100%-121%37%-34%-16%-114%126%-35%48%-17%79%29%-65%-85%105%88%-23%-59%60%13%-117%117%-3%-48%44%-52%-38%59%-87%105%88%-53%7%77%-61%-26%106%-79%60%-74%122%104%-82%-54%109%18%-74%42%110%-50%43%-87%-11%-78%86%-55%-39%60%13%-77%-113%-52%-65%57%-106%-59%84%-37%23%77%-61%54%-1%-65%55%17%-59%-22%-97%106%26%86%117%95%-45%-80%37%-105%53%13%115%122%126%-46%48%-69%-3%-21%66%75%12%83%-55%-49%46%75%12%-101%-87%28%44%-84%-18%-79%-121%37%-124%85%-34%-15%-78%100%-80%98%-27%-96%96%-77%-107%-61%-115%85%27%-73%-84%125%-18%67%95%-60%-52%-25%95%-27%32%96%-115%-81%-4%44%-13%-40%-86%33%95%-53%56%-74%-44%125%51%44%-122%-107%-100%91%108%-19%105%-42%-78%-113%46%-70%-84%54%106%45%-88%28%-78%88%115%-64%83%13%-109%-42%-70%-96%39%47%6%-83%-107%-103%0%-53%32%86%-18%-86%28%114%-104%-45%-21%-86%28%98%-104%-75%127%50%-48%50%-123%-87%-92%-33%82%85%0%75%-116%-123%-80%12%97%53%-31%94%-107%25%-79%-2%-34%114%-124%-64%84%116%-85%-92%63%-24%-119%-53%44%-42%20%-39%-78%-70%125%42%-121%27%-69%93%25%-77%109%43%-118%-107%14%113%-24%-117%-104%-2%52%56%48%112%-91%-49%55%-89%-114%-7%38%-99%42%100%-49%-91%-48%-106%-2%13%-127%31%98%-1%-55%30%-37%-42%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8L9WQDrSEeGKkdk54CX6PQ" source="image_papyrus">
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8L99UDrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Lb68gDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjPushConsumer"/>
+ <icon xmi:id="_hwLS8Dl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%108%0%0%0%97%8%0%0%0%0%22%-109%27%-49%0%0%2%-101%73%68%65%84%104%-127%-67%-38%-51%75%84%81%24%6%-16%-25%-36%59%87%68%43%107%76%40%63%42%-84%4%-125%1%49%-86%77%-82%70%24%-120%54%-39%-57%44%18%35%-110%62%104%-91%-83%10%-108%32%-94%64%40%92%-10%-79%-120%-118%8%23%82%-101%26%-124%22%65%41%4%69%-117%-118%-124%114%17%52%65%-108%9%105%-47%-28%116%26%107%76%-13%-34%-21%-67%112%-49%-5%60%-1%-64%111%49%103%120%-97%123%-34%3%61%118%-78%37%84%118%-89%61%115%-30%-123%14%29%76%39%16%41%106%-29%72%120%44%19%-51%42%100%-61%-77%-48%-40%-11%-56%24%-102%71%-119%-104%-38%-10%-114%-121%-63%74%101%121%24%84%-37%4%15%-125%-35%17%70%51%-124%-63%62%62%21%2%-21%55%-125%-63%-23%-2%30%-116%-99%54%-124%-95%-12%124%-114%-121%-95%-20%66%-98%-121%97%-7%-75%0%-51%36%-122%-8%32%17%67%-19%61%34%-122%-75%-113%-120%24%26%-122%-119%24%-102%94%19%49%-75%-27%45%15%-125%74%-67%-25%97%-80%118%-114%-13%48%-60%14%-8%-116%0%9%12%-79%-61%-34%35%64%4%-125%-45%-27%-87%-55%96%112%-50%120%-115%0%-12%-120%96%40%-21%-101%-10%-64%14%-55%96%88%-26%49%2%-48%33%-124%33%126%-117%-120%-95%-58%53%2%4%49%-84%121%72%-60%-48%48%66%-60%-48%-8%-110%-120%-87%-83%-93%60%12%42%-103%-27%97%-80%118%124%-28%97%-80%-38%39%120%24%-20%-125%83%60%-84%-16%21%-16%-115%-121%-63%-23%-51%-15%-80%-62%8%-56%-15%48%-108%95%-3%-59%-61%-80%-30%-58%31%108%23%5%67%85%102%6%-37%-50%-63%80%-5%-128%-120%97%-3%19%34%-122%-42%28%17%-85%120%78%-60%-86%-77%60%-52%-18%-28%-3%102%-86%117%-100%-121%37%-34%-16%-114%126%-35%48%-17%79%29%-65%-85%105%88%-23%-59%60%13%-117%117%-3%-48%44%-52%-38%59%-87%105%88%-53%7%77%-61%-26%106%-79%60%-74%122%104%-82%-54%109%18%-74%42%110%-50%43%-87%-11%-78%86%-55%-39%60%13%-77%-113%-52%-65%57%-106%-59%84%-37%23%77%-61%54%-1%-65%55%17%-59%-22%-97%106%26%86%117%95%-45%-80%37%-105%53%13%115%122%126%-46%48%-69%-3%-21%66%75%12%83%-55%-49%46%75%12%-101%-87%28%44%-84%-18%-79%-121%37%-124%85%-34%-15%-78%100%-80%98%-27%-96%96%-77%-107%-61%-115%85%27%-73%-84%125%-18%67%95%-60%-52%-25%95%-27%32%96%-115%-81%-4%44%-13%-40%-86%33%95%-53%56%-74%-44%125%51%44%-122%-107%-100%91%108%-19%105%-42%-78%-113%46%-70%-84%54%106%45%-88%28%-78%88%115%-64%83%13%-109%-42%-70%-96%39%47%6%-83%-107%-103%0%-53%32%86%-18%-86%28%114%-104%-45%-21%-86%28%98%-104%-75%127%50%-48%50%-123%-87%-92%-33%82%85%0%75%-116%-123%-80%12%97%53%-31%94%-107%25%-79%-2%-34%114%-124%-64%84%116%-85%-92%63%-24%-119%-53%44%-42%20%-39%-78%-70%125%42%-121%27%-69%93%25%-77%109%43%-118%-107%14%113%-24%-117%-104%-2%52%56%48%112%-91%-49%55%-89%-114%-7%38%-99%42%100%-49%-91%-48%-106%-2%13%-127%31%98%-1%-55%30%-37%-42%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
+ <eAnnotations xmi:id="_8L9WQDrSEeGKkdk54CX6PQ" source="image_papyrus">
+ <details xmi:id="_8L99UDrSEeGKkdk54CX6PQ" key="image_kind_key" value="icon"/>
+ <details xmi:id="_Lb68gDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjPushConsumer"/>
</eAnnotations>
</icon>
</packagedElement>
<packagedElement xmi:type="uml:Stereotype" xmi:id="_WtrfwlDlEd6cwecVIgl9nw" name="PushProducer">
- <icon xmi:type="uml:Image" xmi:id="_Eu1u8DiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%108%0%0%0%97%8%0%0%0%0%22%-109%27%-49%0%0%2%-101%73%68%65%84%104%-127%-67%-38%-51%75%84%81%24%6%-16%-25%-36%59%87%68%43%107%76%40%63%42%-84%4%-125%1%49%-86%77%-82%70%24%-120%54%-39%-57%44%18%35%-110%62%104%-91%-83%10%-108%32%-94%64%40%92%-10%-79%-120%-118%8%23%82%-101%26%-124%22%65%41%4%69%-117%-118%-124%114%17%52%65%-108%9%105%-47%-28%116%26%107%76%-13%-34%-21%-67%112%-49%-5%60%-1%-64%111%49%103%120%-97%123%-34%3%61%118%-78%37%84%118%-89%61%115%-30%-123%14%29%76%39%16%41%106%-29%72%120%44%19%-51%42%100%-61%-77%-48%-40%-11%-56%24%-102%71%-119%-104%-38%-10%-114%-121%-63%74%101%121%24%84%-37%4%15%-125%-35%17%70%51%-124%-63%62%62%21%2%-21%55%-125%-63%-23%-2%30%-116%-99%54%-124%-95%-12%124%-114%-121%-95%-20%66%-98%-121%97%-7%-75%0%-51%36%-122%-8%32%17%67%-19%61%34%-122%-75%-113%-120%24%26%-122%-119%24%-102%94%19%49%-75%-27%45%15%-125%74%-67%-25%97%-80%118%-114%-13%48%-60%14%-8%-116%0%9%12%-79%-61%-34%35%64%4%-125%-45%-27%-87%-55%96%112%-50%120%-115%0%-12%-120%96%40%-21%-101%-10%-64%14%-55%96%88%-26%49%2%-48%33%-124%33%126%-117%-120%-95%-58%53%2%4%49%-84%121%72%-60%-48%48%66%-60%-48%-8%-110%-120%-87%-83%-93%60%12%42%-103%-27%97%-80%118%124%-28%97%-80%-38%39%120%24%-20%-125%83%60%-84%-16%21%-16%-115%-121%-63%-23%-51%-15%-80%-62%8%-56%-15%48%-108%95%-3%-59%-61%-80%-30%-58%31%108%23%5%67%85%102%6%-37%-50%-63%80%-5%-128%-120%97%-3%19%34%-122%-42%28%17%-85%120%78%-60%-86%-77%60%-52%-18%-28%-3%102%-86%117%-100%-121%37%-34%-16%-114%126%-35%48%-17%79%29%-65%-85%105%88%-23%-59%60%13%-117%117%-3%-48%44%-52%-38%59%-87%105%88%-53%7%77%-61%-26%106%-79%60%-74%122%104%-82%-54%109%18%-74%42%110%-50%43%-87%-11%-78%86%-55%-39%60%13%-77%-113%-52%-65%57%-106%-59%84%-37%23%77%-61%54%-1%-65%55%17%-59%-22%-97%106%26%86%117%95%-45%-80%37%-105%53%13%115%122%126%-46%48%-69%-3%-21%66%75%12%83%-55%-49%46%75%12%-101%-87%28%44%-84%-18%-79%-121%37%-124%85%-34%-15%-78%100%-80%98%-27%-96%96%-77%-107%-61%-115%85%27%-73%-84%125%-18%67%95%-60%-52%-25%95%-27%32%96%-115%-81%-4%44%-13%-40%-86%33%95%-53%56%-74%-44%125%51%44%-122%-107%-100%91%108%-19%105%-42%-78%-113%46%-70%-84%54%106%45%-88%28%-78%88%115%-64%83%13%-109%-42%-70%-96%39%47%6%-83%-107%-103%0%-53%32%86%-18%-86%28%114%-104%-45%-21%-86%28%98%-104%-75%127%50%-48%50%-123%-87%-92%-33%82%85%0%75%-116%-123%-80%12%97%53%-31%94%-107%25%-79%-2%-34%114%-124%-64%84%116%-85%-92%63%-24%-119%-53%44%-42%20%-39%-78%-70%125%42%-121%27%-69%93%25%-77%109%43%-118%-107%14%113%-24%-117%-104%-2%52%56%48%112%-91%-49%55%-89%-114%-7%38%-99%42%100%-49%-91%-48%-106%-2%13%-127%31%98%-1%-55%30%-37%-42%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EVcCADrXEeGMCcwsbpLuFA" source="image_papyrus">
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EVdQIDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconPushProducer"/>
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Eg1ZsDrXEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
+ <icon xmi:id="_Eu1u8DiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%108%0%0%0%97%8%0%0%0%0%22%-109%27%-49%0%0%2%-101%73%68%65%84%104%-127%-67%-38%-51%75%84%81%24%6%-16%-25%-36%59%87%68%43%107%76%40%63%42%-84%4%-125%1%49%-86%77%-82%70%24%-120%54%-39%-57%44%18%35%-110%62%104%-91%-83%10%-108%32%-94%64%40%92%-10%-79%-120%-118%8%23%82%-101%26%-124%22%65%41%4%69%-117%-118%-124%114%17%52%65%-108%9%105%-47%-28%116%26%107%76%-13%-34%-21%-67%112%-49%-5%60%-1%-64%111%49%103%120%-97%123%-34%3%61%118%-78%37%84%118%-89%61%115%-30%-123%14%29%76%39%16%41%106%-29%72%120%44%19%-51%42%100%-61%-77%-48%-40%-11%-56%24%-102%71%-119%-104%-38%-10%-114%-121%-63%74%101%121%24%84%-37%4%15%-125%-35%17%70%51%-124%-63%62%62%21%2%-21%55%-125%-63%-23%-2%30%-116%-99%54%-124%-95%-12%124%-114%-121%-95%-20%66%-98%-121%97%-7%-75%0%-51%36%-122%-8%32%17%67%-19%61%34%-122%-75%-113%-120%24%26%-122%-119%24%-102%94%19%49%-75%-27%45%15%-125%74%-67%-25%97%-80%118%-114%-13%48%-60%14%-8%-116%0%9%12%-79%-61%-34%35%64%4%-125%-45%-27%-87%-55%96%112%-50%120%-115%0%-12%-120%96%40%-21%-101%-10%-64%14%-55%96%88%-26%49%2%-48%33%-124%33%126%-117%-120%-95%-58%53%2%4%49%-84%121%72%-60%-48%48%66%-60%-48%-8%-110%-120%-87%-83%-93%60%12%42%-103%-27%97%-80%118%124%-28%97%-80%-38%39%120%24%-20%-125%83%60%-84%-16%21%-16%-115%-121%-63%-23%-51%-15%-80%-62%8%-56%-15%48%-108%95%-3%-59%-61%-80%-30%-58%31%108%23%5%67%85%102%6%-37%-50%-63%80%-5%-128%-120%97%-3%19%34%-122%-42%28%17%-85%120%78%-60%-86%-77%60%-52%-18%-28%-3%102%-86%117%-100%-121%37%-34%-16%-114%126%-35%48%-17%79%29%-65%-85%105%88%-23%-59%60%13%-117%117%-3%-48%44%-52%-38%59%-87%105%88%-53%7%77%-61%-26%106%-79%60%-74%122%104%-82%-54%109%18%-74%42%110%-50%43%-87%-11%-78%86%-55%-39%60%13%-77%-113%-52%-65%57%-106%-59%84%-37%23%77%-61%54%-1%-65%55%17%-59%-22%-97%106%26%86%117%95%-45%-80%37%-105%53%13%115%122%126%-46%48%-69%-3%-21%66%75%12%83%-55%-49%46%75%12%-101%-87%28%44%-84%-18%-79%-121%37%-124%85%-34%-15%-78%100%-80%98%-27%-96%96%-77%-107%-61%-115%85%27%-73%-84%125%-18%67%95%-60%-52%-25%95%-27%32%96%-115%-81%-4%44%-13%-40%-86%33%95%-53%56%-74%-44%125%51%44%-122%-107%-100%91%108%-19%105%-42%-78%-113%46%-70%-84%54%106%45%-88%28%-78%88%115%-64%83%13%-109%-42%-70%-96%39%47%6%-83%-107%-103%0%-53%32%86%-18%-86%28%114%-104%-45%-21%-86%28%98%-104%-75%127%50%-48%50%-123%-87%-92%-33%82%85%0%75%-116%-123%-80%12%97%53%-31%94%-107%25%-79%-2%-34%114%-124%-64%84%116%-85%-92%63%-24%-119%-53%44%-42%20%-39%-78%-70%125%42%-121%27%-69%93%25%-77%109%43%-118%-107%14%113%-24%-117%-104%-2%52%56%48%112%-91%-49%55%-89%-114%-7%38%-99%42%100%-49%-91%-48%-106%-2%13%-127%31%98%-1%-55%30%-37%-42%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
+ <eAnnotations xmi:id="_EVcCADrXEeGMCcwsbpLuFA" source="image_papyrus">
+ <details xmi:id="_EVdQIDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconPushProducer"/>
+ <details xmi:id="_Eg1ZsDrXEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
</eAnnotations>
</icon>
- <icon xmi:type="uml:Image" xmi:id="_djiTYDl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%97%0%0%0%98%8%0%0%0%0%101%-7%-30%-47%0%0%2%120%73%68%65%84%104%-127%-75%-38%-51%75%21%81%24%6%-16%-125%-106%105%25%-106%38%-107%84%-76%50%-119%-54%32%90%37%-75%-120%72%-94%69%-117%104%85%86%-46%-90%112%97%73%33%-47%-86%-123%16%33%70%17%-47%-54%-94%47%-24%3%-63%34%-56%-115%20%-35%77%4%-110%65%-123%27%11%51%37%-107%-16%-93%-85%-34%105%-26%-23%74%31%115%-18%120%103%-18%97%-50%-5%60%127%-64%-4%86%103%-26%61%-49%59%10%-99%23%-102%121%105%31%-127%122%-80%72%17%-77%-96%98%68%85%51%-127%116%-82%-87%26%-78%112%76%-35%34%11%117%106%-74%-98%45%32%121%-124%45%96%124%55%91%-64%-40%46%-74%-128%-127%-51%108%1%-3%-107%108%1%61%107%-40%2%-34%-106%-78%5%116%-111%8%95%-64%-45%34%-74%-32%-35%-90%16%-102%0%-17%106%62%89%-128%-45%66%32%50%4%56%-115%108%1%-45%39%-39%2%-110%7%-39%2%38%14%-80%5%-116%-18%96%11%24%-38%-50%22%-48%-73%-127%45%-32%-29%58%-74%-128%-41%43%-39%2%94%-107%-80%5%116%-120%17%97%2%-18%20%-78%5%-9%-70%16%17%42%-64%-67%40%-13%-94%13%23%-112%58%47%66%68%8%72%29%103%11%-104%58%-52%22%48%-79%-113%45%96%108%15%91%-64%-32%54%-74%-128%47%-101%-40%2%-34%-83%103%11%-24%89%-59%22%-16%-94%-116%45%-32%-39%82%-74%-128%-69%-59%108%1%55%11%-40%-126%123%41%54%97%40%-64%109%-54%35%11%-104%-39%-49%22%-34%-105%-109%-123%-127%-86%-104%-128%-87%-16%99%103%92%-64%80%-104%58%20%27%48%19%82%-89%-29%3%70%-126%-41%106%51%18%-104%8%-9%-84%38%39%3%-95%107%-103%13%96%32%-12%-38%125%30%114%11%-33%108%-81%43%-71%-124%113%-21%-6%44%-121%-112%-76%56%8%70%-126%115%-58%26%-120%22%-68%54%-127%-39%56%82%120%36%81%7%69%9%-35%-53%5%-128%40%-95%-73%66%2%-120%16%6%55%-118%0%-31%-62%100%-4%47%-126%-103%48%45%113%57%-119%18%-100%38%41%32%68%-16%-82%-56%21%126%-39%-123%-57%-126%-67%104%86%33%97%53%108%27%8%31%68%91%-10%44%-62%87%-39%101%-60%124%65%122%103%51%79%-104%-107%-34%59%5%-123%95%103%-123%-127%-96%64%40%-41%3%-62%-109%-59%-46%64%64%72%-84%16%7%50%5%-47%22%52%-101%48%-76%-107%0%-24%-62%-28%94%6%-96%9%-87%58%10%-32%11%-18%57%14%-32%11%55%72%-64%127%-95%-109%-10%63%-62%95%-31%13%107%103%-7%79%-24%91%75%3%-2%8%-33%41%7%65%19%126%-42%18%-127%57%-63%57%-63%4%-46%-126%-37%76%5%-46%66%7%23%80%71%85%-36%86%-57%52%-83%-86%-127%-6%-4%-68%-110%97%-11%-87%44%-93%-3%-54%-41%-78%-80%64%75%-111%-106%37%-59%126%86%111%-47%82%-85%-91%-2%84%58%109%-61%80%24%109%-65%-84%-27%-2%67%63%-49%95%-6%73%124%-42%50%19%28%-127%-94%-14%27%-2%-94%-44%59%115%-35%74%-17%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GvSOQDrXEeGMCcwsbpLuFA" source="image_papyrus">
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GvS1UDrXEeGMCcwsbpLuFA" key="image_name_key" value="ConjIconPushProducer"/>
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G5-bUDrXEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
+ <icon xmi:id="_djiTYDl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%97%0%0%0%98%8%0%0%0%0%101%-7%-30%-47%0%0%2%120%73%68%65%84%104%-127%-75%-38%-51%75%21%81%24%6%-16%-125%-106%105%25%-106%38%-107%84%-76%50%-119%-54%32%90%37%-75%-120%72%-94%69%-117%104%85%86%-46%-90%112%97%73%33%-47%-86%-123%16%33%70%17%-47%-54%-94%47%-24%3%-63%34%-56%-115%20%-35%77%4%-110%65%-123%27%11%51%37%-107%-16%-93%-85%-34%105%-26%-23%74%31%115%-18%120%103%-18%97%-50%-5%60%127%-64%-4%86%103%-26%61%-49%59%10%-99%23%-102%121%105%31%-127%122%-80%72%17%-77%-96%98%68%85%51%-127%116%-82%-87%26%-78%112%76%-35%34%11%117%106%-74%-98%45%32%121%-124%45%96%124%55%91%-64%-40%46%-74%-128%-127%-51%108%1%-3%-107%108%1%61%107%-40%2%-34%-106%-78%5%116%-111%8%95%-64%-45%34%-74%-32%-35%-90%16%-102%0%-17%106%62%89%-128%-45%66%32%50%4%56%-115%108%1%-45%39%-39%2%-110%7%-39%2%38%14%-80%5%-116%-18%96%11%24%-38%-50%22%-48%-73%-127%45%-32%-29%58%-74%-128%-41%43%-39%2%94%-107%-80%5%116%-120%17%97%2%-18%20%-78%5%-9%-70%16%17%42%-64%-67%40%-13%-94%13%23%-112%58%47%66%68%8%72%29%103%11%-104%58%-52%22%48%-79%-113%45%96%108%15%91%-64%-32%54%-74%-128%47%-101%-40%2%-34%-83%103%11%-24%89%-59%22%-16%-94%-116%45%-32%-39%82%-74%-128%-69%-59%108%1%55%11%-40%-126%123%41%54%97%40%-64%109%-54%35%11%-104%-39%-49%22%-34%-105%-109%-123%-127%-86%-104%-128%-87%-16%99%103%92%-64%80%-104%58%20%27%48%19%82%-89%-29%3%70%-126%-41%106%51%18%-104%8%-9%-84%38%39%3%-95%107%-103%13%96%32%-12%-38%125%30%114%11%-33%108%-81%43%-71%-124%113%-21%-6%44%-121%-112%-76%56%8%70%-126%115%-58%26%-120%22%-68%54%-127%-39%56%82%120%36%81%7%69%9%-35%-53%5%-128%40%-95%-73%66%2%-120%16%6%55%-118%0%-31%-62%100%-4%47%-126%-103%48%45%113%57%-119%18%-100%38%41%32%68%-16%-82%-56%21%126%-39%-123%-57%-126%-67%104%86%33%97%53%108%27%8%31%68%91%-10%44%-62%87%-39%101%-60%124%65%122%103%51%79%-104%-107%-34%59%5%-123%95%103%-123%-127%-96%64%40%-41%3%-62%-109%-59%-46%64%64%72%-84%16%7%50%5%-47%22%52%-101%48%-76%-107%0%-24%-62%-28%94%6%-96%9%-87%58%10%-32%11%-18%57%14%-32%11%55%72%-64%127%-95%-109%-10%63%-62%95%-31%13%107%103%-7%79%-24%91%75%3%-2%8%-33%41%7%65%19%126%-42%18%-127%57%-63%57%-63%4%-46%-126%-37%76%5%-46%66%7%23%80%71%85%-36%86%-57%52%-83%-86%-127%-6%-4%-68%-110%97%-11%-87%44%-93%-3%-54%-41%-78%-80%64%75%-111%-106%37%-59%126%86%111%-47%82%-85%-91%-2%84%58%109%-61%80%24%109%-65%-84%-27%-2%67%63%-49%95%-6%73%124%-42%50%19%28%-127%-94%-14%27%-2%-94%-44%59%115%-35%74%-17%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
+ <eAnnotations xmi:id="_GvSOQDrXEeGMCcwsbpLuFA" source="image_papyrus">
+ <details xmi:id="_GvS1UDrXEeGMCcwsbpLuFA" key="image_name_key" value="ConjIconPushProducer"/>
+ <details xmi:id="_G5-bUDrXEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
</eAnnotations>
</icon>
</packagedElement>
<packagedElement xmi:type="uml:Stereotype" xmi:id="_Wtrfw1DlEd6cwecVIgl9nw" name="UseInterface">
- <icon xmi:type="uml:Image" xmi:id="_FzdNoDiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%84%0%0%0%101%8%3%0%0%0%-28%-109%52%-5%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-52%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%82%82%82%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%24%24%24%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-33%61%-9%-93%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%41%73%68%65%84%104%-127%-83%-39%125%91%-38%48%16%0%-16%-29%101%12%-76%32%32%69%17%-95%88%-107%23%-69%45%-43%90%-83%5%117%-32%-9%-1%78%-125%103%-37%67%47%109%115%-105%54%-9%119%-8%61%41%73%-109%-69%43%-120%-14%17%92%86%-105%86%56%-116%15%49%12%-83%-42%26%74%-126%-35%-54%106%8%82%84%74%-95%-125%-58%-117%12%30%98%84%28%125%-84%-74%-99%44%18%-96%87%20%125%-84%127%100%-117%0%83%81%12%85%-112%0%-61%98%-24%-83%-126%4%120%42%-126%-66%61%-87%72%-128%7%125%-44%-97%79%-43%38%-52%-75%-47%-2%25%65%2%-72%-70%-24%104%67%-102%-80%-43%68%107%57%59%19%69%-92%-121%46%25%36%-128%-81%-123%54%115%-99%-15%-85%-41%-88%110%15%81%-83%-51%-123%6%-22%63%100%-125%-45%-50%-3%-91%52%-108%-113%-98%100%-110%-81%-75%94%122%40%27%-99%103%-111%-42%58%115%44%23%-67%-31%-109%108%116%-108%-34%75%-101%93%-18%104%30%-38%77%-17%-7%102%-112%63%-100%-121%-2%72%-19%-95%47%-43%112%22%122%39%-101%118%-92%28%-49%65%-93%-119%100%-122%-118%71%-25%-94%-14%-61%119%8%-109%-125%110%37%-13%-52%-89%126%65%-93%-66%116%-81%15%-87%121%114%-48%26%54%63%-6%-28%47%104%-44%-57%91%-44%-71%-94%77%26%-67%-59%19%-99%51%76%26%-75%-15%102%34%23%-119%-125%86%-16%-61%-65%113%76%18%-75%16%-38%98%-103%20%-38%67%-89%-45%-17%-82%17%20%47%-45%61%-49%-92%-48%48%105%-114%-103%19%37%-48%1%-102%104%-109%105%18%-88%-117%-48%-127%25%-44%67%123%-108%107%18%104%-100%68%-17%-52%-96%17%122%-6%-116%11%-66%8%58%75%-102%54%-37%84%-93%40%-127%96%-66%77%36%-118%-18%-111%-118%33%-12%60%-119%50%14%103%22%58%78%-104%19%-66%-87%68%-125%-126%-21%116%64%-3%-111%91%91%36%-93%-27%-3%-115%95%73%-12%84%11%29%93%0%39%60%29%-12%-115%42%-117%-2%-59%82%7%125%-26%-103%-80%-48%65%57%69%-116%54%-54%13%45%-108%-7%-105%-62%119%29%-12%39%19%-43%90%-3%-63%-104%6%15%-47%-42%65%69%-60%91%127%-51%55%74%116%-81%-73%-57%-72%-114%-114%-15%-103%64%29%77%52%55%-48%5%-51%-53%120%104%20%85%-93%51%67%-24%-73%36%-70%50%-124%-94%-108%111%104%8%-19%-93%-11%103%-25%18%-60%-67%-113%106%-120%-70%33%116%-107%68%-49%13%-95%51%-12%-4%-20%77%-91%70%-5%-24%96%100%-33%-4%68%126%-118%58%112%83%51%-7%-87%-108%75%114%-49%84%2%13%-48%113%-53%77%-91%-87%-22%-28%20%77%-107%-7%86%81%-24%14%-95%78%94%43%70%15%-107%42%-66%23%35%21%-97%-76%85%121%-41%63%93%69%-93%20%29%-100%107%19%-88%92%70%27%-87%-9%83%-99%-119%11%19%-99%9%113%-123%81%70%121%-50%-23%-10%120%-110%-6%108%-96%-37%35%6%-87%-66%20%81%-3%-80%58%104%-82%-124%-62%69%-7%14%90%-6%15%-128%-119%-14%110%-27%-95%65%44%-85%112%82%-70%43%41%46%-45%-55%-31%38%-65%-80%-30%118%122%-85%41%116%-97%-77%-107%-20%-12%74%-119%-59%-1%-80%-34%-53%-95%57%93%126%-69%94%-90%123%46%-35%-41%-57%112%-98%23%35%-23%29%51%-13%69%98%106%91%75%-41%-35%109%-65%92%-9%74%19%21%-115%92%-11%24%15%-70%40%-25%43%-113%-89%-115%-118%119%-14%123%-44%-87%62%42%122%29%2%13%11%-96%-5%13%-85%-82%-68%-118%-95%34%82%78%-42%46%-122%10%113%-93%-8%103%-29%-94%-88%-22%11%111%113%84%-59%-106%64%-9%-73%108%-59%-54%-36%-75%-91%-48%125%-12%-22%97%-38%13%74%-94%-5%8%118%45%27%-61%81%121%-12%16%-2%-70%-46%-16%-38%97%24%-57%113%24%-74%-9%71%-31%31%12%-33%-99%51%8%-119%86%-81%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%45%-25%121%64%-90%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z5Ar0DrWEeGMCcwsbpLuFA" source="image_papyrus">
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_z5BS4DrWEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BoRRIDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconUseInterface"/>
+ <icon xmi:id="_FzdNoDiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%84%0%0%0%101%8%3%0%0%0%-28%-109%52%-5%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-52%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%82%82%82%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%24%24%24%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-33%61%-9%-93%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%41%73%68%65%84%104%-127%-83%-39%125%91%-38%48%16%0%-16%-29%101%12%-76%32%32%69%17%-95%88%-107%23%-69%45%-43%90%-83%5%117%-32%-9%-1%78%-125%103%-37%67%47%109%115%-105%54%-9%119%-8%61%41%73%-109%-69%43%-120%-14%17%92%86%-105%86%56%-116%15%49%12%-83%-42%26%74%-126%-35%-54%106%8%82%84%74%-95%-125%-58%-117%12%30%98%84%28%125%-84%-74%-99%44%18%-96%87%20%125%-84%127%100%-117%0%83%81%12%85%-112%0%-61%98%-24%-83%-126%4%120%42%-126%-66%61%-87%72%-128%7%125%-44%-97%79%-43%38%-52%-75%-47%-2%25%65%2%-72%-70%-24%104%67%-102%-80%-43%68%107%57%59%19%69%-92%-121%46%25%36%-128%-81%-123%54%115%-99%-15%-85%-41%-88%110%15%81%-83%-51%-123%6%-22%63%100%-125%-45%-50%-3%-91%52%-108%-113%-98%100%-110%-81%-75%94%122%40%27%-99%103%-111%-42%58%115%44%23%-67%-31%-109%108%116%-108%-34%75%-101%93%-18%104%30%-38%77%-17%-7%102%-112%63%-100%-121%-2%72%-19%-95%47%-43%112%22%122%39%-101%118%-92%28%-49%65%-93%-119%100%-122%-118%71%-25%-94%-14%-61%119%8%-109%-125%110%37%-13%-52%-89%126%65%-93%-66%116%-81%15%-87%121%114%-48%26%54%63%-6%-28%47%104%-44%-57%91%-44%-71%-94%77%26%-67%-59%19%-99%51%76%26%-75%-15%102%34%23%-119%-125%86%-16%-61%-65%113%76%18%-75%16%-38%98%-103%20%-38%67%-89%-45%-17%-82%17%20%47%-45%61%-49%-92%-48%48%105%-114%-103%19%37%-48%1%-102%104%-109%105%18%-88%-117%-48%-127%25%-44%67%123%-108%107%18%104%-100%68%-17%-52%-96%17%122%-6%-116%11%-66%8%58%75%-102%54%-37%84%-93%40%-127%96%-66%77%36%-118%-18%-111%-118%33%-12%60%-119%50%14%103%22%58%78%-104%19%-66%-87%68%-125%-126%-21%116%64%-3%-111%91%91%36%-93%-27%-3%-115%95%73%-12%84%11%29%93%0%39%60%29%-12%-115%42%-117%-2%-59%82%7%125%-26%-103%-80%-48%65%57%69%-116%54%-54%13%45%-108%-7%-105%-62%119%29%-12%39%19%-43%90%-3%-63%-104%6%15%-47%-42%65%69%-60%91%127%-51%55%74%116%-81%-73%-57%-72%-114%-114%-15%-103%64%29%77%52%55%-48%5%-51%-53%120%104%20%85%-93%51%67%-24%-73%36%-70%50%-124%-94%-108%111%104%8%-19%-93%-11%103%-25%18%-60%-67%-113%106%-120%-70%33%116%-107%68%-49%13%-95%51%-12%-4%-20%77%-91%70%-5%-24%96%100%-33%-4%68%126%-118%58%112%83%51%-7%-87%-108%75%114%-49%84%2%13%-48%113%-53%77%-91%-87%-22%-28%20%77%-107%-7%86%81%-24%14%-95%78%94%43%70%15%-107%42%-66%23%35%21%-97%-76%85%121%-41%63%93%69%-93%20%29%-100%107%19%-88%92%70%27%-87%-9%83%-99%-119%11%19%-99%9%113%-123%81%70%121%-50%-23%-10%120%-110%-6%108%-96%-37%35%6%-87%-66%20%81%-3%-80%58%104%-82%-124%-62%69%-7%14%90%-6%15%-128%-119%-14%110%-27%-95%65%44%-85%112%82%-70%43%41%46%-45%-55%-31%38%-65%-80%-30%118%122%-85%41%116%-97%-77%-107%-20%-12%74%-119%-59%-1%-80%-34%-53%-95%57%93%126%-69%94%-90%123%46%-35%-41%-57%112%-98%23%35%-23%29%51%-13%69%98%106%91%75%-41%-35%109%-65%92%-9%74%19%21%-115%92%-11%24%15%-70%40%-25%43%-113%-89%-115%-118%119%-14%123%-44%-87%62%42%122%29%2%13%11%-96%-5%13%-85%-82%-68%-118%-95%34%82%78%-42%46%-122%10%113%-93%-8%103%-29%-94%-88%-22%11%111%113%84%-59%-106%64%-9%-73%108%-59%-54%-36%-75%-91%-48%125%-12%-22%97%-38%13%74%-94%-5%8%118%45%27%-61%81%121%-12%16%-2%-70%-46%-16%-38%97%24%-57%113%24%-74%-9%71%-31%31%12%-33%-99%51%8%-119%86%-81%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%45%-25%121%64%-90%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
+ <eAnnotations xmi:id="_z5Ar0DrWEeGMCcwsbpLuFA" source="image_papyrus">
+ <details xmi:id="_z5BS4DrWEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
+ <details xmi:id="_BoRRIDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconUseInterface"/>
</eAnnotations>
</icon>
- <icon xmi:type="uml:Image" xmi:id="_Yy8SMDl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%119%0%0%0%92%8%3%0%0%0%99%-116%-38%77%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%120%120%120%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-71%82%-104%50%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%4%-59%73%68%65%84%104%-127%-59%-102%109%91%-30%58%16%-122%11%-118%40%-88%108%-83%2%-53%-117%93%123%4%-75%-20%110%53%-83%69%-91%-108%30%20%-1%-1%79%58%-107%-77%72%38%77%-109%73%-126%-41%62%95%-55%-52%77%94%-102%-52%76%98%-111%29%104%-2%-74%26%-115%-22%-29%81%-27%-83%31%35%77%44%51%98%-68%58%60%-19%120%22%-91%-27%-76%57%-70%-8%90%-18%-62%127%6%-56%-83%58%-65%-34%-61%47%-30%94%28%-76%-7%-52%63%122%109%-4%-5%5%-36%-59%73%73%79%105%-75%43%59%-26%14%78%-28%-48%-75%-70%-29%-78%-31%-42%-32%94%96%-87%107%-14%96%71%-36%-80%-18%42%96%115%5%-50%46%-72%-117%-82%26%53%-41%-16%-38%-100%-69%127%-91%-116%-51%-43%-116%-52%-72%-15%-67%14%53%87%123%102%-62%117%94%52%-79%-106%-27%-78%-53%75%-127%-101%-88%79%45%5%102%-66%101%60%119%-66%44%117%58%124%-71%15%38%-66%-1%59%-104%-106%-73%-15%-58%122%-36%-92%-60%101%-89%89%-95%63%-108%120%-32%79%75%-42%94%85%-121%-21%100%60%87%-39%36%-31%-76%-75%111%-98%-72%61%-2%-95%-50%-115%121%115%43%-40%127%23%15%-100%-3%-37%-19%41%115%91%69%47%-35%-107%-48%34%-31%-20%-90%-53%-19%-116%-32%-72%-11%-30%127%-81%75%14%88%66%86%-33%11%86%45%53%-18%-96%48%104%47%-123%-115%-128%-93%-8%119%1%92%87%-31%-38%25%107%-34%-112%118%-10%127%-115%-39%51%-60%-21%43%112%27%-84%113%13%71%-51%-43%103%-65%-66%78%-120%-26%-10%-104%81%-10%-86%114%-101%79%37%-20%88%-43%-48%-36%103%3%44%33%51%-90%-57%-18%5%-110%59%102%-2%-16%88%106%1%-107%48%115%28%32%-71%41%52%-13%21%-79%-124%92%-62%121%-14%18%20%-73%2%-79%-33%-112%43%-103%-42%29%116%-47%68%113%97%-108%-4%-54%13%-106%36%10%-65%1%31%87%14%-126%-5%6%-1%-21%72%3%-101%-81%45%120%66%77%16%-36%0%88%60%106%97%-39%-111%-50%-28%-36%8%44%70%-113%119%-22%97%20%-62%-59%121%41%-27%94%-125%-10%-57%-102%88%-10%99%12%-92%92%120%-2%45%-76%-71%33%-40%61%-36%80%-62%13%-63%48%-73%-124%109%-59%58%0%29%-24%75%-72%125%-48%-102%23%-9%99%-27%-128%-51%-29%78%-62%5%-21%-48%45%70%-3%10%2%51%54%-107%112%31%-103%-43%96%-96%17%-19%-22%42%18%115%95%-23%-58%122%123%-58%70%51%-72%66%-123%92%27%-76%-59%-124%54%2%-127%-120%-76%-14%-121%27%-49%120%-86%-46%77%51%51%44%-36%-7%110%63%-72%-47%-92%-115%-88%86%-24%-18%-111%27%-127%47%-23%-34%66%-89%-46%13%67%46%56%80%-97%44%18%103%40%-84%-75%111%-56%-99%-45%-50%-50%45%-46%-60%97%13%-105%51%-77%-96%83%-117%12%-111%92%113%90%34%87%8%-71%9%18%107%-67%25%114%9%-19%-52%-77%46%-1%10%-41%-75%-20%50%14%43%65%-47%15%-91%-104%118%-106%-49%47%-74%106%-79%-21%117%85%45%3%49%58%48%-28%-10%104%103%-7%-9%75%30%112%-36%95%-122%-36%127%104%103%-45%-100%27%-6%-120%93%50%-1%-117%-122%92%-97%118%-42%92%-97%11%73%-19%-8%-119%39%80%39%27%26%114%65%-35%-95%38%60%7%35%-48%-31%-98%-88%-87%92%96%127%122%23%-97%-5%32%-20%-59%103%-37%60%-127%101%-107%-17%86%-62%-58%-57%116%91%-109%112%-110%-112%91%56%103%98%-18%30%-35%-40%-45%-55%-55%62%5%-14%-69%19%9%23%-100%93%70%3%-67%0%-98%-10%100%-7%2%8%-13%59%6%92%88%-101%-103%-53%-72%48%29%-44%-33%-94%29%-112%-119%102%-46%-4%8%-90%-65%-25%-38%92%-80%105%124%36%-64%-78%-4%55%3%6%-17%-102%88%7%6%23%115%57%-9%16%24%100%-102%-87%10%-100%-82%103%34%-25%-62%21%-67%46%17%-88%-117%-119%45%-10%17%92%-72%-83%90%94%-55%-11%-105%80%76%125%115%25%97%-72%-16%-61%-77%-78%51%117%46%83%-119%94%111%3%-14%-70%-39%41%-76%106%41%23%-80%-104%-14%-43%-48%-58%113%7%-48%76%57%29%29%49%-10%119%4%-57%37%108%-11%-6%72%9%91%101%-126%-118%52%-62%114%-49%-40%-56%30%91%-11%-26%97%55%-31%63%-90%-18%-67%-49%-104%90%15%-24%-49%-72%112%49%-15%64%-16%92%-90%-66%-104%-85%-115%43%-96%21%-17%49%95%55%79%29%80%-9%26%78%-31%-82%-52%-67%65%-104%-11%82%-42%108%-101%100%-31%-18%113%126%20%35%-50%-87%-84%-53%118%-77%104%-12%-13%-13%87%-28%-67%-107%95%112%97%121%13%-47%-13%-112%-88%-58%-71%79%-100%110%23%36%-10%126%48%40%122%-79%-68%-96%-84%112%-24%-44%121%-73%-104%93%123%-37%2%-53%13%-7%-113%24%-38%7%-59%42%-113%125%125%-54%77%4%50%58%62%67%-33%-61%-58%-36%59%-50%92%105%112%115%-71%-15%24%-9%-85%71%101%-49%88%-106%96%65%-32%-17%-99%-29%105%-119%-61%-11%-112%-89%-23%75%-102%-118%94%88%64%-84%-54%61%123%-120%76%-32%-72%-22%50%-117%80%-23%61%-61%-111%54%-10%-23%-116%113%-91%-10%126%-93%112%-49%-120%84%113%71%87%124%55%50%19%63%126%-30%107%-56%-119%127%85%-33%-55%68%13%84%-78%76%-21%-111%87%80%85%127%-113%52%127%-106%-93%40%45%-7%85%122%-99%-9%87%123%-27%-81%52%88%93%29%-39%124%31%90%-17%-66%-94%-101%-30%-43%61%-105%-38%40%77%33%53%-33%-71%-123%99%-7%104%103%126%73%95%13%-72%-71%-110%-119%-88%-45%110%32%-82%-17%25%-67%-97%-20%-33%-74%-72%31%-12%-7%-31%74%22%9%25%-66%-37%36%97%127%-4%-13%-76%-67%-119%-4%-68%116%-38%-84%-83%4%-61%-69%51%-18%-89%102%-77%25%-10%-115%-22%-121%-2%3%52%51%-49%67%-105%-19%90%17%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%5%-46%-52%-24%92%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0rGQEDrWEeGMCcwsbpLuFA" source="image_papyrus">
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0rHeMDrWEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_C7NfsDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjUseInterface"/>
+ <icon xmi:id="_Yy8SMDl9EeGi35TadupI-A" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%119%0%0%0%92%8%3%0%0%0%99%-116%-38%77%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%120%120%120%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-71%82%-104%50%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%4%-59%73%68%65%84%104%-127%-59%-102%109%91%-30%58%16%-122%11%-118%40%-88%108%-83%2%-53%-117%93%123%4%-75%-20%110%53%-83%69%-91%-108%30%20%-1%-1%79%58%-107%-77%72%38%77%-109%73%-126%-41%62%95%-55%-52%77%94%-102%-52%76%98%-111%29%104%-2%-74%26%-115%-22%-29%81%-27%-83%31%35%77%44%51%98%-68%58%60%-19%120%22%-91%-27%-76%57%-70%-8%90%-18%-62%127%6%-56%-83%58%-65%-34%-61%47%-30%94%28%-76%-7%-52%63%122%109%-4%-5%5%-36%-59%73%73%79%105%-75%43%59%-26%14%78%-28%-48%-75%-70%-29%-78%-31%-42%-32%94%96%-87%107%-14%96%71%-36%-80%-18%42%96%115%5%-50%46%-72%-117%-82%26%53%-41%-16%-38%-100%-69%127%-91%-116%-51%-43%-116%-52%-72%-15%-67%14%53%87%123%102%-62%117%94%52%-79%-106%-27%-78%-53%75%-127%-101%-88%79%45%5%102%-66%101%60%119%-66%44%117%58%124%-71%15%38%-66%-1%59%-104%-106%-73%-15%-58%122%-36%-92%-60%101%-89%89%-95%63%-108%120%-32%79%75%-42%94%85%-121%-21%100%60%87%-39%36%-31%-76%-75%111%-98%-72%61%-2%-95%-50%-115%121%115%43%-40%127%23%15%-100%-3%-37%-19%41%115%91%69%47%-35%-107%-48%34%-31%-20%-90%-53%-19%-116%-32%-72%-11%-30%127%-81%75%14%88%66%86%-33%11%86%45%53%-18%-96%48%104%47%-123%-115%-128%-93%-8%119%1%92%87%-31%-38%25%107%-34%-112%118%-10%127%-115%-39%51%-60%-21%43%112%27%-84%113%13%71%-51%-43%103%-65%-66%78%-120%-26%-10%-104%81%-10%-86%114%-101%79%37%-20%88%-43%-48%-36%103%3%44%33%51%-90%-57%-18%5%-110%59%102%-2%-16%88%106%1%-107%48%115%28%32%-71%41%52%-13%21%-79%-124%92%-62%121%-14%18%20%-73%2%-79%-33%-112%43%-103%-42%29%116%-47%68%113%97%-108%-4%-54%13%-106%36%10%-65%1%31%87%14%-126%-5%6%-1%-21%72%3%-101%-81%45%120%66%77%16%-36%0%88%60%106%97%-39%-111%-50%-28%-36%8%44%70%-113%119%-22%97%20%-62%-59%121%41%-27%94%-125%-10%-57%-102%88%-10%99%12%-92%92%120%-2%45%-76%-71%33%-40%61%-36%80%-62%13%-63%48%-73%-124%109%-59%58%0%29%-24%75%-72%125%-48%-102%23%-9%99%-27%-128%-51%-29%78%-62%5%-21%-48%45%70%-3%10%2%51%54%-107%112%31%-103%-43%96%-96%17%-19%-22%42%18%115%95%-23%-58%122%123%-58%70%51%-72%66%-123%92%27%-76%-59%-124%54%2%-127%-120%-76%-14%-121%27%-49%120%-86%-46%77%51%51%44%-36%-7%110%63%-72%-47%-92%-115%-88%86%-24%-18%-111%27%-127%47%-23%-34%66%-89%-46%13%67%46%56%80%-97%44%18%103%40%-84%-75%111%-56%-99%-45%-50%-50%45%-46%-60%97%13%-105%51%-77%-96%83%-117%12%-111%92%113%90%34%87%8%-71%9%18%107%-67%25%114%9%-19%-52%-77%46%-1%10%-41%-75%-20%50%14%43%65%-47%15%-91%-104%118%-106%-49%47%-74%106%-79%-21%117%85%45%3%49%58%48%-28%-10%104%103%-7%-9%75%30%112%-36%95%-122%-36%127%104%103%-45%-100%27%-6%-120%93%50%-1%-117%-122%92%-97%118%-42%92%-97%11%73%-19%-8%-119%39%80%39%27%26%114%65%-35%-95%38%60%7%35%-48%-31%-98%-88%-87%92%96%127%122%23%-97%-5%32%-20%-59%103%-37%60%-127%101%-107%-17%86%-62%-58%-57%116%91%-109%112%-110%-112%91%56%103%98%-18%30%-35%-40%-45%-55%-55%62%5%-14%-69%19%9%23%-100%93%70%3%-67%0%-98%-10%100%-7%2%8%-13%59%6%92%88%-101%-103%-53%-72%48%29%-44%-33%-94%29%-112%-119%102%-46%-4%8%-90%-65%-25%-38%92%-80%105%124%36%-64%-78%-4%55%3%6%-17%-102%88%7%6%23%115%57%-9%16%24%100%-102%-87%10%-100%-82%103%34%-25%-62%21%-67%46%17%-88%-117%-119%45%-10%17%92%-72%-83%90%94%-55%-11%-105%80%76%125%115%25%97%-72%-16%-61%-77%-78%51%117%46%83%-119%94%111%3%-14%-70%-39%41%-76%106%41%23%-80%-104%-14%-43%-48%-58%113%7%-48%76%57%29%29%49%-10%119%4%-57%37%108%-11%-6%72%9%91%101%-126%-118%52%-62%114%-49%-40%-56%30%91%-11%-26%97%55%-31%63%-90%-18%-67%-49%-104%90%15%-24%-49%-72%112%49%-15%64%-16%92%-90%-66%-104%-85%-115%43%-96%21%-17%49%95%55%79%29%80%-9%26%78%-31%-82%-52%-67%65%-104%-11%82%-42%108%-101%100%-31%-18%113%126%20%35%-50%-87%-84%-53%118%-77%104%-12%-13%-13%87%-28%-67%-107%95%112%97%121%13%-47%-13%-112%-88%-58%-71%79%-100%110%23%36%-10%126%48%40%122%-79%-68%-96%-84%112%-24%-44%121%-73%-104%93%123%-37%2%-53%13%-7%-113%24%-38%7%-59%42%-113%125%125%-54%77%4%50%58%62%67%-33%-61%-58%-36%59%-50%92%105%112%115%-71%-15%24%-9%-85%71%101%-49%88%-106%96%65%-32%-17%-99%-29%105%-119%-61%-11%-112%-89%-23%75%-102%-118%94%88%64%-84%-54%61%123%-120%76%-32%-72%-22%50%-117%80%-23%61%-61%-111%54%-10%-23%-116%113%-91%-10%126%-93%112%-49%-120%84%113%71%87%124%55%50%19%63%126%-30%107%-56%-119%127%85%-33%-55%68%13%84%-78%76%-21%-111%87%80%85%127%-113%52%127%-106%-93%40%45%-7%85%122%-99%-9%87%123%-27%-81%52%88%93%29%-39%124%31%90%-17%-66%-94%-101%-30%-43%61%-105%-38%40%77%33%53%-33%-71%-123%99%-7%104%103%126%73%95%13%-72%-71%-110%-119%-88%-45%110%32%-82%-17%25%-67%-97%-20%-33%-74%-72%31%-12%-7%-31%74%22%9%25%-66%-37%36%97%127%-4%-13%-76%-67%-119%-4%-68%116%-38%-84%-83%4%-61%-69%51%-18%-89%102%-77%25%-10%-115%-22%-121%-2%3%52%51%-49%67%-105%-19%90%17%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%5%-46%-52%-24%92%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
+ <eAnnotations xmi:id="_0rGQEDrWEeGMCcwsbpLuFA" source="image_papyrus">
+ <details xmi:id="_0rHeMDrWEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
+ <details xmi:id="_C7NfsDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjUseInterface"/>
</eAnnotations>
</icon>
</packagedElement>
<packagedElement xmi:type="uml:Stereotype" xmi:id="__nMrwLqNEd-SedGzMDDkww" name="AMIpoll">
- <icon xmi:type="uml:Image" xmi:id="_JXZ1gDiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%84%0%0%0%101%8%3%0%0%0%-28%-109%52%-5%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-52%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%82%82%82%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%24%24%24%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-33%61%-9%-93%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%41%73%68%65%84%104%-127%-83%-39%125%91%-38%48%16%0%-16%-29%101%12%-76%32%32%69%17%-95%88%-107%23%-69%45%-43%90%-83%5%117%-32%-9%-1%78%-125%103%-37%67%47%109%115%-105%54%-9%119%-8%61%41%73%-109%-69%43%-120%-14%17%92%86%-105%86%56%-116%15%49%12%-83%-42%26%74%-126%-35%-54%106%8%82%84%74%-95%-125%-58%-117%12%30%98%84%28%125%-84%-74%-99%44%18%-96%87%20%125%-84%127%100%-117%0%83%81%12%85%-112%0%-61%98%-24%-83%-126%4%120%42%-126%-66%61%-87%72%-128%7%125%-44%-97%79%-43%38%-52%-75%-47%-2%25%65%2%-72%-70%-24%104%67%-102%-80%-43%68%107%57%59%19%69%-92%-121%46%25%36%-128%-81%-123%54%115%-99%-15%-85%-41%-88%110%15%81%-83%-51%-123%6%-22%63%100%-125%-45%-50%-3%-91%52%-108%-113%-98%100%-110%-81%-75%94%122%40%27%-99%103%-111%-42%58%115%44%23%-67%-31%-109%108%116%-108%-34%75%-101%93%-18%104%30%-38%77%-17%-7%102%-112%63%-100%-121%-2%72%-19%-95%47%-43%112%22%122%39%-101%118%-92%28%-49%65%-93%-119%100%-122%-118%71%-25%-94%-14%-61%119%8%-109%-125%110%37%-13%-52%-89%126%65%-93%-66%116%-81%15%-87%121%114%-48%26%54%63%-6%-28%47%104%-44%-57%91%-44%-71%-94%77%26%-67%-59%19%-99%51%76%26%-75%-15%102%34%23%-119%-125%86%-16%-61%-65%113%76%18%-75%16%-38%98%-103%20%-38%67%-89%-45%-17%-82%17%20%47%-45%61%-49%-92%-48%48%105%-114%-103%19%37%-48%1%-102%104%-109%105%18%-88%-117%-48%-127%25%-44%67%123%-108%107%18%104%-100%68%-17%-52%-96%17%122%-6%-116%11%-66%8%58%75%-102%54%-37%84%-93%40%-127%96%-66%77%36%-118%-18%-111%-118%33%-12%60%-119%50%14%103%22%58%78%-104%19%-66%-87%68%-125%-126%-21%116%64%-3%-111%91%91%36%-93%-27%-3%-115%95%73%-12%84%11%29%93%0%39%60%29%-12%-115%42%-117%-2%-59%82%7%125%-26%-103%-80%-48%65%57%69%-116%54%-54%13%45%-108%-7%-105%-62%119%29%-12%39%19%-43%90%-3%-63%-104%6%15%-47%-42%65%69%-60%91%127%-51%55%74%116%-81%-73%-57%-72%-114%-114%-15%-103%64%29%77%52%55%-48%5%-51%-53%120%104%20%85%-93%51%67%-24%-73%36%-70%50%-124%-94%-108%111%104%8%-19%-93%-11%103%-25%18%-60%-67%-113%106%-120%-70%33%116%-107%68%-49%13%-95%51%-12%-4%-20%77%-91%70%-5%-24%96%100%-33%-4%68%126%-118%58%112%83%51%-7%-87%-108%75%114%-49%84%2%13%-48%113%-53%77%-91%-87%-22%-28%20%77%-107%-7%86%81%-24%14%-95%78%94%43%70%15%-107%42%-66%23%35%21%-97%-76%85%121%-41%63%93%69%-93%20%29%-100%107%19%-88%92%70%27%-87%-9%83%-99%-119%11%19%-99%9%113%-123%81%70%121%-50%-23%-10%120%-110%-6%108%-96%-37%35%6%-87%-66%20%81%-3%-80%58%104%-82%-124%-62%69%-7%14%90%-6%15%-128%-119%-14%110%-27%-95%65%44%-85%112%82%-70%43%41%46%-45%-55%-31%38%-65%-80%-30%118%122%-85%41%116%-97%-77%-107%-20%-12%74%-119%-59%-1%-80%-34%-53%-95%57%93%126%-69%94%-90%123%46%-35%-41%-57%112%-98%23%35%-23%29%51%-13%69%98%106%91%75%-41%-35%109%-65%92%-9%74%19%21%-115%92%-11%24%15%-70%40%-25%43%-113%-89%-115%-118%119%-14%123%-44%-87%62%42%122%29%2%13%11%-96%-5%13%-85%-82%-68%-118%-95%34%82%78%-42%46%-122%10%113%-93%-8%103%-29%-94%-88%-22%11%111%113%84%-59%-106%64%-9%-73%108%-59%-54%-36%-75%-91%-48%125%-12%-22%97%-38%13%74%-94%-5%8%118%45%27%-61%81%121%-12%16%-2%-70%-46%-16%-38%97%24%-57%113%24%-74%-9%71%-31%31%12%-33%-99%51%8%-119%86%-81%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%45%-25%121%64%-90%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3DWg4DrWEeGMCcwsbpLuFA" source="image_papyrus">
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3DXH8DrWEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9f8J0DrWEeGMCcwsbpLuFA" key="image_name_key" value="IconAMIPoll"/>
+ <icon xmi:id="_JXZ1gDiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%84%0%0%0%101%8%3%0%0%0%-28%-109%52%-5%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-52%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%82%82%82%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%24%24%24%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-33%61%-9%-93%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%41%73%68%65%84%104%-127%-83%-39%125%91%-38%48%16%0%-16%-29%101%12%-76%32%32%69%17%-95%88%-107%23%-69%45%-43%90%-83%5%117%-32%-9%-1%78%-125%103%-37%67%47%109%115%-105%54%-9%119%-8%61%41%73%-109%-69%43%-120%-14%17%92%86%-105%86%56%-116%15%49%12%-83%-42%26%74%-126%-35%-54%106%8%82%84%74%-95%-125%-58%-117%12%30%98%84%28%125%-84%-74%-99%44%18%-96%87%20%125%-84%127%100%-117%0%83%81%12%85%-112%0%-61%98%-24%-83%-126%4%120%42%-126%-66%61%-87%72%-128%7%125%-44%-97%79%-43%38%-52%-75%-47%-2%25%65%2%-72%-70%-24%104%67%-102%-80%-43%68%107%57%59%19%69%-92%-121%46%25%36%-128%-81%-123%54%115%-99%-15%-85%-41%-88%110%15%81%-83%-51%-123%6%-22%63%100%-125%-45%-50%-3%-91%52%-108%-113%-98%100%-110%-81%-75%94%122%40%27%-99%103%-111%-42%58%115%44%23%-67%-31%-109%108%116%-108%-34%75%-101%93%-18%104%30%-38%77%-17%-7%102%-112%63%-100%-121%-2%72%-19%-95%47%-43%112%22%122%39%-101%118%-92%28%-49%65%-93%-119%100%-122%-118%71%-25%-94%-14%-61%119%8%-109%-125%110%37%-13%-52%-89%126%65%-93%-66%116%-81%15%-87%121%114%-48%26%54%63%-6%-28%47%104%-44%-57%91%-44%-71%-94%77%26%-67%-59%19%-99%51%76%26%-75%-15%102%34%23%-119%-125%86%-16%-61%-65%113%76%18%-75%16%-38%98%-103%20%-38%67%-89%-45%-17%-82%17%20%47%-45%61%-49%-92%-48%48%105%-114%-103%19%37%-48%1%-102%104%-109%105%18%-88%-117%-48%-127%25%-44%67%123%-108%107%18%104%-100%68%-17%-52%-96%17%122%-6%-116%11%-66%8%58%75%-102%54%-37%84%-93%40%-127%96%-66%77%36%-118%-18%-111%-118%33%-12%60%-119%50%14%103%22%58%78%-104%19%-66%-87%68%-125%-126%-21%116%64%-3%-111%91%91%36%-93%-27%-3%-115%95%73%-12%84%11%29%93%0%39%60%29%-12%-115%42%-117%-2%-59%82%7%125%-26%-103%-80%-48%65%57%69%-116%54%-54%13%45%-108%-7%-105%-62%119%29%-12%39%19%-43%90%-3%-63%-104%6%15%-47%-42%65%69%-60%91%127%-51%55%74%116%-81%-73%-57%-72%-114%-114%-15%-103%64%29%77%52%55%-48%5%-51%-53%120%104%20%85%-93%51%67%-24%-73%36%-70%50%-124%-94%-108%111%104%8%-19%-93%-11%103%-25%18%-60%-67%-113%106%-120%-70%33%116%-107%68%-49%13%-95%51%-12%-4%-20%77%-91%70%-5%-24%96%100%-33%-4%68%126%-118%58%112%83%51%-7%-87%-108%75%114%-49%84%2%13%-48%113%-53%77%-91%-87%-22%-28%20%77%-107%-7%86%81%-24%14%-95%78%94%43%70%15%-107%42%-66%23%35%21%-97%-76%85%121%-41%63%93%69%-93%20%29%-100%107%19%-88%92%70%27%-87%-9%83%-99%-119%11%19%-99%9%113%-123%81%70%121%-50%-23%-10%120%-110%-6%108%-96%-37%35%6%-87%-66%20%81%-3%-80%58%104%-82%-124%-62%69%-7%14%90%-6%15%-128%-119%-14%110%-27%-95%65%44%-85%112%82%-70%43%41%46%-45%-55%-31%38%-65%-80%-30%118%122%-85%41%116%-97%-77%-107%-20%-12%74%-119%-59%-1%-80%-34%-53%-95%57%93%126%-69%94%-90%123%46%-35%-41%-57%112%-98%23%35%-23%29%51%-13%69%98%106%91%75%-41%-35%109%-65%92%-9%74%19%21%-115%92%-11%24%15%-70%40%-25%43%-113%-89%-115%-118%119%-14%123%-44%-87%62%42%122%29%2%13%11%-96%-5%13%-85%-82%-68%-118%-95%34%82%78%-42%46%-122%10%113%-93%-8%103%-29%-94%-88%-22%11%111%113%84%-59%-106%64%-9%-73%108%-59%-54%-36%-75%-91%-48%125%-12%-22%97%-38%13%74%-94%-5%8%118%45%27%-61%81%121%-12%16%-2%-70%-46%-16%-38%97%24%-57%113%24%-74%-9%71%-31%31%12%-33%-99%51%8%-119%86%-81%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%45%-25%121%64%-90%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
+ <eAnnotations xmi:id="_3DWg4DrWEeGMCcwsbpLuFA" source="image_papyrus">
+ <details xmi:id="_3DXH8DrWEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
+ <details xmi:id="_9f8J0DrWEeGMCcwsbpLuFA" key="image_name_key" value="IconAMIPoll"/>
</eAnnotations>
</icon>
- <icon xmi:type="uml:Image" xmi:id="_3-hIoDrWEeGMCcwsbpLuFA" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%119%0%0%0%92%8%3%0%0%0%99%-116%-38%77%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%120%120%120%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-71%82%-104%50%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%4%-59%73%68%65%84%104%-127%-59%-102%109%91%-30%58%16%-122%11%-118%40%-88%108%-83%2%-53%-117%93%123%4%-75%-20%110%53%-83%69%-91%-108%30%20%-1%-1%79%58%-107%-77%72%38%77%-109%73%-126%-41%62%95%-55%-52%77%94%-102%-52%76%98%-111%29%104%-2%-74%26%-115%-22%-29%81%-27%-83%31%35%77%44%51%98%-68%58%60%-19%120%22%-91%-27%-76%57%-70%-8%90%-18%-62%127%6%-56%-83%58%-65%-34%-61%47%-30%94%28%-76%-7%-52%63%122%109%-4%-5%5%-36%-59%73%73%79%105%-75%43%59%-26%14%78%-28%-48%-75%-70%-29%-78%-31%-42%-32%94%96%-87%107%-14%96%71%-36%-80%-18%42%96%115%5%-50%46%-72%-117%-82%26%53%-41%-16%-38%-100%-69%127%-91%-116%-51%-43%-116%-52%-72%-15%-67%14%53%87%123%102%-62%117%94%52%-79%-106%-27%-78%-53%75%-127%-101%-88%79%45%5%102%-66%101%60%119%-66%44%117%58%124%-71%15%38%-66%-1%59%-104%-106%-73%-15%-58%122%-36%-92%-60%101%-89%89%-95%63%-108%120%-32%79%75%-42%94%85%-121%-21%100%60%87%-39%36%-31%-76%-75%111%-98%-72%61%-2%-95%-50%-115%121%115%43%-40%127%23%15%-100%-3%-37%-19%41%115%91%69%47%-35%-107%-48%34%-31%-20%-90%-53%-19%-116%-32%-72%-11%-30%127%-81%75%14%88%66%86%-33%11%86%45%53%-18%-96%48%104%47%-123%-115%-128%-93%-8%119%1%92%87%-31%-38%25%107%-34%-112%118%-10%127%-115%-39%51%-60%-21%43%112%27%-84%113%13%71%-51%-43%103%-65%-66%78%-120%-26%-10%-104%81%-10%-86%114%-101%79%37%-20%88%-43%-48%-36%103%3%44%33%51%-90%-57%-18%5%-110%59%102%-2%-16%88%106%1%-107%48%115%28%32%-71%41%52%-13%21%-79%-124%92%-62%121%-14%18%20%-73%2%-79%-33%-112%43%-103%-42%29%116%-47%68%113%97%-108%-4%-54%13%-106%36%10%-65%1%31%87%14%-126%-5%6%-1%-21%72%3%-101%-81%45%120%66%77%16%-36%0%88%60%106%97%-39%-111%-50%-28%-36%8%44%70%-113%119%-22%97%20%-62%-59%121%41%-27%94%-125%-10%-57%-102%88%-10%99%12%-92%92%120%-2%45%-76%-71%33%-40%61%-36%80%-62%13%-63%48%-73%-124%109%-59%58%0%29%-24%75%-72%125%-48%-102%23%-9%99%-27%-128%-51%-29%78%-62%5%-21%-48%45%70%-3%10%2%51%54%-107%112%31%-103%-43%96%-96%17%-19%-22%42%18%115%95%-23%-58%122%123%-58%70%51%-72%66%-123%92%27%-76%-59%-124%54%2%-127%-120%-76%-14%-121%27%-49%120%-86%-46%77%51%51%44%-36%-7%110%63%-72%-47%-92%-115%-88%86%-24%-18%-111%27%-127%47%-23%-34%66%-89%-46%13%67%46%56%80%-97%44%18%103%40%-84%-75%111%-56%-99%-45%-50%-50%45%-46%-60%97%13%-105%51%-77%-96%83%-117%12%-111%92%113%90%34%87%8%-71%9%18%107%-67%25%114%9%-19%-52%-77%46%-1%10%-41%-75%-20%50%14%43%65%-47%15%-91%-104%118%-106%-49%47%-74%106%-79%-21%117%85%45%3%49%58%48%-28%-10%104%103%-7%-9%75%30%112%-36%95%-122%-36%127%104%103%-45%-100%27%-6%-120%93%50%-1%-117%-122%92%-97%118%-42%92%-97%11%73%-19%-8%-119%39%80%39%27%26%114%65%-35%-95%38%60%7%35%-48%-31%-98%-88%-87%92%96%127%122%23%-97%-5%32%-20%-59%103%-37%60%-127%101%-107%-17%86%-62%-58%-57%116%91%-109%112%-110%-112%91%56%103%98%-18%30%-35%-40%-45%-55%-55%62%5%-14%-69%19%9%23%-100%93%70%3%-67%0%-98%-10%100%-7%2%8%-13%59%6%92%88%-101%-103%-53%-72%48%29%-44%-33%-94%29%-112%-119%102%-46%-4%8%-90%-65%-25%-38%92%-80%105%124%36%-64%-78%-4%55%3%6%-17%-102%88%7%6%23%115%57%-9%16%24%100%-102%-87%10%-100%-82%103%34%-25%-62%21%-67%46%17%-88%-117%-119%45%-10%17%92%-72%-83%90%94%-55%-11%-105%80%76%125%115%25%97%-72%-16%-61%-77%-78%51%117%46%83%-119%94%111%3%-14%-70%-39%41%-76%106%41%23%-80%-104%-14%-43%-48%-58%113%7%-48%76%57%29%29%49%-10%119%4%-57%37%108%-11%-6%72%9%91%101%-126%-118%52%-62%114%-49%-40%-56%30%91%-11%-26%97%55%-31%63%-90%-18%-67%-49%-104%90%15%-24%-49%-72%112%49%-15%64%-16%92%-90%-66%-104%-85%-115%43%-96%21%-17%49%95%55%79%29%80%-9%26%78%-31%-82%-52%-67%65%-104%-11%82%-42%108%-101%100%-31%-18%113%126%20%35%-50%-87%-84%-53%118%-77%104%-12%-13%-13%87%-28%-67%-107%95%112%97%121%13%-47%-13%-112%-88%-58%-71%79%-100%110%23%36%-10%126%48%40%122%-79%-68%-96%-84%112%-24%-44%121%-73%-104%93%123%-37%2%-53%13%-7%-113%24%-38%7%-59%42%-113%125%125%-54%77%4%50%58%62%67%-33%-61%-58%-36%59%-50%92%105%112%115%-71%-15%24%-9%-85%71%101%-49%88%-106%96%65%-32%-17%-99%-29%105%-119%-61%-11%-112%-89%-23%75%-102%-118%94%88%64%-84%-54%61%123%-120%76%-32%-72%-22%50%-117%80%-23%61%-61%-111%54%-10%-23%-116%113%-91%-10%126%-93%112%-49%-120%84%113%71%87%124%55%50%19%63%126%-30%107%-56%-119%127%85%-33%-55%68%13%84%-78%76%-21%-111%87%80%85%127%-113%52%127%-106%-93%40%45%-7%85%122%-99%-9%87%123%-27%-81%52%88%93%29%-39%124%31%90%-17%-66%-94%-101%-30%-43%61%-105%-38%40%77%33%53%-33%-71%-123%99%-7%104%103%126%73%95%13%-72%-71%-110%-119%-88%-45%110%32%-82%-17%25%-67%-97%-20%-33%-74%-72%31%-12%-7%-31%74%22%9%25%-66%-37%36%97%127%-4%-13%-76%-67%-119%-4%-68%116%-38%-84%-83%4%-61%-69%51%-18%-89%102%-77%25%-10%-115%-22%-121%-2%3%52%51%-49%67%-105%-19%90%17%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%5%-46%-52%-24%92%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_54LY8DrWEeGMCcwsbpLuFA" source="image_papyrus">
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_54MnEDrWEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ACEvYDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjAMIPoll"/>
+ <icon xmi:id="_3-hIoDrWEeGMCcwsbpLuFA" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%119%0%0%0%92%8%3%0%0%0%99%-116%-38%77%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%120%120%120%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%-51%-51%-51%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-71%82%-104%50%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%4%-59%73%68%65%84%104%-127%-59%-102%109%91%-30%58%16%-122%11%-118%40%-88%108%-83%2%-53%-117%93%123%4%-75%-20%110%53%-83%69%-91%-108%30%20%-1%-1%79%58%-107%-77%72%38%77%-109%73%-126%-41%62%95%-55%-52%77%94%-102%-52%76%98%-111%29%104%-2%-74%26%-115%-22%-29%81%-27%-83%31%35%77%44%51%98%-68%58%60%-19%120%22%-91%-27%-76%57%-70%-8%90%-18%-62%127%6%-56%-83%58%-65%-34%-61%47%-30%94%28%-76%-7%-52%63%122%109%-4%-5%5%-36%-59%73%73%79%105%-75%43%59%-26%14%78%-28%-48%-75%-70%-29%-78%-31%-42%-32%94%96%-87%107%-14%96%71%-36%-80%-18%42%96%115%5%-50%46%-72%-117%-82%26%53%-41%-16%-38%-100%-69%127%-91%-116%-51%-43%-116%-52%-72%-15%-67%14%53%87%123%102%-62%117%94%52%-79%-106%-27%-78%-53%75%-127%-101%-88%79%45%5%102%-66%101%60%119%-66%44%117%58%124%-71%15%38%-66%-1%59%-104%-106%-73%-15%-58%122%-36%-92%-60%101%-89%89%-95%63%-108%120%-32%79%75%-42%94%85%-121%-21%100%60%87%-39%36%-31%-76%-75%111%-98%-72%61%-2%-95%-50%-115%121%115%43%-40%127%23%15%-100%-3%-37%-19%41%115%91%69%47%-35%-107%-48%34%-31%-20%-90%-53%-19%-116%-32%-72%-11%-30%127%-81%75%14%88%66%86%-33%11%86%45%53%-18%-96%48%104%47%-123%-115%-128%-93%-8%119%1%92%87%-31%-38%25%107%-34%-112%118%-10%127%-115%-39%51%-60%-21%43%112%27%-84%113%13%71%-51%-43%103%-65%-66%78%-120%-26%-10%-104%81%-10%-86%114%-101%79%37%-20%88%-43%-48%-36%103%3%44%33%51%-90%-57%-18%5%-110%59%102%-2%-16%88%106%1%-107%48%115%28%32%-71%41%52%-13%21%-79%-124%92%-62%121%-14%18%20%-73%2%-79%-33%-112%43%-103%-42%29%116%-47%68%113%97%-108%-4%-54%13%-106%36%10%-65%1%31%87%14%-126%-5%6%-1%-21%72%3%-101%-81%45%120%66%77%16%-36%0%88%60%106%97%-39%-111%-50%-28%-36%8%44%70%-113%119%-22%97%20%-62%-59%121%41%-27%94%-125%-10%-57%-102%88%-10%99%12%-92%92%120%-2%45%-76%-71%33%-40%61%-36%80%-62%13%-63%48%-73%-124%109%-59%58%0%29%-24%75%-72%125%-48%-102%23%-9%99%-27%-128%-51%-29%78%-62%5%-21%-48%45%70%-3%10%2%51%54%-107%112%31%-103%-43%96%-96%17%-19%-22%42%18%115%95%-23%-58%122%123%-58%70%51%-72%66%-123%92%27%-76%-59%-124%54%2%-127%-120%-76%-14%-121%27%-49%120%-86%-46%77%51%51%44%-36%-7%110%63%-72%-47%-92%-115%-88%86%-24%-18%-111%27%-127%47%-23%-34%66%-89%-46%13%67%46%56%80%-97%44%18%103%40%-84%-75%111%-56%-99%-45%-50%-50%45%-46%-60%97%13%-105%51%-77%-96%83%-117%12%-111%92%113%90%34%87%8%-71%9%18%107%-67%25%114%9%-19%-52%-77%46%-1%10%-41%-75%-20%50%14%43%65%-47%15%-91%-104%118%-106%-49%47%-74%106%-79%-21%117%85%45%3%49%58%48%-28%-10%104%103%-7%-9%75%30%112%-36%95%-122%-36%127%104%103%-45%-100%27%-6%-120%93%50%-1%-117%-122%92%-97%118%-42%92%-97%11%73%-19%-8%-119%39%80%39%27%26%114%65%-35%-95%38%60%7%35%-48%-31%-98%-88%-87%92%96%127%122%23%-97%-5%32%-20%-59%103%-37%60%-127%101%-107%-17%86%-62%-58%-57%116%91%-109%112%-110%-112%91%56%103%98%-18%30%-35%-40%-45%-55%-55%62%5%-14%-69%19%9%23%-100%93%70%3%-67%0%-98%-10%100%-7%2%8%-13%59%6%92%88%-101%-103%-53%-72%48%29%-44%-33%-94%29%-112%-119%102%-46%-4%8%-90%-65%-25%-38%92%-80%105%124%36%-64%-78%-4%55%3%6%-17%-102%88%7%6%23%115%57%-9%16%24%100%-102%-87%10%-100%-82%103%34%-25%-62%21%-67%46%17%-88%-117%-119%45%-10%17%92%-72%-83%90%94%-55%-11%-105%80%76%125%115%25%97%-72%-16%-61%-77%-78%51%117%46%83%-119%94%111%3%-14%-70%-39%41%-76%106%41%23%-80%-104%-14%-43%-48%-58%113%7%-48%76%57%29%29%49%-10%119%4%-57%37%108%-11%-6%72%9%91%101%-126%-118%52%-62%114%-49%-40%-56%30%91%-11%-26%97%55%-31%63%-90%-18%-67%-49%-104%90%15%-24%-49%-72%112%49%-15%64%-16%92%-90%-66%-104%-85%-115%43%-96%21%-17%49%95%55%79%29%80%-9%26%78%-31%-82%-52%-67%65%-104%-11%82%-42%108%-101%100%-31%-18%113%126%20%35%-50%-87%-84%-53%118%-77%104%-12%-13%-13%87%-28%-67%-107%95%112%97%121%13%-47%-13%-112%-88%-58%-71%79%-100%110%23%36%-10%126%48%40%122%-79%-68%-96%-84%112%-24%-44%121%-73%-104%93%123%-37%2%-53%13%-7%-113%24%-38%7%-59%42%-113%125%125%-54%77%4%50%58%62%67%-33%-61%-58%-36%59%-50%92%105%112%115%-71%-15%24%-9%-85%71%101%-49%88%-106%96%65%-32%-17%-99%-29%105%-119%-61%-11%-112%-89%-23%75%-102%-118%94%88%64%-84%-54%61%123%-120%76%-32%-72%-22%50%-117%80%-23%61%-61%-111%54%-10%-23%-116%113%-91%-10%126%-93%112%-49%-120%84%113%71%87%124%55%50%19%63%126%-30%107%-56%-119%127%85%-33%-55%68%13%84%-78%76%-21%-111%87%80%85%127%-113%52%127%-106%-93%40%45%-7%85%122%-99%-9%87%123%-27%-81%52%88%93%29%-39%124%31%90%-17%-66%-94%-101%-30%-43%61%-105%-38%40%77%33%53%-33%-71%-123%99%-7%104%103%126%73%95%13%-72%-71%-110%-119%-88%-45%110%32%-82%-17%25%-67%-97%-20%-33%-74%-72%31%-12%-7%-31%74%22%9%25%-66%-37%36%97%127%-4%-13%-76%-67%-119%-4%-68%116%-38%-84%-83%4%-61%-69%51%-18%-89%102%-77%25%-10%-115%-22%-121%-2%3%52%51%-49%67%-105%-19%90%17%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%5%-46%-52%-24%92%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus">
+ <eAnnotations xmi:id="_54LY8DrWEeGMCcwsbpLuFA" source="image_papyrus">
+ <details xmi:id="_54MnEDrWEeGMCcwsbpLuFA" key="image_kind_key" value="icon"/>
+ <details xmi:id="_ACEvYDrXEeGMCcwsbpLuFA" key="image_name_key" value="IconConjAMIPoll"/>
</eAnnotations>
</icon>
</packagedElement>
<packagedElement xmi:type="uml:Stereotype" xmi:id="_AQZZwLqOEd-SedGzMDDkww" name="AMIcallback">
- <icon xmi:type="uml:Image" xmi:id="_KoY8QDiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%72%0%0%0%104%8%3%0%0%0%101%-97%70%67%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%103%103%103%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%-34%-34%-34%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-51%-46%-59%107%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%-13%73%68%65%84%88%-123%-75%-39%109%67%-86%48%20%0%-32%-39%53%75%-67%105%26%-23%-51%74%52%73%45%-13%-86%13%-13%37%-55%-105%-44%-1%-1%-109%-82%-70%13%6%-116%-77%-93%113%-49%-73%-28%-12%48%-74%113%-40%-128%80%116%12%55%-39%-4%116%78%-56%-14%-13%-6%-9%-13%40%120%-108%32%21%-69%121%85%39%82%52%-14%109%-65%-123%-124%-102%-9%36%20%-85%-92%125%44%84%-67%13%51%-5%-72%-33%30%7%117%-44%-52%62%-78%110%-93%-12%-48%-80%31%-19%16%82%40%98%-95%-30%-89%-12%111%-26%52%-105%-51%-68%79%-66%-91%-97%-26%51%28%100%23%-68%-50%-51%-82%-59%-123%84%47%-67%-50%-65%27%-95%-96%-116%-56%-81%-65%-7%-122%-37%62%119%-101%-107%-73%17%-48%-117%-37%23%70%-24%-102%-35%-66%-21%-22%33%-93%-63%115%51%-74%-30%104%-57%-30%71%23%90%72%-100%-76%-93%62%-36%-30%-121%-57%58%-56%-31%-89%-20%71%37%116%-71%-76%-47%64%57%-106%118%59%-116%-52%-56%-77%-116%50%12%-35%-16%6%-43%-12%109%126%0%-95%54%75%-54%65%-115%-50%-120%-127%-125%-96%-100%56%-101%-66%-43%101%8%26%-78%-79%-81%64%14%-91%31%-20%108%14%0%85%-7%20%-126%-95%36%-53%106%6%-96%-46%-52%-117%95%-18%-48%66%-15%-59%-78%82%62%40%41%-33%-42%34%28%24%-78%89%86%90%-122%54%10%-122%-112%80%-103%15%4%59%-7%64%-122%6%74%72%-29%-48%-54%33%107%34%-25%77%-108%-112%-22%118%-107%99%-50%38%-101%30%-102%105%32%-106%-107%-43%67%-64%13%-78%15%-125%101%117%-62%80%-91%-59%-29%-110%-91%-92%96%40%-63%-78%90%97%104%18%56%-41%68%-15%-33%82%-16%17%122%4%32%58%61%-4%109%-35%64%-114%-51%70%-1%-101%66%16%127%48%-66%65%16%-81%16%61%16%90%-80%-92%70%-88%-18%123%49%92%-79%-100%45%8%-15%-71%-74%59%93%100%-16%70%-101%67%24%58%-29%51%-96%29%-27%60%89%-18%-56%-126%16%-17%110%98%85%-43%-114%99%-78%-29%-53%-95%14%-86%-15%38%-103%79%42%103%-79%-108%90%12%67%-18%-125%-51%82%76%-53%103%-79%-124%27%-37%122%104%84%22%119%-54%-57%34%112%89%110%-83%88%30%70%85%3%-47%-46%74%-28%-109%-63%-38%43%4%-43%-65%-30%113%77%-22%-20%12%58%-120%62%74%107%80%115%-48%105%-83%-41%-83%-117%-98%-89%19%43%65%113%-112%-41%-91%-54%112%-121%65%15%81%67%93%94%14%81%113%-85%21%2%-94%118%-38%-118%112%-6%94%65%-57%64%-14%16%-55%-31%27%72%28%-76%-21%-87%92%-35%-81%52%-14%-2%-46%-119%-123%-10%91%-111%94%69%40%-53%65%104%51%-126%-121%14%81%122%-36%38%-86%-54%-57%-63%-111%80%116%-60%9%57%-25%111%44%-106%63%-125%-38%-127%73%114%42%84%12%12%-21%-55%80%45%56%-51%78%-123%30%-30%-126%-24%-8%4%-56%72%-68%-20%6%-89%37%-105%114%66%111%-6%-26%81%-112%-109%-54%-117%-62%50%-10%65%94%96%-26%81%45%39%13%-78%-68%-75%56%14%58%43%-5%26%-33%61%17%26%-11%2%-35%-103%60%13%-86%-122%106%110%-30%36%40%21%46%-109%-2%81%67%66%41%9%88%-26%95%55%-50%-20%107%45%-41%36%44%-44%116%21%43%-89%92%9%32%-95%-124%123%93%-3%63%-22%22%-29%-96%-110%-104%-77%-26%-103%-102%-63%66%124%-57%73%-54%-91%40%7%7%-119%5%87%5%88%4%98%-96%-30%-73%-34%65%65%124%-28%-83%47%-64%65%65%108%-37%2%47%-109%49%16%-33%-58%-107%-31%109%18%2%-30%-101%-19%103%-48%65%64%35%54%23%87%-102%125%-101%30%-30%-101%-19%46%-123%67%15%-99%51%72%-77%71%70%64%108%105%100%106%28%5%52%-99%-7%-29%-18%-16%-21%-57%-15%-112%58%-46%113%65%-16%108%-4%95%-48%117%92%-48%107%92%-48%-80%16%13%-127%-81%-75%-126%-48%-18%-2%-68%-32%-117%-73%-105%-106%27%-20%21%-76%-26%117%20%-26%-19%113%-102%53%-87%-88%73%-45%67%-4%85%-61%86%-109%-90%-121%28%6%93%-1%24%18%5%82%-13%-42%6%1%-15%89%-95%-71%73%16%-112%-63%42%-101%-75%0%-77%48%31%15%-82%88%-109%-32%-94%-115%-127%120%-115%-124%-117%36%-22%-69%-56%59%-105%-96%119%82%40%-56%48%-11%18%-18%-109%79%91%-36%114%-23%-56%126%66%126%59%18%-53%17%82%-114%26%59%36%52%114%-117%94%-93%-89%94%2%96%63%-117%21%-35%-3%44%33%-123%-74%-30%21%55%22%-94%-122%36%17%82%-97%78%38%19%-33%-73%9%52%68%-115%80%-39%-13%125%-100%-64%67%-69%103%110%-61%15%-7%-54%-17%49%16%117%62%99%-126%-88%-99%24%-57%3%-19%98%-47%-81%-57%3%-19%-30%-95%-35%43%-49%119%113%46%-1%-8%15%83%120%-125%-89%63%57%-45%-36%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%32%-103%-56%60%27%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus"/>
- <icon xmi:type="uml:Image" xmi:id="_WTUY0ENnEeGoAtSeIK7WLg" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%72%0%0%0%104%8%3%0%0%0%101%-97%70%67%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%103%103%103%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%-34%-34%-34%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-51%-46%-59%107%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%-13%73%68%65%84%88%-123%-75%-39%109%67%-86%48%20%0%-32%-39%53%75%-67%105%26%-23%-51%74%52%73%45%-13%-86%13%-13%37%-55%-105%-44%-1%-1%-109%-82%-70%13%6%-116%-77%-93%113%-49%-73%-28%-12%48%-74%113%-40%-128%80%116%12%55%-39%-4%116%78%-56%-14%-13%-6%-9%-13%40%120%-108%32%21%-69%121%85%39%82%52%-14%109%-65%-123%-124%-102%-9%36%20%-85%-92%125%44%84%-67%13%51%-5%-72%-33%30%7%117%-44%-52%62%-78%110%-93%-12%-48%-80%31%-19%16%82%40%98%-95%-30%-89%-12%111%-26%52%-105%-51%-68%79%-66%-91%-97%-26%51%28%100%23%-68%-50%-51%-82%-59%-123%84%47%-67%-50%-65%27%-95%-96%-116%-56%-81%-65%-7%-122%-37%62%119%-101%-107%-73%17%-48%-117%-37%23%70%-24%-102%-35%-66%-21%-22%33%-93%-63%115%51%-74%-30%104%-57%-30%71%23%90%72%-100%-76%-93%62%-36%-30%-121%-57%58%-56%-31%-89%-20%71%37%116%-71%-76%-47%64%57%-106%118%59%-116%-52%-56%-77%-116%50%12%-35%-16%6%-43%-12%109%126%0%-95%54%75%-54%65%-115%-50%-120%-127%-125%-96%-100%56%-101%-66%-43%101%8%26%-78%-79%-81%64%14%-91%31%-20%108%14%0%85%-7%20%-126%-95%36%-53%106%6%-96%-46%-52%-117%95%-18%-48%66%-15%-59%-78%82%62%40%41%-33%-42%34%28%24%-78%89%86%90%-122%54%10%-122%-112%80%-103%15%4%59%-7%64%-122%6%74%72%-29%-48%-54%33%107%34%-25%77%-108%-112%-22%118%-107%99%-50%38%-101%30%-102%105%32%-106%-107%-43%67%-64%13%-78%15%-125%101%117%-62%80%-91%-59%-29%-110%-91%-92%96%40%-63%-78%90%97%104%18%56%-41%68%-15%-33%82%-16%17%122%4%32%58%61%-4%109%-35%64%-114%-51%70%-1%-101%66%16%127%48%-66%65%16%-81%16%61%16%90%-80%-92%70%-88%-18%123%49%92%-79%-100%45%8%-15%-71%-74%59%93%100%-16%70%-101%67%24%58%-29%51%-96%29%-27%60%89%-18%-56%-126%16%-17%110%98%85%-43%-114%99%-78%-29%-53%-95%14%-86%-15%38%-103%79%42%103%-79%-108%90%12%67%-18%-125%-51%82%76%-53%103%-79%-124%27%-37%122%104%84%22%119%-54%-57%34%112%89%110%-83%88%30%70%85%3%-47%-46%74%-28%-109%-63%-38%43%4%-43%-65%-30%113%77%-22%-20%12%58%-120%62%74%107%80%115%-48%105%-83%-41%-83%-117%-98%-89%19%43%65%113%-112%-41%-91%-54%112%-121%65%15%81%67%93%94%14%81%113%-85%21%2%-94%118%-38%-118%112%-6%94%65%-57%64%-14%16%-55%-31%27%72%28%-76%-21%-87%92%-35%-81%52%-14%-2%-46%-119%-123%-10%91%-111%94%69%40%-53%65%104%51%-126%-121%14%81%122%-36%38%-86%-54%-57%-63%-111%80%116%-60%9%57%-25%111%44%-106%63%-125%-38%-127%73%114%42%84%12%12%-21%-55%80%45%56%-51%78%-123%30%-30%-126%-24%-8%4%-56%72%-68%-20%6%-89%37%-105%114%66%111%-6%-26%81%-112%-109%-54%-117%-62%50%-10%65%94%96%-26%81%45%39%13%-78%-68%-75%56%14%58%43%-5%26%-33%61%17%26%-11%2%-35%-103%60%13%-86%-122%106%110%-30%36%40%21%46%-109%-2%81%67%66%41%9%88%-26%95%55%-50%-20%107%45%-41%36%44%-44%116%21%43%-89%92%9%32%-95%-124%123%93%-3%63%-22%22%-29%-96%-110%-104%-77%-26%-103%-102%-63%66%124%-57%73%-54%-91%40%7%7%-119%5%87%5%88%4%98%-96%-30%-73%-34%65%65%124%-28%-83%47%-64%65%65%108%-37%2%47%-109%49%16%-33%-58%-107%-31%109%18%2%-30%-101%-19%103%-48%65%64%35%54%23%87%-102%125%-101%30%-30%-101%-19%46%-123%67%15%-99%51%72%-77%71%70%64%108%105%100%106%28%5%52%-99%-7%-29%-18%-16%-21%-57%-15%-112%58%-46%113%65%-16%108%-4%95%-48%117%92%-48%107%92%-48%-80%16%13%-127%-81%-75%-126%-48%-18%-2%-68%-32%-117%-73%-105%-106%27%-20%21%-76%-26%117%20%-26%-19%113%-102%53%-87%-88%73%-45%67%-4%85%-61%86%-109%-90%-121%28%6%93%-1%24%18%5%82%-13%-42%6%1%-15%89%-95%-71%73%16%-112%-63%42%-101%-75%0%-77%48%31%15%-82%88%-109%-32%-94%-115%-127%120%-115%-124%-117%36%-22%-69%-56%59%-105%-96%119%82%40%-56%48%-11%18%-18%-109%79%91%-36%114%-23%-56%126%66%126%59%18%-53%17%82%-114%26%59%36%52%114%-117%94%-93%-89%94%2%96%63%-117%21%-35%-3%44%33%-123%-74%-30%21%55%22%-94%-122%36%17%82%-97%78%38%19%-33%-73%9%52%68%-115%80%-39%-13%125%-100%-64%67%-69%103%110%-61%15%-7%-54%-17%49%16%117%62%99%-126%-88%-99%24%-57%3%-19%98%-47%-81%-57%3%-19%-30%-95%-35%43%-49%119%113%46%-1%-8%15%83%120%-125%-89%63%57%-45%-36%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%32%-103%-56%60%27%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus"/>
+ <icon xmi:id="_KoY8QDiyEeGiupyIkgMHVw" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%72%0%0%0%104%8%3%0%0%0%101%-97%70%67%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%103%103%103%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%-34%-34%-34%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-51%-46%-59%107%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%-13%73%68%65%84%88%-123%-75%-39%109%67%-86%48%20%0%-32%-39%53%75%-67%105%26%-23%-51%74%52%73%45%-13%-86%13%-13%37%-55%-105%-44%-1%-1%-109%-82%-70%13%6%-116%-77%-93%113%-49%-73%-28%-12%48%-74%113%-40%-128%80%116%12%55%-39%-4%116%78%-56%-14%-13%-6%-9%-13%40%120%-108%32%21%-69%121%85%39%82%52%-14%109%-65%-123%-124%-102%-9%36%20%-85%-92%125%44%84%-67%13%51%-5%-72%-33%30%7%117%-44%-52%62%-78%110%-93%-12%-48%-80%31%-19%16%82%40%98%-95%-30%-89%-12%111%-26%52%-105%-51%-68%79%-66%-91%-97%-26%51%28%100%23%-68%-50%-51%-82%-59%-123%84%47%-67%-50%-65%27%-95%-96%-116%-56%-81%-65%-7%-122%-37%62%119%-101%-107%-73%17%-48%-117%-37%23%70%-24%-102%-35%-66%-21%-22%33%-93%-63%115%51%-74%-30%104%-57%-30%71%23%90%72%-100%-76%-93%62%-36%-30%-121%-57%58%-56%-31%-89%-20%71%37%116%-71%-76%-47%64%57%-106%118%59%-116%-52%-56%-77%-116%50%12%-35%-16%6%-43%-12%109%126%0%-95%54%75%-54%65%-115%-50%-120%-127%-125%-96%-100%56%-101%-66%-43%101%8%26%-78%-79%-81%64%14%-91%31%-20%108%14%0%85%-7%20%-126%-95%36%-53%106%6%-96%-46%-52%-117%95%-18%-48%66%-15%-59%-78%82%62%40%41%-33%-42%34%28%24%-78%89%86%90%-122%54%10%-122%-112%80%-103%15%4%59%-7%64%-122%6%74%72%-29%-48%-54%33%107%34%-25%77%-108%-112%-22%118%-107%99%-50%38%-101%30%-102%105%32%-106%-107%-43%67%-64%13%-78%15%-125%101%117%-62%80%-91%-59%-29%-110%-91%-92%96%40%-63%-78%90%97%104%18%56%-41%68%-15%-33%82%-16%17%122%4%32%58%61%-4%109%-35%64%-114%-51%70%-1%-101%66%16%127%48%-66%65%16%-81%16%61%16%90%-80%-92%70%-88%-18%123%49%92%-79%-100%45%8%-15%-71%-74%59%93%100%-16%70%-101%67%24%58%-29%51%-96%29%-27%60%89%-18%-56%-126%16%-17%110%98%85%-43%-114%99%-78%-29%-53%-95%14%-86%-15%38%-103%79%42%103%-79%-108%90%12%67%-18%-125%-51%82%76%-53%103%-79%-124%27%-37%122%104%84%22%119%-54%-57%34%112%89%110%-83%88%30%70%85%3%-47%-46%74%-28%-109%-63%-38%43%4%-43%-65%-30%113%77%-22%-20%12%58%-120%62%74%107%80%115%-48%105%-83%-41%-83%-117%-98%-89%19%43%65%113%-112%-41%-91%-54%112%-121%65%15%81%67%93%94%14%81%113%-85%21%2%-94%118%-38%-118%112%-6%94%65%-57%64%-14%16%-55%-31%27%72%28%-76%-21%-87%92%-35%-81%52%-14%-2%-46%-119%-123%-10%91%-111%94%69%40%-53%65%104%51%-126%-121%14%81%122%-36%38%-86%-54%-57%-63%-111%80%116%-60%9%57%-25%111%44%-106%63%-125%-38%-127%73%114%42%84%12%12%-21%-55%80%45%56%-51%78%-123%30%-30%-126%-24%-8%4%-56%72%-68%-20%6%-89%37%-105%114%66%111%-6%-26%81%-112%-109%-54%-117%-62%50%-10%65%94%96%-26%81%45%39%13%-78%-68%-75%56%14%58%43%-5%26%-33%61%17%26%-11%2%-35%-103%60%13%-86%-122%106%110%-30%36%40%21%46%-109%-2%81%67%66%41%9%88%-26%95%55%-50%-20%107%45%-41%36%44%-44%116%21%43%-89%92%9%32%-95%-124%123%93%-3%63%-22%22%-29%-96%-110%-104%-77%-26%-103%-102%-63%66%124%-57%73%-54%-91%40%7%7%-119%5%87%5%88%4%98%-96%-30%-73%-34%65%65%124%-28%-83%47%-64%65%65%108%-37%2%47%-109%49%16%-33%-58%-107%-31%109%18%2%-30%-101%-19%103%-48%65%64%35%54%23%87%-102%125%-101%30%-30%-101%-19%46%-123%67%15%-99%51%72%-77%71%70%64%108%105%100%106%28%5%52%-99%-7%-29%-18%-16%-21%-57%-15%-112%58%-46%113%65%-16%108%-4%95%-48%117%92%-48%107%92%-48%-80%16%13%-127%-81%-75%-126%-48%-18%-2%-68%-32%-117%-73%-105%-106%27%-20%21%-76%-26%117%20%-26%-19%113%-102%53%-87%-88%73%-45%67%-4%85%-61%86%-109%-90%-121%28%6%93%-1%24%18%5%82%-13%-42%6%1%-15%89%-95%-71%73%16%-112%-63%42%-101%-75%0%-77%48%31%15%-82%88%-109%-32%-94%-115%-127%120%-115%-124%-117%36%-22%-69%-56%59%-105%-96%119%82%40%-56%48%-11%18%-18%-109%79%91%-36%114%-23%-56%126%66%126%59%18%-53%17%82%-114%26%59%36%52%114%-117%94%-93%-89%94%2%96%63%-117%21%-35%-3%44%33%-123%-74%-30%21%55%22%-94%-122%36%17%82%-97%78%38%19%-33%-73%9%52%68%-115%80%-39%-13%125%-100%-64%67%-69%103%110%-61%15%-7%-54%-17%49%16%117%62%99%-126%-88%-99%24%-57%3%-19%98%-47%-81%-57%3%-19%-30%-95%-35%43%-49%119%113%46%-1%-8%15%83%120%-125%-89%63%57%-45%-36%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%32%-103%-56%60%27%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus"/>
+ <icon xmi:id="_WTUY0ENnEeGoAtSeIK7WLg" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%72%0%0%0%104%8%3%0%0%0%101%-97%70%67%0%0%0%4%103%65%77%65%0%0%-79%-113%11%-4%97%5%0%0%0%-43%80%76%84%69%0%0%0%-81%-81%-81%-85%-85%-85%-103%-103%-103%-107%-107%-107%-111%-111%-111%-115%-115%-115%-119%-119%-119%119%119%119%115%115%115%111%111%111%107%107%107%103%103%103%85%85%85%81%81%81%77%77%77%73%73%73%69%69%69%-18%-18%-18%-22%-22%-22%-26%-26%-26%51%51%51%-30%-30%-30%47%47%47%-34%-34%-34%43%43%43%39%39%39%35%35%35%-52%-52%-52%-56%-56%-56%-60%-60%-60%17%17%17%-64%-64%-64%13%13%13%-68%-68%-68%9%9%9%5%5%5%-86%-86%-86%-90%-90%-90%-94%-94%-94%-98%-98%-98%-102%-102%-102%-120%-120%-120%-124%-124%-124%-128%-128%-128%124%124%124%102%102%102%98%98%98%94%94%94%90%90%90%86%86%86%-1%-1%-1%-5%-5%-5%-9%-9%-9%68%68%68%-13%-13%-13%64%64%64%60%60%60%56%56%56%52%52%52%-35%-35%-35%-39%-39%-39%-43%-43%-43%34%34%34%-47%-47%-47%30%30%30%26%26%26%22%22%22%-69%-69%-69%-73%-73%-73%-77%-77%-77%-51%-46%-59%107%0%0%0%61%116%69%88%116%83%111%102%116%119%97%114%101%0%88%86%32%118%101%114%115%105%111%110%32%51%46%49%48%97%45%106%117%109%98%111%70%105%120%43%69%110%104%32%111%102%32%50%48%48%56%49%50%49%54%32%40%105%110%116%101%114%105%109%33%41%-80%-32%124%-127%0%0%3%-13%73%68%65%84%88%-123%-75%-39%109%67%-86%48%20%0%-32%-39%53%75%-67%105%26%-23%-51%74%52%73%45%-13%-86%13%-13%37%-55%-105%-44%-1%-1%-109%-82%-70%13%6%-116%-77%-93%113%-49%-73%-28%-12%48%-74%113%-40%-128%80%116%12%55%-39%-4%116%78%-56%-14%-13%-6%-9%-13%40%120%-108%32%21%-69%121%85%39%82%52%-14%109%-65%-123%-124%-102%-9%36%20%-85%-92%125%44%84%-67%13%51%-5%-72%-33%30%7%117%-44%-52%62%-78%110%-93%-12%-48%-80%31%-19%16%82%40%98%-95%-30%-89%-12%111%-26%52%-105%-51%-68%79%-66%-91%-97%-26%51%28%100%23%-68%-50%-51%-82%-59%-123%84%47%-67%-50%-65%27%-95%-96%-116%-56%-81%-65%-7%-122%-37%62%119%-101%-107%-73%17%-48%-117%-37%23%70%-24%-102%-35%-66%-21%-22%33%-93%-63%115%51%-74%-30%104%-57%-30%71%23%90%72%-100%-76%-93%62%-36%-30%-121%-57%58%-56%-31%-89%-20%71%37%116%-71%-76%-47%64%57%-106%118%59%-116%-52%-56%-77%-116%50%12%-35%-16%6%-43%-12%109%126%0%-95%54%75%-54%65%-115%-50%-120%-127%-125%-96%-100%56%-101%-66%-43%101%8%26%-78%-79%-81%64%14%-91%31%-20%108%14%0%85%-7%20%-126%-95%36%-53%106%6%-96%-46%-52%-117%95%-18%-48%66%-15%-59%-78%82%62%40%41%-33%-42%34%28%24%-78%89%86%90%-122%54%10%-122%-112%80%-103%15%4%59%-7%64%-122%6%74%72%-29%-48%-54%33%107%34%-25%77%-108%-112%-22%118%-107%99%-50%38%-101%30%-102%105%32%-106%-107%-43%67%-64%13%-78%15%-125%101%117%-62%80%-91%-59%-29%-110%-91%-92%96%40%-63%-78%90%97%104%18%56%-41%68%-15%-33%82%-16%17%122%4%32%58%61%-4%109%-35%64%-114%-51%70%-1%-101%66%16%127%48%-66%65%16%-81%16%61%16%90%-80%-92%70%-88%-18%123%49%92%-79%-100%45%8%-15%-71%-74%59%93%100%-16%70%-101%67%24%58%-29%51%-96%29%-27%60%89%-18%-56%-126%16%-17%110%98%85%-43%-114%99%-78%-29%-53%-95%14%-86%-15%38%-103%79%42%103%-79%-108%90%12%67%-18%-125%-51%82%76%-53%103%-79%-124%27%-37%122%104%84%22%119%-54%-57%34%112%89%110%-83%88%30%70%85%3%-47%-46%74%-28%-109%-63%-38%43%4%-43%-65%-30%113%77%-22%-20%12%58%-120%62%74%107%80%115%-48%105%-83%-41%-83%-117%-98%-89%19%43%65%113%-112%-41%-91%-54%112%-121%65%15%81%67%93%94%14%81%113%-85%21%2%-94%118%-38%-118%112%-6%94%65%-57%64%-14%16%-55%-31%27%72%28%-76%-21%-87%92%-35%-81%52%-14%-2%-46%-119%-123%-10%91%-111%94%69%40%-53%65%104%51%-126%-121%14%81%122%-36%38%-86%-54%-57%-63%-111%80%116%-60%9%57%-25%111%44%-106%63%-125%-38%-127%73%114%42%84%12%12%-21%-55%80%45%56%-51%78%-123%30%-30%-126%-24%-8%4%-56%72%-68%-20%6%-89%37%-105%114%66%111%-6%-26%81%-112%-109%-54%-117%-62%50%-10%65%94%96%-26%81%45%39%13%-78%-68%-75%56%14%58%43%-5%26%-33%61%17%26%-11%2%-35%-103%60%13%-86%-122%106%110%-30%36%40%21%46%-109%-2%81%67%66%41%9%88%-26%95%55%-50%-20%107%45%-41%36%44%-44%116%21%43%-89%92%9%32%-95%-124%123%93%-3%63%-22%22%-29%-96%-110%-104%-77%-26%-103%-102%-63%66%124%-57%73%-54%-91%40%7%7%-119%5%87%5%88%4%98%-96%-30%-73%-34%65%65%124%-28%-83%47%-64%65%65%108%-37%2%47%-109%49%16%-33%-58%-107%-31%109%18%2%-30%-101%-19%103%-48%65%64%35%54%23%87%-102%125%-101%30%-30%-101%-19%46%-123%67%15%-99%51%72%-77%71%70%64%108%105%100%106%28%5%52%-99%-7%-29%-18%-16%-21%-57%-15%-112%58%-46%113%65%-16%108%-4%95%-48%117%92%-48%107%92%-48%-80%16%13%-127%-81%-75%-126%-48%-18%-2%-68%-32%-117%-73%-105%-106%27%-20%21%-76%-26%117%20%-26%-19%113%-102%53%-87%-88%73%-45%67%-4%85%-61%86%-109%-90%-121%28%6%93%-1%24%18%5%82%-13%-42%6%1%-15%89%-95%-71%73%16%-112%-63%42%-101%-75%0%-77%48%31%15%-82%88%-109%-32%-94%-115%-127%120%-115%-124%-117%36%-22%-69%-56%59%-105%-96%119%82%40%-56%48%-11%18%-18%-109%79%91%-36%114%-23%-56%126%66%126%59%18%-53%17%82%-114%26%59%36%52%114%-117%94%-93%-89%94%2%96%63%-117%21%-35%-3%44%33%-123%-74%-30%21%55%22%-94%-122%36%17%82%-97%78%38%19%-33%-73%9%52%68%-115%80%-39%-13%125%-100%-64%67%-69%103%110%-61%15%-7%-54%-17%49%16%117%62%99%-126%-88%-99%24%-57%3%-19%98%-47%-81%-57%3%-19%-30%-95%-35%43%-49%119%113%46%-1%-8%15%83%120%-125%-89%63%57%-45%-36%0%0%0%7%116%73%77%69%7%-36%1%6%14%1%32%-103%-56%60%27%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus"/>
</packagedElement>
<packagedElement xmi:type="uml:Stereotype" xmi:id="_GjnlcC8qEeKx7OxAiA06uw" name="PushProdPullCons">
- <icon xmi:type="uml:Image" xmi:id="_0I0rMEMLEeKGIL695HkFYQ" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%112%0%0%0%103%8%0%0%0%0%-3%88%-103%-76%0%0%7%56%73%68%65%84%104%-127%-75%-102%123%80%21%85%28%-57%-9%-18%-67%92%121%-91%40%-124%38%70%64%-26%11%-33%-118%-29%115%124%84%-90%83%106%-91%-93%2%-115%83%-90%102%-90%-7%-56%-55%-41%-104%58%-26%-116%-40%56%-102%-64%-116%-88%53%101%62%-54%102%-14%81%26%86%102%-58%4%78%102%-120%14%89%62%72%5%-15%9%72%112%-111%-57%-62%-23%42%23%-10%123%118%-49%-18%-98%-35%-69%-2%-2%-29%-100%-33%-2%62%-105%-35%-13%123%-100%-33%57%2%-31%23%-23%-20%-87%-101%-116%-31%-102%-69%38%108%16%-127%31%-105%-38%78%16%-100%83%47%-46%-93%-43%-97%116%17%-59%94%-23%53%-10%3%-85%-34%116%9%15%36%-106%34%86%39%63%28%20%-109%-1%-77%29%-72%-92%-111%39%8%-29%-85%96%52%-75%105%116%90%-75%-51%-64%-116%22%62%-53%66%-28%101%121%-76%122%96%-45%-88%-72%-76%-34%86%-32%-31%80%-95%89%-66%-105%-121%47%61%-39%60%-22%78%-77%19%120%-90%-83%-52%19%-14%-28%-15%-62%56%121%56%116%-97%125%-64%-62%-98%-64%-21%120%93%-98%-88%26%12%19%109%-114%-39%5%44%123%22%-52%10%91%112%-22%-101%64%-104%-119%62%103%15%80%74%114%-128%-43%23%-53%113%-50%-25%22%62%-23%117%-51%22%-32%42%39%-40%-20%83%76%79%-106%-67%-128%-60%81%-58%65%-57%24%-72%-93%5%88%-20%-112%-81%-100%-66%-103%-128%-60%-55%30%-65%-127%-103%-32%16%66%-21%-29%106%-123%11%79%-125%-126%56%-73%-42%79%96%126%52%-104%11%-38%-55%82%-55%121%28%84%2%-42%-7%7%-68%-34%11%95%-40%-70%58%-90%-46%-63%-57%64%39%-28%115%127%-128%-98%-25%-112%55%-29%-66%-122%-38%118%-4%-52%97%-121%-83%3%-91%-23%-24%16%99%52%51%66%-3%-121%34%-24%69%-99%-78%12%92%-29%2%59%61%-117%-75%21%107%-26%-32%-101%-24%-10%-113%69%-32%23%24%70%-94%114%-11%126%90%-59%68%36%14%101%21%6%-58%-64%19%-83%-64%70%-85%31%-12%120%-124%-108%12%69%-30%-72%50%11%64%72%61%-34%-46%-30%-45%6%125%32%-71%26%15%-22%-30%76%-83%-11%-91%13%-68%-35%7%127%-14%74%-74%67%-96%-28%70%-127%126%-64%7%-110%73%-96%-121%-118%-111%111%104%-2%96%-112%-93%97%-16%68%96%-70%73%-32%76%116%-120%81%-9%56%120%-124%-20%13%-126%103%66%-65%50%5%92%-113%14%-47%-11%10%23%-113%-44%111%-62%-68%18%-98%101%2%-72%-41%13%79%70%-98%-26%-29%121%-35%113%41%126%-121%-40%-13%-36%-64%-109%-24%16%-63%-103%-68%60%66%42%95%67%98%127%86%-88%96%1%11%48%67%56%-73%25%57%4%74%-39%88%36%14%47%-27%2%-106%80%14%-79%-62%-40%33%80%-118%-6%-31%-61%83%-85%84%10%106%-96%-12%18%46%-48%100%-11%35%-6%-110%31%11%79%59%22%-87%-36%81%13%-100%-117%-111%127%-104%118%-116%-46%-110%19%88%-61%6%108%52%4%110%70%-121%-120%-27%116%8%74%14%-32%-110%11%82%-26%99%37%112%63%58%68%-60%31%22%120%-92%126%43%102%-103%-106%-118%-88%-81%0%-2%-114%-31%41%-8%59%43%60%66%106%87%99%0%104%-105%71%77%-46%-64%43%88%-127%9%105%90%1%-40%72%60%-77%-48%76%-89%34%77%96%101%95%84%92%96%84%-15%105%75%-7%-85%104%104%48%-106%-57%8%-84%-101%-128%106%-109%121%-73%-104%44%-71%51%4%77%-31%30%22%-127%-117%-47%1%19%-52%59%4%-54%-91%46%96%-53%49%67%-2%56%0%-92%98%125%76%-127%95%60%-17%-14%123%2%-84%57%87%49%-128%-103%-104%-51%-38%-24%-106%122%92%114%-76%53%-40%115%103%-88%-128%-25%-38%-64%-68%-21%-96%-103%-120%-83%33%-69%-15%63%8%57%-92%0%-34%-120%-63%-81%-68%-103%-77%67%-96%43%13%31%81%-7%56%-121%2%86%12%66%-34%60%-21%14%-127%82%-77%16%-115%-58%92%4%96%-35%100%-100%-102%-32%-113%67%-96%84%38%-94%-39%-34%55%101%-32%10%116%-120%-34%37%54%-15%-68%-7%120%36%18%71%120%-102%-128%59%-112%-41%94%111%103%96%86%-118%-79%-1%-31%72%-108%26%-127%-57%48%67%-124%-8%-17%16%40%-25%-79%60%118%-66%-1%16%120%1%-13%-105%75%-93%-100%-76%44%89%-24%110%-31%69%94%96%113%71%124%-49%41%118%56%4%37%-5%-63%29%-59%84%47%-112%-6%-82%-13%-52%-107%76%60%-46%-112%14%-18%56%64%18%-14%112%-63%-116%54%-20%122%88%-112%44%-8%100%125%37%97%62%-16%-30%-17%60%2%-34%5%-88%114%29%-21%-119%-48%94%-2%51%-20%-46%35%-32%-35%-22%15%-1%81%-40%95%68%-64%125%-28%86%27%66%-74%66%42%38%-127%125%71%-94%-41%45%54%-94%79%88%-84%-102%-76%-91%-10%61%92%-110%-61%-68%-91%-65%112%59%0%70%66%-71%55%74%124%-46%-80%5%19%70%-41%-85%-28%-127%-29%83%91%-84%-88%-117%-122%70%-52%-56%1%76%-119%17%15%-1%27%111%-92%-103%-126%-60%78%-73%108%-28%-3%22%1%-106%-125%15%18%31%-16%-2%112%-22%61%87%-40%-58%43%120%6%-20%-70%55%-111%38%32%41%-19%-122%-60%41%-4%-89%44%-6%82%58%2%-84%58%23%18%25%72%10%-80%37%35%44%-78%39%-68%121%-110%-48%-24%-53%77%-91%105%99%2%-2%19%-73%20%-62%70%59%2%120%-35%114%52%57%-80%-71%-8%-10%-43%52%71%-80%1%-23%-38%-25%127%0%104%-56%64%-121%-120%-109%79%115%-102%-86%-74%109%-72%13%13%57%-18%55%48%19%-33%89%120%-74%60%-47%92%-105%-82%68%98%100%30%-53%-120%9%57%-35%14%-84%5%-19%-127%25%-71%-14%-98%-123%121%42%-90%72%109%-60%-124%20%-10%0%91%1%41%56%37%3%-21%-88%-114%-57%0%127%-10%50%-9%-80%115%-19%-104%69%109%51%97%51%83%-47%-101%90%-57%60%-3%60%-74%120%94%71%67%99%-24%62%8%110%-41%-118%-30%80%-15%109%-85%1%64%90%-125%11%52%-31%6%61%75%-19%-128%-13%-15%4%66%88%109%113%-57%77%117%-82%-97%82%30%-27%-48%123%-4%-97%67%64%-41%-75%-35%-110%59%-2%68%117%-82%127%84%78%43%-70%24%123%48%59%90%-22%98%-100%-61%70%93%-32%103%-86%121%101%-97%-122%-38%98%69%-28%-104%-26%81%-67%54%-41%90%-75%-126%-86%19%-75%0%3%64%-76%-39%124%124%15%-5%18%-30%116%-58%-70%83%1%-21%38%82%59%41%115%-123%99%-19%108%92%117%35%24%-35%75%70%115%-81%18%-49%117%-123%-25%-71%111%4%120%-91%-98%-6%32%-35%-103%71%57%-116%126%-23%45%-20%120%-16%53%-12%125%-14%101%48%60%24%-59%-114%-57%-52%-114%112%123%36%46%-31%-34%127%-1%18%14%-113%-75%-44%88%-30%-58%61%111%-25%22%-50%124%76%29%-107%6%102%104%104%-79%-69%-6%-5%49%88%4%127%-51%-59%-93%-70%93%-30%50%-109%39%51%105%24%0%-62%127%-27%-32%81%53%-67%-112%100%-6%-20%105%57%-70%99%7%-29%-126%-68%6%119%97%-62%112%-19%-66%-124%22%80%-102%-122%-18%-40%-29%95%35%-32%-57%88%20%-59%-21%-88%107%-98%-82%-47%-57%-65%35%13%2%-64%1%60%119%-114%-52%-42%-47%-44%62%63%-92%-49%-13%18%43%-11%120%39%35%65%53%84%119%-111%-23%-100%-112%-46%-3%-24%-7%58%1%-32%114%103%80%12%-40%-84%-57%-45%61%3%-50%69%71%118%-90%104%22%-28%119%71%-127%-98%-72%80%-33%109%117%79%-71%-113%96%62%14%-38%-87%-111%-113%-85%-88%19%-82%-119%6%-101%33%-3%-117%3%25%-72%-10%90%-79%-113%-39%-22%-105%-95%7%13%49%-38%-18%25%92%-115%88%-117%-25%52%109%-103%-7%120%43%54%-50%-30%12%27%117%6%64%-23%29%-4%-7%-99%24%-7%-8%80%75%80%-32%-120%73%70%-73%77%60%-44%9%-60%32%-43%11%59%-125%-103%37%100%-105%33%-49%-8%62%-51%93%-22%4%-30%21%69%62%46%-60%-30%-39%-99%-62%54%97%14%72%-82%117%71%-30%108%-86%91%92%54%26%-25%-34%-30%-23%36%115%-36%-119%58%-117%45%79%-9%-73%56%-75%1%121%-29%-54%-75%44%-104%4%-110%99%-104%-113%-57%-62%-65%113%37%6%38%-6%-23%-36%70%49%9%36%-69%-96%86%-23%12%123%-123%108%8%12%-86%-102%-34%31%32%-39%36%7%-128%104%-72%-69%-106%41%-13%-62%-114%-14%-15%56%-127%-46%-30%-26%0%48%6%-118%-37%-13%-51%-25%75%-116%-102%-34%47%-96%55%94%-6%-14%-79%115%55%-116%-42%-114%-9%-15%-60%85%-36%-115%15%-34%-5%-91%37%-109%26%-119%115%-88%-22%-35%87%-88%-119%-17%62%-126%43%-69%82%90%127%-105%-69%-25%94%-123%-27%-53%-55%-34%72%26%-67%-61%68%99%-121%-1%82%50%33%-27%-84%-46%-81%-28%-52%-33%-90%-6%72%-1%3%78%-120%-67%33%108%33%82%26%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus"/>
- <icon xmi:type="uml:Image" xmi:id="_12mboEMLEeKGIL695HkFYQ" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%112%0%0%0%103%8%0%0%0%0%-3%88%-103%-76%0%0%7%56%73%68%65%84%104%-127%-75%-102%123%80%21%85%28%-57%-9%-18%-67%92%121%-91%40%-124%38%70%64%-26%11%-33%-118%-29%115%124%84%-90%83%106%-91%-93%2%-115%83%-90%102%-90%-7%-56%-55%-41%-104%58%-26%-116%-40%56%-102%-64%-116%-88%53%101%62%-54%102%-14%81%26%86%102%-58%4%78%102%-120%14%89%62%72%5%-15%9%72%112%-111%-57%-62%-23%42%23%-10%123%118%-49%-18%-98%-35%-69%-2%-2%-29%-100%-33%-2%62%-105%-35%-13%123%-100%-33%57%2%-31%23%-23%-20%-87%-101%-116%-31%-102%-69%38%108%16%-127%31%-105%-38%78%16%-100%83%47%-46%-93%-43%-97%116%17%-59%94%-23%53%-10%3%-85%-34%116%9%15%36%-106%34%86%39%63%28%20%-109%-1%-77%29%-72%-92%-111%39%8%-29%-85%96%52%-75%105%116%90%-75%-51%-64%-116%22%62%-53%66%-28%101%121%-76%122%96%-45%-88%-72%-76%-34%86%-32%-31%80%-95%89%-66%-105%-121%47%61%-39%60%-22%78%-77%19%120%-90%-83%-52%19%-14%-28%-15%-62%56%121%56%116%-97%125%-64%-62%-98%-64%-21%120%93%-98%-88%26%12%19%109%-114%-39%5%44%123%22%-52%10%91%112%-22%-101%64%-104%-119%62%103%15%80%74%114%-128%-43%23%-53%113%-50%-25%22%62%-23%117%-51%22%-32%42%39%-40%-20%83%76%79%-106%-67%-128%-60%81%-58%65%-57%24%-72%-93%5%88%-20%-112%-81%-100%-66%-103%-128%-60%-55%30%-65%-127%-103%-32%16%66%-21%-29%106%-123%11%79%-125%-126%56%-73%-42%79%96%126%52%-104%11%-38%-55%82%-55%121%28%84%2%-42%-7%7%-68%-34%11%95%-40%-70%58%-90%-46%-63%-57%64%39%-28%115%127%-128%-98%-25%-112%55%-29%-66%-122%-38%118%-4%-52%97%-121%-83%3%-91%-23%-24%16%99%52%51%66%-3%-121%34%-24%69%-99%-78%12%92%-29%2%59%61%-117%-75%21%107%-26%-32%-101%-24%-10%-113%69%-32%23%24%70%-94%114%-11%126%90%-59%68%36%14%101%21%6%-58%-64%19%-83%-64%70%-85%31%-12%120%-124%-108%12%69%-30%-72%50%11%64%72%61%-34%-46%-30%-45%6%125%32%-71%26%15%-22%-30%76%-83%-11%-91%13%-68%-35%7%127%-14%74%-74%67%-96%-28%70%-127%126%-64%7%-110%73%-96%-121%-118%-111%111%104%-2%96%-112%-93%97%-16%68%96%-70%73%-32%76%116%-120%81%-9%56%120%-124%-20%13%-126%103%66%-65%50%5%92%-113%14%-47%-11%10%23%-113%-44%111%-62%-68%18%-98%101%2%-72%-41%13%79%70%-98%-26%-29%121%-35%113%41%126%-121%-40%-13%-36%-64%-109%-24%16%-63%-103%-68%60%66%42%95%67%98%127%86%-88%96%1%11%48%67%56%-73%25%57%4%74%-39%88%36%14%47%-27%2%-106%80%14%-79%-62%-40%33%80%-118%-6%-31%-61%83%-85%84%10%106%-96%-12%18%46%-48%100%-11%35%-6%-110%31%11%79%59%22%-87%-36%81%13%-100%-117%-111%127%-104%118%-116%-46%-110%19%88%-61%6%108%52%4%110%70%-121%-120%-27%116%8%74%14%-32%-110%11%82%-26%99%37%112%63%58%68%-60%31%22%120%-92%126%43%102%-103%-106%-118%-88%-81%0%-2%-114%-31%41%-8%59%43%60%66%106%87%99%0%104%-105%71%77%-46%-64%43%88%-127%9%105%90%1%-40%72%60%-77%-48%76%-89%34%77%96%101%95%84%92%96%84%-15%105%75%-7%-85%104%104%48%-106%-57%8%-84%-101%-128%106%-109%121%-73%-104%44%-71%51%4%77%-31%30%22%-127%-117%-47%1%19%-52%59%4%-54%-91%46%96%-53%49%67%-2%56%0%-92%98%125%76%-127%95%60%-17%-14%123%2%-84%57%87%49%-128%-103%-104%-51%-38%-24%-106%122%92%114%-76%53%-40%115%103%-88%-128%-25%-38%-64%-68%-21%-96%-103%-120%-83%33%-69%-15%63%8%57%-92%0%-34%-120%-63%-81%-68%-103%-77%67%-96%43%13%31%81%-7%56%-121%2%86%12%66%-34%60%-21%14%-127%82%-77%16%-115%-58%92%4%96%-35%100%-100%-102%-32%-113%67%-96%84%38%-94%-39%-34%55%101%-32%10%116%-120%-34%37%54%-15%-68%-7%120%36%18%71%120%-102%-128%59%-112%-41%94%111%103%96%86%-118%-79%-1%-31%72%-108%26%-127%-57%48%67%-124%-8%-17%16%40%-25%-79%60%118%-66%-1%16%120%1%-13%-105%75%-93%-100%-76%44%89%-24%110%-31%69%94%96%113%71%124%-49%41%118%56%4%37%-5%-63%29%-59%84%47%-112%-6%-82%-13%-52%-107%76%60%-46%-112%14%-18%56%64%18%-14%112%-63%-116%54%-20%122%88%-112%44%-8%100%125%37%97%62%-16%-30%-17%60%2%-34%5%-88%114%29%-21%-119%-48%94%-2%51%-20%-46%35%-32%-35%-22%15%-1%81%-40%95%68%-64%125%-28%86%27%66%-74%66%42%38%-127%125%71%-94%-41%45%54%-94%79%88%-84%-102%-76%-91%-10%61%92%-110%-61%-68%-91%-65%112%59%0%70%66%-71%55%74%124%-46%-80%5%19%70%-41%-85%-28%-127%-29%83%91%-84%-88%-117%-122%70%-52%-56%1%76%-119%17%15%-1%27%111%-92%-103%-126%-60%78%-73%108%-28%-3%22%1%-106%-125%15%18%31%-16%-2%112%-22%61%87%-40%-58%43%120%6%-20%-70%55%-111%38%32%41%-19%-122%-60%41%-4%-89%44%-6%82%58%2%-84%58%23%18%25%72%10%-80%37%35%44%-78%39%-68%121%-110%-48%-24%-53%77%-91%105%99%2%-2%19%-73%20%-62%70%59%2%120%-35%114%52%57%-80%-71%-8%-10%-43%52%71%-80%1%-23%-38%-25%127%0%104%-56%64%-121%-120%-109%79%115%-102%-86%-74%109%-72%13%13%57%-18%55%48%19%-33%89%120%-74%60%-47%92%-105%-82%68%98%100%30%-53%-120%9%57%-35%14%-84%5%-19%-127%25%-71%-14%-98%-123%121%42%-90%72%109%-60%-124%20%-10%0%91%1%41%56%37%3%-21%-88%-114%-57%0%127%-10%50%-9%-80%115%-19%-104%69%109%51%97%51%83%-47%-101%90%-57%60%-3%60%-74%120%94%71%67%99%-24%62%8%110%-41%-118%-30%80%-15%109%-85%1%64%90%-125%11%52%-31%6%61%75%-19%-128%-13%-15%4%66%88%109%113%-57%77%117%-82%-97%82%30%-27%-48%123%-4%-97%67%64%-41%-75%-35%-110%59%-2%68%117%-82%127%84%78%43%-70%24%123%48%59%90%-22%98%-100%-61%70%93%-32%103%-86%121%101%-97%-122%-38%98%69%-28%-104%-26%81%-67%54%-41%90%-75%-126%-86%19%-75%0%3%64%-76%-39%124%124%15%-5%18%-30%116%-58%-70%83%1%-21%38%82%59%41%115%-123%99%-19%108%92%117%35%24%-35%75%70%115%-81%18%-49%117%-123%-25%-71%111%4%120%-91%-98%-6%32%-35%-103%71%57%-116%126%-23%45%-20%120%-16%53%-12%125%-14%101%48%60%24%-59%-114%-57%-52%-114%112%123%36%46%-31%-34%127%-1%18%14%-113%-75%-44%88%-30%-58%61%111%-25%22%-50%124%76%29%-107%6%102%104%104%-79%-69%-6%-5%49%88%4%127%-51%-59%-93%-70%93%-30%50%-109%39%51%105%24%0%-62%127%-27%-32%81%53%-67%-112%100%-6%-20%105%57%-70%99%7%-29%-126%-68%6%119%97%-62%112%-19%-66%-124%22%80%-102%-122%-18%-40%-29%95%35%-32%-57%88%20%-59%-21%-88%107%-98%-82%-47%-57%-65%35%13%2%-64%1%60%119%-114%-52%-42%-47%-44%62%63%-92%-49%-13%18%43%-11%120%39%35%65%53%84%119%-111%-23%-100%-112%-46%-3%-24%-7%58%1%-32%114%103%80%12%-40%-84%-57%-45%61%3%-50%69%71%118%-90%104%22%-28%119%71%-127%-98%-72%80%-33%109%117%79%-71%-113%96%62%14%-38%-87%-111%-113%-85%-88%19%-82%-119%6%-101%33%-3%-117%3%25%-72%-10%90%-79%-113%-39%-22%-105%-95%7%13%49%-38%-18%25%92%-115%88%-117%-25%52%109%-103%-7%120%43%54%-50%-30%12%27%117%6%64%-23%29%-4%-7%-99%24%-7%-8%80%75%80%-32%-120%73%70%-73%77%60%-44%9%-60%32%-43%11%59%-125%-103%37%100%-105%33%-49%-8%62%-51%93%-22%4%-30%21%69%62%46%-60%-30%-39%-99%-62%54%97%14%72%-82%117%71%-30%108%-86%91%92%54%26%-25%-34%-30%-23%36%115%-36%-119%58%-117%45%79%-9%-73%56%-75%1%121%-29%-54%-75%44%-104%4%-110%99%-104%-113%-57%-62%-65%113%37%6%38%-6%-23%-36%70%49%9%36%-69%-96%86%-23%12%123%-123%108%8%12%-86%-102%-34%31%32%-39%36%7%-128%104%-72%-69%-106%41%-13%-62%-114%-14%-15%56%-127%-46%-30%-26%0%48%6%-118%-37%-13%-51%-25%75%-116%-102%-34%47%-96%55%94%-6%-14%-79%115%55%-116%-42%-114%-9%-15%-60%85%-36%-115%15%-34%-5%-91%37%-109%26%-119%115%-88%-22%-35%87%-88%-119%-17%62%-126%43%-69%82%90%127%-105%-69%-25%94%-123%-27%-53%-55%-34%72%26%-67%-61%68%99%-121%-1%82%50%33%-27%-84%-46%-81%-28%-52%-33%-90%-6%72%-1%3%78%-120%-67%33%108%33%82%26%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus"/>
+ <icon xmi:id="_0I0rMEMLEeKGIL695HkFYQ" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%112%0%0%0%103%8%0%0%0%0%-3%88%-103%-76%0%0%7%56%73%68%65%84%104%-127%-75%-102%123%80%21%85%28%-57%-9%-18%-67%92%121%-91%40%-124%38%70%64%-26%11%-33%-118%-29%115%124%84%-90%83%106%-91%-93%2%-115%83%-90%102%-90%-7%-56%-55%-41%-104%58%-26%-116%-40%56%-102%-64%-116%-88%53%101%62%-54%102%-14%81%26%86%102%-58%4%78%102%-120%14%89%62%72%5%-15%9%72%112%-111%-57%-62%-23%42%23%-10%123%118%-49%-18%-98%-35%-69%-2%-2%-29%-100%-33%-2%62%-105%-35%-13%123%-100%-33%57%2%-31%23%-23%-20%-87%-101%-116%-31%-102%-69%38%108%16%-127%31%-105%-38%78%16%-100%83%47%-46%-93%-43%-97%116%17%-59%94%-23%53%-10%3%-85%-34%116%9%15%36%-106%34%86%39%63%28%20%-109%-1%-77%29%-72%-92%-111%39%8%-29%-85%96%52%-75%105%116%90%-75%-51%-64%-116%22%62%-53%66%-28%101%121%-76%122%96%-45%-88%-72%-76%-34%86%-32%-31%80%-95%89%-66%-105%-121%47%61%-39%60%-22%78%-77%19%120%-90%-83%-52%19%-14%-28%-15%-62%56%121%56%116%-97%125%-64%-62%-98%-64%-21%120%93%-98%-88%26%12%19%109%-114%-39%5%44%123%22%-52%10%91%112%-22%-101%64%-104%-119%62%103%15%80%74%114%-128%-43%23%-53%113%-50%-25%22%62%-23%117%-51%22%-32%42%39%-40%-20%83%76%79%-106%-67%-128%-60%81%-58%65%-57%24%-72%-93%5%88%-20%-112%-81%-100%-66%-103%-128%-60%-55%30%-65%-127%-103%-32%16%66%-21%-29%106%-123%11%79%-125%-126%56%-73%-42%79%96%126%52%-104%11%-38%-55%82%-55%121%28%84%2%-42%-7%7%-68%-34%11%95%-40%-70%58%-90%-46%-63%-57%64%39%-28%115%127%-128%-98%-25%-112%55%-29%-66%-122%-38%118%-4%-52%97%-121%-83%3%-91%-23%-24%16%99%52%51%66%-3%-121%34%-24%69%-99%-78%12%92%-29%2%59%61%-117%-75%21%107%-26%-32%-101%-24%-10%-113%69%-32%23%24%70%-94%114%-11%126%90%-59%68%36%14%101%21%6%-58%-64%19%-83%-64%70%-85%31%-12%120%-124%-108%12%69%-30%-72%50%11%64%72%61%-34%-46%-30%-45%6%125%32%-71%26%15%-22%-30%76%-83%-11%-91%13%-68%-35%7%127%-14%74%-74%67%-96%-28%70%-127%126%-64%7%-110%73%-96%-121%-118%-111%111%104%-2%96%-112%-93%97%-16%68%96%-70%73%-32%76%116%-120%81%-9%56%120%-124%-20%13%-126%103%66%-65%50%5%92%-113%14%-47%-11%10%23%-113%-44%111%-62%-68%18%-98%101%2%-72%-41%13%79%70%-98%-26%-29%121%-35%113%41%126%-121%-40%-13%-36%-64%-109%-24%16%-63%-103%-68%60%66%42%95%67%98%127%86%-88%96%1%11%48%67%56%-73%25%57%4%74%-39%88%36%14%47%-27%2%-106%80%14%-79%-62%-40%33%80%-118%-6%-31%-61%83%-85%84%10%106%-96%-12%18%46%-48%100%-11%35%-6%-110%31%11%79%59%22%-87%-36%81%13%-100%-117%-111%127%-104%118%-116%-46%-110%19%88%-61%6%108%52%4%110%70%-121%-120%-27%116%8%74%14%-32%-110%11%82%-26%99%37%112%63%58%68%-60%31%22%120%-92%126%43%102%-103%-106%-118%-88%-81%0%-2%-114%-31%41%-8%59%43%60%66%106%87%99%0%104%-105%71%77%-46%-64%43%88%-127%9%105%90%1%-40%72%60%-77%-48%76%-89%34%77%96%101%95%84%92%96%84%-15%105%75%-7%-85%104%104%48%-106%-57%8%-84%-101%-128%106%-109%121%-73%-104%44%-71%51%4%77%-31%30%22%-127%-117%-47%1%19%-52%59%4%-54%-91%46%96%-53%49%67%-2%56%0%-92%98%125%76%-127%95%60%-17%-14%123%2%-84%57%87%49%-128%-103%-104%-51%-38%-24%-106%122%92%114%-76%53%-40%115%103%-88%-128%-25%-38%-64%-68%-21%-96%-103%-120%-83%33%-69%-15%63%8%57%-92%0%-34%-120%-63%-81%-68%-103%-77%67%-96%43%13%31%81%-7%56%-121%2%86%12%66%-34%60%-21%14%-127%82%-77%16%-115%-58%92%4%96%-35%100%-100%-102%-32%-113%67%-96%84%38%-94%-39%-34%55%101%-32%10%116%-120%-34%37%54%-15%-68%-7%120%36%18%71%120%-102%-128%59%-112%-41%94%111%103%96%86%-118%-79%-1%-31%72%-108%26%-127%-57%48%67%-124%-8%-17%16%40%-25%-79%60%118%-66%-1%16%120%1%-13%-105%75%-93%-100%-76%44%89%-24%110%-31%69%94%96%113%71%124%-49%41%118%56%4%37%-5%-63%29%-59%84%47%-112%-6%-82%-13%-52%-107%76%60%-46%-112%14%-18%56%64%18%-14%112%-63%-116%54%-20%122%88%-112%44%-8%100%125%37%97%62%-16%-30%-17%60%2%-34%5%-88%114%29%-21%-119%-48%94%-2%51%-20%-46%35%-32%-35%-22%15%-1%81%-40%95%68%-64%125%-28%86%27%66%-74%66%42%38%-127%125%71%-94%-41%45%54%-94%79%88%-84%-102%-76%-91%-10%61%92%-110%-61%-68%-91%-65%112%59%0%70%66%-71%55%74%124%-46%-80%5%19%70%-41%-85%-28%-127%-29%83%91%-84%-88%-117%-122%70%-52%-56%1%76%-119%17%15%-1%27%111%-92%-103%-126%-60%78%-73%108%-28%-3%22%1%-106%-125%15%18%31%-16%-2%112%-22%61%87%-40%-58%43%120%6%-20%-70%55%-111%38%32%41%-19%-122%-60%41%-4%-89%44%-6%82%58%2%-84%58%23%18%25%72%10%-80%37%35%44%-78%39%-68%121%-110%-48%-24%-53%77%-91%105%99%2%-2%19%-73%20%-62%70%59%2%120%-35%114%52%57%-80%-71%-8%-10%-43%52%71%-80%1%-23%-38%-25%127%0%104%-56%64%-121%-120%-109%79%115%-102%-86%-74%109%-72%13%13%57%-18%55%48%19%-33%89%120%-74%60%-47%92%-105%-82%68%98%100%30%-53%-120%9%57%-35%14%-84%5%-19%-127%25%-71%-14%-98%-123%121%42%-90%72%109%-60%-124%20%-10%0%91%1%41%56%37%3%-21%-88%-114%-57%0%127%-10%50%-9%-80%115%-19%-104%69%109%51%97%51%83%-47%-101%90%-57%60%-3%60%-74%120%94%71%67%99%-24%62%8%110%-41%-118%-30%80%-15%109%-85%1%64%90%-125%11%52%-31%6%61%75%-19%-128%-13%-15%4%66%88%109%113%-57%77%117%-82%-97%82%30%-27%-48%123%-4%-97%67%64%-41%-75%-35%-110%59%-2%68%117%-82%127%84%78%43%-70%24%123%48%59%90%-22%98%-100%-61%70%93%-32%103%-86%121%101%-97%-122%-38%98%69%-28%-104%-26%81%-67%54%-41%90%-75%-126%-86%19%-75%0%3%64%-76%-39%124%124%15%-5%18%-30%116%-58%-70%83%1%-21%38%82%59%41%115%-123%99%-19%108%92%117%35%24%-35%75%70%115%-81%18%-49%117%-123%-25%-71%111%4%120%-91%-98%-6%32%-35%-103%71%57%-116%126%-23%45%-20%120%-16%53%-12%125%-14%101%48%60%24%-59%-114%-57%-52%-114%112%123%36%46%-31%-34%127%-1%18%14%-113%-75%-44%88%-30%-58%61%111%-25%22%-50%124%76%29%-107%6%102%104%104%-79%-69%-6%-5%49%88%4%127%-51%-59%-93%-70%93%-30%50%-109%39%51%105%24%0%-62%127%-27%-32%81%53%-67%-112%100%-6%-20%105%57%-70%99%7%-29%-126%-68%6%119%97%-62%112%-19%-66%-124%22%80%-102%-122%-18%-40%-29%95%35%-32%-57%88%20%-59%-21%-88%107%-98%-82%-47%-57%-65%35%13%2%-64%1%60%119%-114%-52%-42%-47%-44%62%63%-92%-49%-13%18%43%-11%120%39%35%65%53%84%119%-111%-23%-100%-112%-46%-3%-24%-7%58%1%-32%114%103%80%12%-40%-84%-57%-45%61%3%-50%69%71%118%-90%104%22%-28%119%71%-127%-98%-72%80%-33%109%117%79%-71%-113%96%62%14%-38%-87%-111%-113%-85%-88%19%-82%-119%6%-101%33%-3%-117%3%25%-72%-10%90%-79%-113%-39%-22%-105%-95%7%13%49%-38%-18%25%92%-115%88%-117%-25%52%109%-103%-7%120%43%54%-50%-30%12%27%117%6%64%-23%29%-4%-7%-99%24%-7%-8%80%75%80%-32%-120%73%70%-73%77%60%-44%9%-60%32%-43%11%59%-125%-103%37%100%-105%33%-49%-8%62%-51%93%-22%4%-30%21%69%62%46%-60%-30%-39%-99%-62%54%97%14%72%-82%117%71%-30%108%-86%91%92%54%26%-25%-34%-30%-23%36%115%-36%-119%58%-117%45%79%-9%-73%56%-75%1%121%-29%-54%-75%44%-104%4%-110%99%-104%-113%-57%-62%-65%113%37%6%38%-6%-23%-36%70%49%9%36%-69%-96%86%-23%12%123%-123%108%8%12%-86%-102%-34%31%32%-39%36%7%-128%104%-72%-69%-106%41%-13%-62%-114%-14%-15%56%-127%-46%-30%-26%0%48%6%-118%-37%-13%-51%-25%75%-116%-102%-34%47%-96%55%94%-6%-14%-79%115%55%-116%-42%-114%-9%-15%-60%85%-36%-115%15%-34%-5%-91%37%-109%26%-119%115%-88%-22%-35%87%-88%-119%-17%62%-126%43%-69%82%90%127%-105%-69%-25%94%-123%-27%-53%-55%-34%72%26%-67%-61%68%99%-121%-1%82%50%33%-27%-84%-46%-81%-28%-52%-33%-90%-6%72%-1%3%78%-120%-67%33%108%33%82%26%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus"/>
+ <icon xmi:id="_12mboEMLEeKGIL695HkFYQ" content="-119%80%78%71%13%10%26%10%0%0%0%13%73%72%68%82%0%0%0%112%0%0%0%103%8%0%0%0%0%-3%88%-103%-76%0%0%7%56%73%68%65%84%104%-127%-75%-102%123%80%21%85%28%-57%-9%-18%-67%92%121%-91%40%-124%38%70%64%-26%11%-33%-118%-29%115%124%84%-90%83%106%-91%-93%2%-115%83%-90%102%-90%-7%-56%-55%-41%-104%58%-26%-116%-40%56%-102%-64%-116%-88%53%101%62%-54%102%-14%81%26%86%102%-58%4%78%102%-120%14%89%62%72%5%-15%9%72%112%-111%-57%-62%-23%42%23%-10%123%118%-49%-18%-98%-35%-69%-2%-2%-29%-100%-33%-2%62%-105%-35%-13%123%-100%-33%57%2%-31%23%-23%-20%-87%-101%-116%-31%-102%-69%38%108%16%-127%31%-105%-38%78%16%-100%83%47%-46%-93%-43%-97%116%17%-59%94%-23%53%-10%3%-85%-34%116%9%15%36%-106%34%86%39%63%28%20%-109%-1%-77%29%-72%-92%-111%39%8%-29%-85%96%52%-75%105%116%90%-75%-51%-64%-116%22%62%-53%66%-28%101%121%-76%122%96%-45%-88%-72%-76%-34%86%-32%-31%80%-95%89%-66%-105%-121%47%61%-39%60%-22%78%-77%19%120%-90%-83%-52%19%-14%-28%-15%-62%56%121%56%116%-97%125%-64%-62%-98%-64%-21%120%93%-98%-88%26%12%19%109%-114%-39%5%44%123%22%-52%10%91%112%-22%-101%64%-104%-119%62%103%15%80%74%114%-128%-43%23%-53%113%-50%-25%22%62%-23%117%-51%22%-32%42%39%-40%-20%83%76%79%-106%-67%-128%-60%81%-58%65%-57%24%-72%-93%5%88%-20%-112%-81%-100%-66%-103%-128%-60%-55%30%-65%-127%-103%-32%16%66%-21%-29%106%-123%11%79%-125%-126%56%-73%-42%79%96%126%52%-104%11%-38%-55%82%-55%121%28%84%2%-42%-7%7%-68%-34%11%95%-40%-70%58%-90%-46%-63%-57%64%39%-28%115%127%-128%-98%-25%-112%55%-29%-66%-122%-38%118%-4%-52%97%-121%-83%3%-91%-23%-24%16%99%52%51%66%-3%-121%34%-24%69%-99%-78%12%92%-29%2%59%61%-117%-75%21%107%-26%-32%-101%-24%-10%-113%69%-32%23%24%70%-94%114%-11%126%90%-59%68%36%14%101%21%6%-58%-64%19%-83%-64%70%-85%31%-12%120%-124%-108%12%69%-30%-72%50%11%64%72%61%-34%-46%-30%-45%6%125%32%-71%26%15%-22%-30%76%-83%-11%-91%13%-68%-35%7%127%-14%74%-74%67%-96%-28%70%-127%126%-64%7%-110%73%-96%-121%-118%-111%111%104%-2%96%-112%-93%97%-16%68%96%-70%73%-32%76%116%-120%81%-9%56%120%-124%-20%13%-126%103%66%-65%50%5%92%-113%14%-47%-11%10%23%-113%-44%111%-62%-68%18%-98%101%2%-72%-41%13%79%70%-98%-26%-29%121%-35%113%41%126%-121%-40%-13%-36%-64%-109%-24%16%-63%-103%-68%60%66%42%95%67%98%127%86%-88%96%1%11%48%67%56%-73%25%57%4%74%-39%88%36%14%47%-27%2%-106%80%14%-79%-62%-40%33%80%-118%-6%-31%-61%83%-85%84%10%106%-96%-12%18%46%-48%100%-11%35%-6%-110%31%11%79%59%22%-87%-36%81%13%-100%-117%-111%127%-104%118%-116%-46%-110%19%88%-61%6%108%52%4%110%70%-121%-120%-27%116%8%74%14%-32%-110%11%82%-26%99%37%112%63%58%68%-60%31%22%120%-92%126%43%102%-103%-106%-118%-88%-81%0%-2%-114%-31%41%-8%59%43%60%66%106%87%99%0%104%-105%71%77%-46%-64%43%88%-127%9%105%90%1%-40%72%60%-77%-48%76%-89%34%77%96%101%95%84%92%96%84%-15%105%75%-7%-85%104%104%48%-106%-57%8%-84%-101%-128%106%-109%121%-73%-104%44%-71%51%4%77%-31%30%22%-127%-117%-47%1%19%-52%59%4%-54%-91%46%96%-53%49%67%-2%56%0%-92%98%125%76%-127%95%60%-17%-14%123%2%-84%57%87%49%-128%-103%-104%-51%-38%-24%-106%122%92%114%-76%53%-40%115%103%-88%-128%-25%-38%-64%-68%-21%-96%-103%-120%-83%33%-69%-15%63%8%57%-92%0%-34%-120%-63%-81%-68%-103%-77%67%-96%43%13%31%81%-7%56%-121%2%86%12%66%-34%60%-21%14%-127%82%-77%16%-115%-58%92%4%96%-35%100%-100%-102%-32%-113%67%-96%84%38%-94%-39%-34%55%101%-32%10%116%-120%-34%37%54%-15%-68%-7%120%36%18%71%120%-102%-128%59%-112%-41%94%111%103%96%86%-118%-79%-1%-31%72%-108%26%-127%-57%48%67%-124%-8%-17%16%40%-25%-79%60%118%-66%-1%16%120%1%-13%-105%75%-93%-100%-76%44%89%-24%110%-31%69%94%96%113%71%124%-49%41%118%56%4%37%-5%-63%29%-59%84%47%-112%-6%-82%-13%-52%-107%76%60%-46%-112%14%-18%56%64%18%-14%112%-63%-116%54%-20%122%88%-112%44%-8%100%125%37%97%62%-16%-30%-17%60%2%-34%5%-88%114%29%-21%-119%-48%94%-2%51%-20%-46%35%-32%-35%-22%15%-1%81%-40%95%68%-64%125%-28%86%27%66%-74%66%42%38%-127%125%71%-94%-41%45%54%-94%79%88%-84%-102%-76%-91%-10%61%92%-110%-61%-68%-91%-65%112%59%0%70%66%-71%55%74%124%-46%-80%5%19%70%-41%-85%-28%-127%-29%83%91%-84%-88%-117%-122%70%-52%-56%1%76%-119%17%15%-1%27%111%-92%-103%-126%-60%78%-73%108%-28%-3%22%1%-106%-125%15%18%31%-16%-2%112%-22%61%87%-40%-58%43%120%6%-20%-70%55%-111%38%32%41%-19%-122%-60%41%-4%-89%44%-6%82%58%2%-84%58%23%18%25%72%10%-80%37%35%44%-78%39%-68%121%-110%-48%-24%-53%77%-91%105%99%2%-2%19%-73%20%-62%70%59%2%120%-35%114%52%57%-80%-71%-8%-10%-43%52%71%-80%1%-23%-38%-25%127%0%104%-56%64%-121%-120%-109%79%115%-102%-86%-74%109%-72%13%13%57%-18%55%48%19%-33%89%120%-74%60%-47%92%-105%-82%68%98%100%30%-53%-120%9%57%-35%14%-84%5%-19%-127%25%-71%-14%-98%-123%121%42%-90%72%109%-60%-124%20%-10%0%91%1%41%56%37%3%-21%-88%-114%-57%0%127%-10%50%-9%-80%115%-19%-104%69%109%51%97%51%83%-47%-101%90%-57%60%-3%60%-74%120%94%71%67%99%-24%62%8%110%-41%-118%-30%80%-15%109%-85%1%64%90%-125%11%52%-31%6%61%75%-19%-128%-13%-15%4%66%88%109%113%-57%77%117%-82%-97%82%30%-27%-48%123%-4%-97%67%64%-41%-75%-35%-110%59%-2%68%117%-82%127%84%78%43%-70%24%123%48%59%90%-22%98%-100%-61%70%93%-32%103%-86%121%101%-97%-122%-38%98%69%-28%-104%-26%81%-67%54%-41%90%-75%-126%-86%19%-75%0%3%64%-76%-39%124%124%15%-5%18%-30%116%-58%-70%83%1%-21%38%82%59%41%115%-123%99%-19%108%92%117%35%24%-35%75%70%115%-81%18%-49%117%-123%-25%-71%111%4%120%-91%-98%-6%32%-35%-103%71%57%-116%126%-23%45%-20%120%-16%53%-12%125%-14%101%48%60%24%-59%-114%-57%-52%-114%112%123%36%46%-31%-34%127%-1%18%14%-113%-75%-44%88%-30%-58%61%111%-25%22%-50%124%76%29%-107%6%102%104%104%-79%-69%-6%-5%49%88%4%127%-51%-59%-93%-70%93%-30%50%-109%39%51%105%24%0%-62%127%-27%-32%81%53%-67%-112%100%-6%-20%105%57%-70%99%7%-29%-126%-68%6%119%97%-62%112%-19%-66%-124%22%80%-102%-122%-18%-40%-29%95%35%-32%-57%88%20%-59%-21%-88%107%-98%-82%-47%-57%-65%35%13%2%-64%1%60%119%-114%-52%-42%-47%-44%62%63%-92%-49%-13%18%43%-11%120%39%35%65%53%84%119%-111%-23%-100%-112%-46%-3%-24%-7%58%1%-32%114%103%80%12%-40%-84%-57%-45%61%3%-50%69%71%118%-90%104%22%-28%119%71%-127%-98%-72%80%-33%109%117%79%-71%-113%96%62%14%-38%-87%-111%-113%-85%-88%19%-82%-119%6%-101%33%-3%-117%3%25%-72%-10%90%-79%-113%-39%-22%-105%-95%7%13%49%-38%-18%25%92%-115%88%-117%-25%52%109%-103%-7%120%43%54%-50%-30%12%27%117%6%64%-23%29%-4%-7%-99%24%-7%-8%80%75%80%-32%-120%73%70%-73%77%60%-44%9%-60%32%-43%11%59%-125%-103%37%100%-105%33%-49%-8%62%-51%93%-22%4%-30%21%69%62%46%-60%-30%-39%-99%-62%54%97%14%72%-82%117%71%-30%108%-86%91%92%54%26%-25%-34%-30%-23%36%115%-36%-119%58%-117%45%79%-9%-73%56%-75%1%121%-29%-54%-75%44%-104%4%-110%99%-104%-113%-57%-62%-65%113%37%6%38%-6%-23%-36%70%49%9%36%-69%-96%86%-23%12%123%-123%108%8%12%-86%-102%-34%31%32%-39%36%7%-128%104%-72%-69%-106%41%-13%-62%-114%-14%-15%56%-127%-46%-30%-26%0%48%6%-118%-37%-13%-51%-25%75%-116%-102%-34%47%-96%55%94%-6%-14%-79%115%55%-116%-42%-114%-9%-15%-60%85%-36%-115%15%-34%-5%-91%37%-109%26%-119%115%-88%-22%-35%87%-88%-119%-17%62%-126%43%-69%82%90%127%-105%-69%-25%94%-123%-27%-53%-55%-34%72%26%-67%-61%68%99%-121%-1%82%50%33%-27%-84%-46%-81%-28%-52%-33%-90%-6%72%-1%3%78%-120%-67%33%108%33%82%26%0%0%0%0%73%69%78%68%-82%66%96%-126%" format="Papyrus"/>
</packagedElement>
+ <packagedElement xmi:type="uml:Interface" xmi:id="_1FxlEH-QEeOtkrzuMiGEow" name="Please update derived elements"/>
</packagedElement>
<packagedElement xmi:type="uml:Package" xmi:id="_HmnpEJsrEd61Eo3nmu3JhQ" name="StdPorts">
- <ownedComment xmi:type="uml:Comment" xmi:id="_Yq-O8Nt2Ed6nqsBVkgJEEA" annotatedElement="_-WNegNtxEd6nqsBVkgJEEA">
+ <ownedComment xmi:id="_Yq-O8Nt2Ed6nqsBVkgJEEA" annotatedElement="_-WNegNtxEd6nqsBVkgJEEA">
<body>Is called during component activation &amp; deactivation. The two functions may not block i.e. return control to the caller after &quot;a very short&quot; period</body>
</ownedComment>
- <ownedComment xmi:type="uml:Comment" xmi:id="_OcN78Nt2Ed6nqsBVkgJEEA" annotatedElement="_N6fa4JsrEd61Eo3nmu3JhQ">
+ <ownedComment xmi:id="_OcN78Nt2Ed6nqsBVkgJEEA" annotatedElement="_N6fa4JsrEd61Eo3nmu3JhQ">
<body>Is called during startup. Expected to block. Only one component instance per node may define it.</body>
</ownedComment>
<packagedElement xmi:type="uml:Class" xmi:id="_N6fa4JsrEd61Eo3nmu3JhQ" name="Cstart" isAbstract="true">
@@ -848,22 +852,22 @@ m_state = FOLLOWER;</body>
</packagedElement>
</packagedElement>
<packagedElement xmi:type="uml:Package" xmi:id="_xtlE8ARAEd--t-uhRn9OBA" name="ContainerServices">
- <ownedComment xmi:type="uml:Comment" xmi:id="_hGEOAMT8Ed-zx4a_r4xAYw" annotatedElement="_SiY_AP-EEd6628OhKk_dpg">
+ <ownedComment xmi:id="_hGEOAMT8Ed-zx4a_r4xAYw" annotatedElement="_SiY_AP-EEd6628OhKk_dpg">
<body>A thread service supporting the LifeCycle port. Once started, it calls the activate operation (via the required port rLC) of a connected component in a new thread of a specific priority (a configuration attribute). This C++ implementation is based on the POSIX pthread library. It will further assume that the execution is done with root privileges, since these are required to set the thread priority. The thread properties assume round-robin (SCHED_RR) scheduling.
</body>
</ownedComment>
- <ownedComment xmi:type="uml:Comment" xmi:id="_EuvHYCXREeGX6PuSE-DJlQ" annotatedElement="_5J9coCXQEeGX6PuSE-DJlQ">
+ <ownedComment xmi:id="_EuvHYCXREeGX6PuSE-DJlQ" annotatedElement="_5J9coCXQEeGX6PuSE-DJlQ">
<body> Interceptor variant of thread (inherits all, only difference to Thread superclass: tagged as connector)</body>
</ownedComment>
<packagedElement xmi:type="uml:Class" xmi:id="_SiY_AP-EEd6628OhKk_dpg" clientDependency="_lrFSQDz9Ed-v9PxuTj6Elw _wCkVcNYGEd-CgJIavLpOxQ" name="Thread">
- <ownedComment xmi:type="uml:Comment" xmi:id="_lCtoICnOEeGxrprK9wB9iA" annotatedElement="_rVfYoMGJEd-Mveea1W_olA">
+ <ownedComment xmi:id="_lCtoICnOEeGxrprK9wB9iA" annotatedElement="_rVfYoMGJEd-Mveea1W_olA">
<body>Priority of the thread. The interpretation of the value is OS specific. In case of POSIX; priorities are only taken into accound for threads with a FIFO and round-robin scheduliung policy.</body>
</ownedComment>
- <generalization xmi:type="uml:Generalization" xmi:id="_6bsEkARAEd--t-uhRn9OBA" general="_-WNegNtxEd6nqsBVkgJEEA"/>
+ <generalization xmi:id="_6bsEkARAEd--t-uhRn9OBA" general="_-WNegNtxEd6nqsBVkgJEEA"/>
<ownedAttribute xmi:type="uml:Port" xmi:id="_ZjdOAP-EEd6628OhKk_dpg" name="rLC" aggregation="composite">
<type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_rVfYoMGJEd-Mveea1W_olA" name="priority" visibility="public">
+ <ownedAttribute xmi:id="_rVfYoMGJEd-Mveea1W_olA" name="priority" visibility="public">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_e6XsEFjmEeKaM_PspnG53g" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_e6ckkFjmEeKaM_PspnG53g" value="1"/>
@@ -871,17 +875,17 @@ m_state = FOLLOWER;</body>
<value xsi:nil="true"/>
</defaultValue>
</ownedAttribute>
- <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_lrFSQDz9Ed-v9PxuTj6Elw" name="derived realization of ILifeCycle" client="_SiY_AP-EEd6628OhKk_dpg">
+ <interfaceRealization xmi:id="_lrFSQDz9Ed-v9PxuTj6Elw" name="derived realization of ILifeCycle" client="_SiY_AP-EEd6628OhKk_dpg">
<supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
- <contract xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
+ <contract href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
</interfaceRealization>
<ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_MWW4MAQyEd--t-uhRn9OBA" name="staticAct" specification="_yv198P-EEd6628OhKk_dpg">
- <ownedParameter xmi:type="uml:Parameter" xmi:id="_TJjA4CxyEeOMQpc6Y-MAJw" name="arg">
+ <ownedParameter xmi:id="_TJjA4CxyEeOMQpc6Y-MAJw" name="arg">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_TKI2wCxyEeOMQpc6Y-MAJw" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_TKVrECxyEeOMQpc6Y-MAJw" value="1"/>
</ownedParameter>
- <ownedParameter xmi:type="uml:Parameter" xmi:id="_TKyXACxyEeOMQpc6Y-MAJw" name="ret" direction="return">
+ <ownedParameter xmi:id="_TKyXACxyEeOMQpc6Y-MAJw" name="ret" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_TTLeACxyEeOMQpc6Y-MAJw" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_TTZgcCxyEeOMQpc6Y-MAJw" value="1"/>
@@ -904,23 +908,23 @@ pthread_setschedparam (pt, SCHED_RR, &amp;schedParam);
// TODO: check return code (in particular, SCHED_RR only works for root)
</body>
</ownedBehavior>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_yv198P-EEd6628OhKk_dpg" name="staticAct" isStatic="true" method="_MWW4MAQyEd--t-uhRn9OBA">
- <ownedParameter xmi:type="uml:Parameter" xmi:id="_1TXqoP-EEd6628OhKk_dpg" name="arg">
+ <ownedOperation xmi:id="_yv198P-EEd6628OhKk_dpg" name="staticAct" isStatic="true" method="_MWW4MAQyEd--t-uhRn9OBA">
+ <ownedParameter xmi:id="_1TXqoP-EEd6628OhKk_dpg" name="arg">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3MCccP-EEd6628OhKk_dpg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3MDDgP-EEd6628OhKk_dpg" value="1"/>
</ownedParameter>
- <ownedParameter xmi:type="uml:Parameter" xmi:id="_BywjgP-FEd6628OhKk_dpg" name="ret" direction="return">
+ <ownedParameter xmi:id="_BywjgP-FEd6628OhKk_dpg" name="ret" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
</ownedParameter>
</ownedOperation>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_JmxyMD16Ed-Bk-AHd6yyoA" name="activate" method="_oP6UcED4Ed-_DOja_sRgWA"/>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_JqB6gD16Ed-Bk-AHd6yyoA" name="deactivate"/>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_TBScwCxyEeOMQpc6Y-MAJw" name="configuration_complete"/>
+ <ownedOperation xmi:id="_JmxyMD16Ed-Bk-AHd6yyoA" name="activate" method="_oP6UcED4Ed-_DOja_sRgWA"/>
+ <ownedOperation xmi:id="_JqB6gD16Ed-Bk-AHd6yyoA" name="deactivate"/>
+ <ownedOperation xmi:id="_TBScwCxyEeOMQpc6Y-MAJw" name="configuration_complete"/>
</packagedElement>
<packagedElement xmi:type="uml:Dependency" xmi:id="_wCkVcNYGEd-CgJIavLpOxQ" name="ImplRequirement" client="_SiY_AP-EEd6628OhKk_dpg" supplier="_ea234NYGEd-CgJIavLpOxQ"/>
<packagedElement xmi:type="uml:Class" xmi:id="_WkkjoPNUEeCovO8AYZymZQ" name="CallEvent_">
- <ownedAttribute xmi:type="uml:Property" xmi:id="_YKtbAPNUEeCovO8AYZymZQ" name="operationID" visibility="public">
+ <ownedAttribute xmi:id="_YKtbAPNUEeCovO8AYZymZQ" name="operationID" visibility="public">
<type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_9XvcQB6REd6ITtm_FH3jRw"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aDHHEPNUEeCovO8AYZymZQ" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aDIVMPNUEeCovO8AYZymZQ" value="1"/>
@@ -928,19 +932,19 @@ pthread_setschedparam (pt, SCHED_RR, &amp;schedParam);
<value xsi:nil="true"/>
</defaultValue>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_gQGNwPNUEeCovO8AYZymZQ" name="kind" visibility="public" type="_jQjHAPNUEeCovO8AYZymZQ">
+ <ownedAttribute xmi:id="_gQGNwPNUEeCovO8AYZymZQ" name="kind" visibility="public" type="_jQjHAPNUEeCovO8AYZymZQ">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_imLUUPNUEeCovO8AYZymZQ" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_imL7YPNUEeCovO8AYZymZQ" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_imuG4PNUEeCovO8AYZymZQ">
<value xsi:nil="true"/>
</defaultValue>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_-_HCMBI0EeGU49ezpRnvLg" name="portID">
+ <ownedAttribute xmi:id="_-_HCMBI0EeGU49ezpRnvLg" name="portID">
<type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_9XvcQB6REd6ITtm_FH3jRw"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-_LToBI0EeGU49ezpRnvLg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-_L6sBI0EeGU49ezpRnvLg" value="1"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_qzHgkPNUEeCovO8AYZymZQ" name="params" visibility="public" type="_OU5asFaNEeKxltxu9uR4dg">
+ <ownedAttribute xmi:id="_qzHgkPNUEeCovO8AYZymZQ" name="params" visibility="public" type="_OU5asFaNEeKxltxu9uR4dg">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_sMOBgPNUEeCovO8AYZymZQ"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_sMPPoPNUEeCovO8AYZymZQ" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_sMRE0PNUEeCovO8AYZymZQ">
@@ -956,14 +960,14 @@ pthread_setschedparam (pt, SCHED_RR, &amp;schedParam);
<value xsi:nil="true"/>
</defaultValue>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_k-OpoPN8EeCovO8AYZymZQ" name="events" visibility="public" type="_WkkjoPNUEeCovO8AYZymZQ">
+ <ownedAttribute xmi:id="_k-OpoPN8EeCovO8AYZymZQ" name="events" visibility="public" type="_WkkjoPNUEeCovO8AYZymZQ">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mr7hkPN8EeCovO8AYZymZQ" value="20"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mr-k4PN8EeCovO8AYZymZQ" value="20"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_msGgsPN8EeCovO8AYZymZQ">
<value xsi:nil="true"/>
</defaultValue>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="__a1A0PQXEeCovO8AYZymZQ" name="m_size" visibility="public">
+ <ownedAttribute xmi:id="__a1A0PQXEeCovO8AYZymZQ" name="m_size" visibility="public">
<type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_A1N7MPQYEeCovO8AYZymZQ" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_A1OiQPQYEeCovO8AYZymZQ" value="1"/>
@@ -971,7 +975,7 @@ pthread_setschedparam (pt, SCHED_RR, &amp;schedParam);
<value xsi:nil="true"/>
</defaultValue>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_KnS5QPQYEeCovO8AYZymZQ" name="m_cond" visibility="public">
+ <ownedAttribute xmi:id="_KnS5QPQYEeCovO8AYZymZQ" name="m_cond" visibility="public">
<type xmi:type="uml:Class" href="pathmap://QML_CORE/osal.uml#_QWlVgPRTEeCUGrV0Hl4JwQ"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KyZ9EPQYEeCovO8AYZymZQ" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KyakIPQYEeCovO8AYZymZQ" value="1"/>
@@ -979,13 +983,13 @@ pthread_setschedparam (pt, SCHED_RR, &amp;schedParam);
<value xsi:nil="true"/>
</defaultValue>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_Ig_MUCSlEeG6GJ4vU06VYQ" name="ID_TIMEOUT" isStatic="true">
+ <ownedAttribute xmi:id="_Ig_MUCSlEeG6GJ4vU06VYQ" name="ID_TIMEOUT" isStatic="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IjAlkCSlEeG6GJ4vU06VYQ" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IjCawCSlEeG6GJ4vU06VYQ" value="1"/>
<defaultValue xmi:type="uml:LiteralInteger" xmi:id="_SjUM4CSlEeG6GJ4vU06VYQ" name="" value="-1"/>
</ownedAttribute>
- <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_mI0xEPQXEeCovO8AYZymZQ" name="derived realization of IPoolControl" client="_JRmo0PNAEeCovO8AYZymZQ" supplier="_omxU4PNAEeCovO8AYZymZQ" contract="_omxU4PNAEeCovO8AYZymZQ"/>
+ <interfaceRealization xmi:id="_mI0xEPQXEeCovO8AYZymZQ" name="derived realization of IPoolControl" client="_JRmo0PNAEeCovO8AYZymZQ" supplier="_omxU4PNAEeCovO8AYZymZQ" contract="_omxU4PNAEeCovO8AYZymZQ"/>
<ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_2HjeoPQXEeCovO8AYZymZQ" name="writeEvent" specification="_f1HmEPQREeCovO8AYZymZQ0">
<language>C/C++</language>
<body>events[0] = event;
@@ -1014,56 +1018,56 @@ return events[0];</body>
<language>C/C++</language>
<body>m_cond.lock();</body>
</ownedBehavior>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_tK0poPQWEeCovO8AYZymZQ0" name="readEvent" method="_9xRCAPQXEeCovO8AYZymZQ">
- <ownedParameter xmi:type="uml:Parameter" xmi:id="_HUTnoCVyEeGaL60JjVj19Q" name="timeout">
+ <ownedOperation xmi:id="_tK0poPQWEeCovO8AYZymZQ0" name="readEvent" method="_9xRCAPQXEeCovO8AYZymZQ">
+ <ownedParameter xmi:id="_HUTnoCVyEeGaL60JjVj19Q" name="timeout">
<type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HUWq8CVyEeGaL60JjVj19Q" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HUXSACVyEeGaL60JjVj19Q" value="1"/>
</ownedParameter>
- <ownedParameter xmi:type="uml:Parameter" xmi:id="_HUZHMCVyEeGaL60JjVj19Q" type="_WkkjoPNUEeCovO8AYZymZQ" direction="return">
+ <ownedParameter xmi:id="_HUZHMCVyEeGaL60JjVj19Q" type="_WkkjoPNUEeCovO8AYZymZQ" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HUbjcCVyEeGaL60JjVj19Q" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HUcxkCVyEeGaL60JjVj19Q" value="1"/>
</ownedParameter>
</ownedOperation>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_FBMo4PQXEeCovO8AYZymZQ0" name="size" method="_5Sw2YPQXEeCovO8AYZymZQ">
- <ownedParameter xmi:type="uml:Parameter" xmi:id="_mKtAYPQXEeCovO8AYZymZQ" direction="return">
+ <ownedOperation xmi:id="_FBMo4PQXEeCovO8AYZymZQ0" name="size" method="_5Sw2YPQXEeCovO8AYZymZQ">
+ <ownedParameter xmi:id="_mKtAYPQXEeCovO8AYZymZQ" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mKvcoPQXEeCovO8AYZymZQ" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mKwqwPQXEeCovO8AYZymZQ" value="1"/>
</ownedParameter>
</ownedOperation>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_f1HmEPQREeCovO8AYZymZQ0" name="writeEvent" method="_2HjeoPQXEeCovO8AYZymZQ">
- <ownedParameter xmi:type="uml:Parameter" xmi:id="_HRdvACVyEeGaL60JjVj19Q" name="event" type="_WkkjoPNUEeCovO8AYZymZQ">
+ <ownedOperation xmi:id="_f1HmEPQREeCovO8AYZymZQ0" name="writeEvent" method="_2HjeoPQXEeCovO8AYZymZQ">
+ <ownedParameter xmi:id="_HRdvACVyEeGaL60JjVj19Q" name="event" type="_WkkjoPNUEeCovO8AYZymZQ">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HUNhACVyEeGaL60JjVj19Q" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HUOvICVyEeGaL60JjVj19Q" value="1"/>
</ownedParameter>
</ownedOperation>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_lrF08PRTEeCUGrV0Hl4JwQ" name="EventPool" method="_JoG14PRUEeCKVJwdD4MMsg"/>
+ <ownedOperation xmi:id="_lrF08PRTEeCUGrV0Hl4JwQ" name="EventPool" method="_JoG14PRUEeCKVJwdD4MMsg"/>
</packagedElement>
<packagedElement xmi:type="uml:Interface" xmi:id="_elkpwPQREeCovO8AYZymZQ" name="IWriteEvent">
- <ownedOperation xmi:type="uml:Operation" xmi:id="_f1HmEPQREeCovO8AYZymZQ" name="writeEvent" visibility="public" isAbstract="true">
- <ownedComment xmi:type="uml:Comment" xmi:id="_wAdzUPQREeCovO8AYZymZQ">
+ <ownedOperation xmi:id="_f1HmEPQREeCovO8AYZymZQ" name="writeEvent" visibility="public" isAbstract="true">
+ <ownedComment xmi:id="_wAdzUPQREeCovO8AYZymZQ">
<body>&lt;&lt;TextualRepresentation>>public abstract writeEvent (in event:BasicCalls::ContainerServices::Event) ;</body>
</ownedComment>
- <ownedParameter xmi:type="uml:Parameter" xmi:id="__4qMgCUQEeGXBt65HZzY7g" name="event" type="_WkkjoPNUEeCovO8AYZymZQ">
+ <ownedParameter xmi:id="__4qMgCUQEeGXBt65HZzY7g" name="event" type="_WkkjoPNUEeCovO8AYZymZQ">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="__4raoCUQEeGXBt65HZzY7g" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__4sowCUQEeGXBt65HZzY7g" value="1"/>
</ownedParameter>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Enumeration" xmi:id="_jQjHAPNUEeCovO8AYZymZQ" name="EventKind">
- <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_jv4uYPNUEeCovO8AYZymZQ" name="CallEvent"/>
- <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_kuDm0PNUEeCovO8AYZymZQ" name="SignalEvent"/>
- <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_ljD8MPNUEeCovO8AYZymZQ" name="TimeEvent"/>
+ <ownedLiteral xmi:id="_jv4uYPNUEeCovO8AYZymZQ" name="CallEvent"/>
+ <ownedLiteral xmi:id="_kuDm0PNUEeCovO8AYZymZQ" name="SignalEvent"/>
+ <ownedLiteral xmi:id="_ljD8MPNUEeCovO8AYZymZQ" name="TimeEvent"/>
</packagedElement>
<packagedElement xmi:type="uml:Interface" xmi:id="_omxU4PNAEeCovO8AYZymZQ" name="IPoolControl">
- <generalization xmi:type="uml:Generalization" xmi:id="_feaHgPQXEeCovO8AYZymZQ" general="_elkpwPQREeCovO8AYZymZQ"/>
- <generalization xmi:type="uml:Generalization" xmi:id="_GwxT0CUREeGXBt65HZzY7g" general="_DY2VwCUREeGXBt65HZzY7g"/>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_FBMo4PQXEeCovO8AYZymZQ" name="size" visibility="public" isAbstract="true">
- <ownedComment xmi:type="uml:Comment" xmi:id="_NaRMoPQXEeCovO8AYZymZQ">
+ <generalization xmi:id="_feaHgPQXEeCovO8AYZymZQ" general="_elkpwPQREeCovO8AYZymZQ"/>
+ <generalization xmi:id="_GwxT0CUREeGXBt65HZzY7g" general="_DY2VwCUREeGXBt65HZzY7g"/>
+ <ownedOperation xmi:id="_FBMo4PQXEeCovO8AYZymZQ" name="size" visibility="public" isAbstract="true">
+ <ownedComment xmi:id="_NaRMoPQXEeCovO8AYZymZQ">
<body>&lt;&lt;TextualRepresentation>>public abstract size () : BasicCalls::Long ;</body>
</ownedComment>
- <ownedParameter xmi:type="uml:Parameter" xmi:id="_RlkvcPQXEeCovO8AYZymZQ" direction="return">
+ <ownedParameter xmi:id="_RlkvcPQXEeCovO8AYZymZQ" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Rll9kPQXEeCovO8AYZymZQ" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RlmkoPQXEeCovO8AYZymZQ" value="1"/>
@@ -1071,29 +1075,29 @@ return events[0];</body>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Interface" xmi:id="_DY2VwCUREeGXBt65HZzY7g" name="IReadEvent">
- <ownedOperation xmi:type="uml:Operation" xmi:id="_tK0poPQWEeCovO8AYZymZQ" name="readEvent" visibility="public" isAbstract="true">
- <ownedComment xmi:type="uml:Comment" xmi:id="_xPdjwPQWEeCovO8AYZymZQ">
+ <ownedOperation xmi:id="_tK0poPQWEeCovO8AYZymZQ" name="readEvent" visibility="public" isAbstract="true">
+ <ownedComment xmi:id="_xPdjwPQWEeCovO8AYZymZQ">
<body>&lt;&lt;TextualRepresentation>>public abstract readEvent(in timeout : BasicCalls::Long) : BasicCalls::ContainerServices::Event ;</body>
</ownedComment>
- <ownedParameter xmi:type="uml:Parameter" xmi:id="_PnwykPRREeCUGrV0Hl4JwQ" name="timeout">
+ <ownedParameter xmi:id="_PnwykPRREeCUGrV0Hl4JwQ" name="timeout">
<type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PofyYPRREeCUGrV0Hl4JwQ" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Pow4IPRREeCUGrV0Hl4JwQ" value="1"/>
</ownedParameter>
- <ownedParameter xmi:type="uml:Parameter" xmi:id="_Po7QMPRREeCUGrV0Hl4JwQ" type="_WkkjoPNUEeCovO8AYZymZQ" direction="return">
+ <ownedParameter xmi:id="_Po7QMPRREeCUGrV0Hl4JwQ" type="_WkkjoPNUEeCovO8AYZymZQ" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PpWG8PRREeCUGrV0Hl4JwQ" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Ppl-kPRREeCUGrV0Hl4JwQ" value="1"/>
</ownedParameter>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_5J9coCXQEeGX6PuSE-DJlQ" name="ThreadInterceptor">
- <generalization xmi:type="uml:Generalization" xmi:id="_9thucCXQEeGX6PuSE-DJlQ" general="_SiY_AP-EEd6628OhKk_dpg"/>
+ <generalization xmi:id="_9thucCXQEeGX6PuSE-DJlQ" general="_SiY_AP-EEd6628OhKk_dpg"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_9V8OQCjYEeGFbebITJYb9g" clientDependency="_F9_-UCjbEeGFbebITJYb9g _SXkHQCo0EeGxrprK9wB9iA" name="PeriodicTimer">
- <ownedComment xmi:type="uml:Comment" xmi:id="_zLeSkCnOEeGxrprK9wB9iA" annotatedElement="_tmNeoCjbEeGFbebITJYb9g">
+ <ownedComment xmi:id="_zLeSkCnOEeGxrprK9wB9iA" annotatedElement="_tmNeoCjbEeGFbebITJYb9g">
<body>The period length of the perdioci timer in ticks. Currently, a tick corresponds to 1 ms (simulation time in the underlying OS abstraction layer). It is planned to support VSL expressions, i.e. a value/unit pair.</body>
</ownedComment>
- <generalization xmi:type="uml:Generalization" xmi:id="_Y6lPACjZEeGFbebITJYb9g" general="_-WNegNtxEd6nqsBVkgJEEA"/>
+ <generalization xmi:id="_Y6lPACjZEeGFbebITJYb9g" general="_-WNegNtxEd6nqsBVkgJEEA"/>
<ownedAttribute xmi:type="uml:Port" xmi:id="_ATRiECjZEeGFbebITJYb9g" name="tick" visibility="public" aggregation="composite">
<type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_Xb-y0AweEd6it_RkGhz_AA"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_E3y2ICjZEeGFbebITJYb9g" value="1"/>
@@ -1102,7 +1106,7 @@ return events[0];</body>
<value xsi:nil="true"/>
</defaultValue>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_tmNeoCjbEeGFbebITJYb9g" name="periodLength" visibility="public">
+ <ownedAttribute xmi:id="_tmNeoCjbEeGFbebITJYb9g" name="periodLength" visibility="public">
<type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_tmmgMCjbEeGFbebITJYb9g" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_tmnHQCjbEeGFbebITJYb9g" value="1"/>
@@ -1110,9 +1114,9 @@ return events[0];</body>
<value xsi:nil="true"/>
</defaultValue>
</ownedAttribute>
- <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_F9_-UCjbEeGFbebITJYb9g" name="derived realization of ILifeCycle" client="_9V8OQCjYEeGFbebITJYb9g">
+ <interfaceRealization xmi:id="_F9_-UCjbEeGFbebITJYb9g" name="derived realization of ILifeCycle" client="_9V8OQCjYEeGFbebITJYb9g">
<supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
- <contract xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
+ <contract href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/>
</interfaceRealization>
<ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_RMkvkCjbEeGFbebITJYb9g" name="activate" specification="_F-cDMCjbEeGFbebITJYb9g">
<language>C/C++</language>
@@ -1125,12 +1129,12 @@ for (;;) {
timer.wakeUp(time);
}</body>
</ownedBehavior>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_F-cDMCjbEeGFbebITJYb9g" name="activate" method="_RMkvkCjbEeGFbebITJYb9g"/>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_F-iJ0CjbEeGFbebITJYb9g" name="deactivate"/>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_rljQcFy8EeOwKfaVRwV11Q" name="configuration_complete"/>
+ <ownedOperation xmi:id="_F-cDMCjbEeGFbebITJYb9g" name="activate" method="_RMkvkCjbEeGFbebITJYb9g"/>
+ <ownedOperation xmi:id="_F-iJ0CjbEeGFbebITJYb9g" name="deactivate"/>
+ <ownedOperation xmi:id="_rljQcFy8EeOwKfaVRwV11Q" name="configuration_complete"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_1sCBICjZEeGFbebITJYb9g" name="PeriodicTimerRule">
- <ownedAttribute xmi:type="uml:Property" xmi:id="_6yVMkCjZEeGFbebITJYb9g" name="timer" visibility="public" type="_9V8OQCjYEeGFbebITJYb9g">
+ <ownedAttribute xmi:id="_6yVMkCjZEeGFbebITJYb9g" name="timer" visibility="public" type="_9V8OQCjYEeGFbebITJYb9g">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_54aFgCjaEeGFbebITJYb9g" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_54bToCjaEeGFbebITJYb9g" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_54eW8CjaEeGFbebITJYb9g">
@@ -1139,14 +1143,14 @@ for (;;) {
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_-X6zMCjZEeGFbebITJYb9g" name="PeriodicTimerWithThread">
- <ownedAttribute xmi:type="uml:Property" xmi:id="_ARs_UCjaEeGFbebITJYb9g" name="timer" visibility="public" type="_9V8OQCjYEeGFbebITJYb9g" aggregation="composite">
+ <ownedAttribute xmi:id="_ARs_UCjaEeGFbebITJYb9g" name="timer" visibility="public" type="_9V8OQCjYEeGFbebITJYb9g" aggregation="composite">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_k_FtQCjaEeGFbebITJYb9g" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_k_G7YCjaEeGFbebITJYb9g" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_k_J-sCjaEeGFbebITJYb9g">
<value xsi:nil="true"/>
</defaultValue>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_RMqEkCjaEeGFbebITJYb9g" name="thread" visibility="public" type="_SiY_AP-EEd6628OhKk_dpg" aggregation="composite">
+ <ownedAttribute xmi:id="_RMqEkCjaEeGFbebITJYb9g" name="thread" visibility="public" type="_SiY_AP-EEd6628OhKk_dpg" aggregation="composite">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_j8bWYCjaEeGFbebITJYb9g" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_j8ckgCjaEeGFbebITJYb9g" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_j8eZsCjaEeGFbebITJYb9g">
@@ -1161,22 +1165,22 @@ for (;;) {
<value xsi:nil="true"/>
</defaultValue>
</ownedAttribute>
- <ownedConnector xmi:type="uml:Connector" xmi:id="_iDCL0CjaEeGFbebITJYb9g" name="Connector1">
- <end xmi:type="uml:ConnectorEnd" xmi:id="_iDCy4CjaEeGFbebITJYb9g" partWithPort="_RMqEkCjaEeGFbebITJYb9g" role="_ZjdOAP-EEd6628OhKk_dpg">
+ <ownedConnector xmi:id="_iDCL0CjaEeGFbebITJYb9g" name="Connector1">
+ <end xmi:id="_iDCy4CjaEeGFbebITJYb9g" partWithPort="_RMqEkCjaEeGFbebITJYb9g" role="_ZjdOAP-EEd6628OhKk_dpg">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iDCy4ijaEeGFbebITJYb9g" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iDCy4SjaEeGFbebITJYb9g" value="1"/>
</end>
- <end xmi:type="uml:ConnectorEnd" xmi:id="_iDCy4yjaEeGFbebITJYb9g" partWithPort="_ARs_UCjaEeGFbebITJYb9g" role="__SLXgNtxEd6nqsBVkgJEEA">
+ <end xmi:id="_iDCy4yjaEeGFbebITJYb9g" partWithPort="_ARs_UCjaEeGFbebITJYb9g" role="__SLXgNtxEd6nqsBVkgJEEA">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iDCy5SjaEeGFbebITJYb9g" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iDCy5CjaEeGFbebITJYb9g" value="1"/>
</end>
</ownedConnector>
- <ownedConnector xmi:type="uml:Connector" xmi:id="_84IJsCkAEeGDDbdzqSb4UA" name="Connector2">
- <end xmi:type="uml:ConnectorEnd" xmi:id="_84JX0CkAEeGDDbdzqSb4UA" partWithPort="_ARs_UCjaEeGFbebITJYb9g" role="_ATRiECjZEeGFbebITJYb9g">
+ <ownedConnector xmi:id="_84IJsCkAEeGDDbdzqSb4UA" name="Connector2">
+ <end xmi:id="_84JX0CkAEeGDDbdzqSb4UA" partWithPort="_ARs_UCjaEeGFbebITJYb9g" role="_ATRiECjZEeGFbebITJYb9g">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_84JX0ikAEeGDDbdzqSb4UA" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_84JX0SkAEeGDDbdzqSb4UA" value="1"/>
</end>
- <end xmi:type="uml:ConnectorEnd" xmi:id="_84L0ECkAEeGDDbdzqSb4UA" role="_3NSGwCkAEeGDDbdzqSb4UA">
+ <end xmi:id="_84L0ECkAEeGDDbdzqSb4UA" role="_3NSGwCkAEeGDDbdzqSb4UA">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_84L0EikAEeGDDbdzqSb4UA" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_84L0ESkAEeGDDbdzqSb4UA" value="1"/>
</end>
@@ -1186,7 +1190,7 @@ for (;;) {
<supplier xmi:type="uml:Class" href="pathmap://QML_CORE/osal.uml#_ETakYDj8Edy0Rd6V_tf1-Q"/>
</packagedElement>
<packagedElement xmi:type="uml:DataType" xmi:id="_OU5asFaNEeKxltxu9uR4dg" name="ParamValues">
- <ownedAttribute xmi:type="uml:Property" xmi:id="_RW82cFaNEeKxltxu9uR4dg" name="values" visibility="public">
+ <ownedAttribute xmi:id="_RW82cFaNEeKxltxu9uR4dg" name="values" visibility="public">
<type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_IYEXcB-VEd6nGq8wpI2tjg"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_TAmU0FaNEeKxltxu9uR4dg" value="200"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_TAqmQFaNEeKxltxu9uR4dg" value="200"/>
@@ -1196,7 +1200,7 @@ for (;;) {
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:DataType" xmi:id="_Y8dPQFaNEeKxltxu9uR4dg" name="QoS">
- <ownedAttribute xmi:type="uml:Property" xmi:id="_fYeQcFaNEeKxltxu9uR4dg" name="deadline" visibility="public">
+ <ownedAttribute xmi:id="_fYeQcFaNEeKxltxu9uR4dg" name="deadline" visibility="public">
<type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_-5FTMB6REd6ITtm_FH3jRw"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gFUvYFaNEeKxltxu9uR4dg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gFYZwFaNEeKxltxu9uR4dg" value="1"/>
@@ -1204,7 +1208,7 @@ for (;;) {
<value xsi:nil="true"/>
</defaultValue>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_oUVYMFaNEeKxltxu9uR4dg" name="period" visibility="public">
+ <ownedAttribute xmi:id="_oUVYMFaNEeKxltxu9uR4dg" name="period" visibility="public">
<type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_-5FTMB6REd6ITtm_FH3jRw"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rUQF8FaNEeKxltxu9uR4dg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rUSiMFaNEeKxltxu9uR4dg" value="1"/>
@@ -1212,7 +1216,7 @@ for (;;) {
<value xsi:nil="true"/>
</defaultValue>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_xXGZMFaNEeKxltxu9uR4dg" name="readyTime" visibility="public">
+ <ownedAttribute xmi:id="_xXGZMFaNEeKxltxu9uR4dg" name="readyTime" visibility="public">
<type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_-5FTMB6REd6ITtm_FH3jRw"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_yjbCYFaNEeKxltxu9uR4dg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_yjcQgFaNEeKxltxu9uR4dg" value="1"/>
@@ -1230,14 +1234,14 @@ for (;;) {
</packagedElement>
</packagedElement>
<packagedElement xmi:type="uml:Package" xmi:id="_y4qB4ARJEd--t-uhRn9OBA" name="containerRules">
- <ownedComment xmi:type="uml:Comment" xmi:id="_q-kFUMTJEd-cLazKlAeYsQ" annotatedElement="_14WtMARJEd--t-uhRn9OBA">
+ <ownedComment xmi:id="_q-kFUMTJEd-cLazKlAeYsQ" annotatedElement="_14WtMARJEd--t-uhRn9OBA">
<body>This rule adds an interceptor for the lifecycle (lc) port. It will use the Thread implementation that executes the activate method in a new thread of a given priority (property of the interceptor implementation)</body>
</ownedComment>
- <ownedComment xmi:type="uml:Comment" xmi:id="_H0IrsDbgEeGdqp2YT1LwWw" annotatedElement="_1sCBICjZEeGFbebITJYb9g">
+ <ownedComment xmi:id="_H0IrsDbgEeGdqp2YT1LwWw" annotatedElement="_1sCBICjZEeGFbebITJYb9g">
<body>Adds a periodic timer to the container</body>
</ownedComment>
<packagedElement xmi:type="uml:Class" xmi:id="_14WtMARJEd--t-uhRn9OBA" name="runStartThread">
- <ownedAttribute xmi:type="uml:Property" xmi:id="_mvN04PTWEeCn1-FCrfecFg" name="start" visibility="public" type="_5J9coCXQEeGX6PuSE-DJlQ">
+ <ownedAttribute xmi:id="_mvN04PTWEeCn1-FCrfecFg" name="start" visibility="public" type="_5J9coCXQEeGX6PuSE-DJlQ">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nPVfYPTWEeCn1-FCrfecFg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_nPXUkPTWEeCn1-FCrfecFg" value="1"/>
</ownedAttribute>
@@ -1260,17 +1264,17 @@ for (;;) {
</packagedElement>
<packagedElement xmi:type="uml:Package" xmi:id="_uFRRUH7dEd-FNNgSS03RxQ" name="configOptions">
<packagedElement xmi:type="uml:Class" xmi:id="_29YhgH7dEd-FNNgSS03RxQ" name="Distribution">
- <ownedComment xmi:type="uml:Comment" xmi:id="_INNDgH7eEd-FNNgSS03RxQ">
+ <ownedComment xmi:id="_INNDgH7eEd-FNNgSS03RxQ">
<body>Use for distributed applications</body>
</ownedComment>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_3myD0H7dEd-FNNgSS03RxQ" name="Debug">
- <ownedComment xmi:type="uml:Comment" xmi:id="_9u2OQH7dEd-FNNgSS03RxQ">
+ <ownedComment xmi:id="_9u2OQH7dEd-FNNgSS03RxQ">
<body>Use for debugging in general</body>
</ownedComment>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_7JeHcH7dEd-FNNgSS03RxQ" name="Trace">
- <ownedComment xmi:type="uml:Comment" xmi:id="_MzHesH7eEd-FNNgSS03RxQ">
+ <ownedComment xmi:id="_MzHesH7eEd-FNNgSS03RxQ">
<body>Use for tracing.</body>
</ownedComment>
</packagedElement>
@@ -1279,35 +1283,35 @@ for (;;) {
<packagedElement xmi:type="uml:Class" xmi:id="_ea234NYGEd-CgJIavLpOxQ" name="pthread"/>
</packagedElement>
<packagedElement xmi:type="uml:Package" xmi:id="_m7SIwOUYEd-P08Bciq_LqQ" name="perClass">
- <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_rNm5kOUYEd-P08Bciq_LqQ" parameter="_wfwIoOUYEd-P08Bciq_LqQ">
+ <ownedTemplateSignature xmi:id="_rNm5kOUYEd-P08Bciq_LqQ" parameter="_wfwIoOUYEd-P08Bciq_LqQ">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_wfwIoOUYEd-P08Bciq_LqQ" parameteredElement="_6uRBMOuqEeCTfOY57pgE3w">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_6uRBMOuqEeCTfOY57pgE3w" name="T" templateParameter="_wfwIoOUYEd-P08Bciq_LqQ"/>
</ownedParameter>
</ownedTemplateSignature>
<packagedElement xmi:type="uml:Enumeration" xmi:id="_QQPDUCQeEeGj_4swHBbKwg" name="PortIDs">
- <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_QQPDUSQeEeGj_4swHBbKwg" name="PORTID_[name/]"/>
+ <ownedLiteral xmi:id="_QQPDUSQeEeGj_4swHBbKwg" name="PORTID_[name/]"/>
</packagedElement>
</packagedElement>
<packagedElement xmi:type="uml:Package" xmi:id="_RPCMoOxIEd-2rr_yAeKkjQ" name="methodCall_comp">
- <ownedComment xmi:type="uml:Comment" xmi:id="_q1w5MK8qEeCXIcykFPsB8Q" annotatedElement="_RPCMoOxIEd-2rr_yAeKkjQ">
+ <ownedComment xmi:id="_q1w5MK8qEeCXIcykFPsB8Q" annotatedElement="_RPCMoOxIEd-2rr_yAeKkjQ">
<body>Elements in this package depend not only on the Interface I (which is a non-owned template parameter taken from the methodCall signature), but also on a class parameter T, which is bound to the component within a container binding.
Be aware that the number of instantiated template packages will be considerably larger compared to a dependency of the interface only</body>
</ownedComment>
- <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_ewC6kOxIEd-2rr_yAeKkjQ" parameter="_WzWVUPfBEd2TbIfwytOyPA _QBCTAOxJEd-2rr_yAeKkjQ">
+ <ownedTemplateSignature xmi:id="_ewC6kOxIEd-2rr_yAeKkjQ" parameter="_WzWVUPfBEd2TbIfwytOyPA _QBCTAOxJEd-2rr_yAeKkjQ">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_QBCTAOxJEd-2rr_yAeKkjQ" parameteredElement="_zILRsPPlEd-BP4i7K5Y1eA">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_zILRsPPlEd-BP4i7K5Y1eA" name="T" templateParameter="_QBCTAOxJEd-2rr_yAeKkjQ"/>
</ownedParameter>
</ownedTemplateSignature>
</packagedElement>
<packagedElement xmi:type="uml:Package" xmi:id="__lTvkPN0EeCovO8AYZymZQ" name="methodCall_size">
- <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_EfH-MPN1EeCovO8AYZymZQ" parameter="_WzWVUPfBEd2TbIfwytOyPA _TbLb4PN3EeCovO8AYZymZQ">
- <ownedParameter xmi:type="uml:TemplateParameter" xmi:id="_TbLb4PN3EeCovO8AYZymZQ" parameteredElement="_VGE3cPN3EeCovO8AYZymZQ">
+ <ownedTemplateSignature xmi:id="_EfH-MPN1EeCovO8AYZymZQ" parameter="_WzWVUPfBEd2TbIfwytOyPA _TbLb4PN3EeCovO8AYZymZQ">
+ <ownedParameter xmi:id="_TbLb4PN3EeCovO8AYZymZQ" parameteredElement="_VGE3cPN3EeCovO8AYZymZQ">
<ownedParameteredElement xmi:type="uml:LiteralInteger" xmi:id="_VGE3cPN3EeCovO8AYZymZQ" name="size" templateParameter="_TbLb4PN3EeCovO8AYZymZQ"/>
</ownedParameter>
</ownedTemplateSignature>
</packagedElement>
<packagedElement xmi:type="uml:Package" xmi:id="_gEZXADY7EeKvFqG4YPX3sg" name="methodCall_port">
- <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_kCZdoDY7EeKvFqG4YPX3sg" parameter="_WzWVUPfBEd2TbIfwytOyPA _udDzwDY9EeKvFqG4YPX3sg">
+ <ownedTemplateSignature xmi:id="_kCZdoDY7EeKvFqG4YPX3sg" parameter="_WzWVUPfBEd2TbIfwytOyPA _udDzwDY9EeKvFqG4YPX3sg">
<ownedParameter xmi:type="uml:ConnectableElementTemplateParameter" xmi:id="_udDzwDY9EeKvFqG4YPX3sg" parameteredElement="_9GMAUDY9EeKvFqG4YPX3sg">
<ownedParameteredElement xmi:type="uml:Port" xmi:id="_9GMAUDY9EeKvFqG4YPX3sg" name="P" templateParameter="_udDzwDY9EeKvFqG4YPX3sg"/>
</ownedParameter>
@@ -1320,30 +1324,31 @@ Be aware that the number of instantiated template packages will be considerably
</packagedElement>
<packagedElement xmi:type="uml:Package" xmi:id="_tkiC4HI3EeOCrdvV8oxOKA" name="bindingHelpers">
<packagedElement xmi:type="uml:Class" xmi:id="_z2tyoHI3EeOCrdvV8oxOKA" name="LoopOperations"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_4H-ZoHkgEeOCpqruXGWNPw" name="BindOperation"/>
</packagedElement>
- <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_O6TiIjLUEd26WNosUASSSw">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O6TiIzLUEd26WNosUASSSw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <profileApplication xmi:id="_O6TiIjLUEd26WNosUASSSw">
+ <eAnnotations xmi:id="_O6TiIzLUEd26WNosUASSSw" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#/"/>
</eAnnotations>
- <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/StandardL2.profile.uml#_0"/>
+ <appliedProfile href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
</profileApplication>
- <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_ugrx4AHIEd6pm-KfUZMnnQ">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ugztsAHIEd6pm-KfUZMnnQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <profileApplication xmi:id="_ugrx4AHIEd6pm-KfUZMnnQ">
+ <eAnnotations xmi:id="_ugztsAHIEd6pm-KfUZMnnQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
</eAnnotations>
- <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
+ <appliedProfile href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
</profileApplication>
- <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_u03PkFRxEd6GqrP6fkWBoQ">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u1sWAFRxEd6GqrP6fkWBoQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <profileApplication xmi:id="_u03PkFRxEd6GqrP6fkWBoQ">
+ <eAnnotations xmi:id="_u1sWAFRxEd6GqrP6fkWBoQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/>
</eAnnotations>
- <appliedProfile xmi:type="uml:Profile" href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/>
+ <appliedProfile href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/>
</profileApplication>
- <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_0x8woBn3EeONpa5JgejICQ">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_01dXoBn3EeONpa5JgejICQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <profileApplication xmi:id="_0x8woBn3EeONpa5JgejICQ">
+ <eAnnotations xmi:id="_01dXoBn3EeONpa5JgejICQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//SRM/SW_Concurrency"/>
</eAnnotations>
- <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_A_vtYBJeEdy3Td9UhuLFPg"/>
+ <appliedProfile href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_A_vtYBJeEdy3Td9UhuLFPg"/>
</profileApplication>
</uml:Model>
<FCM:Port xmi:id="_u1uLMFRxEd6GqrP6fkWBoQ" base_Port="_P4xVsNtuEd2eM5kqcby5ZA" kind="_9Fif4FRxEd6GqrP6fkWBoQ"/>
@@ -1410,8 +1415,8 @@ Be aware that the number of instantiated template packages will be considerably
<FCM:DerivedElement xmi:id="_fYvj8DNZEd-0bO2vHbUkEA">
<source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
</FCM:DerivedElement>
- <FCM:Template xmi:id="_iOmWwDNZEd-0bO2vHbUkEA" base_Element="_KOvHsPiREd2UhpY2Y3WUyg" kind="LoopOperations" helper="_nLe_sHJDEeOMF7YEvnQt5g" templateParam="_ZzlzMPfBEd2TbIfwytOyPA"/>
- <FCM:Template xmi:id="_qcrLcDNZEd-0bO2vHbUkEA" base_Element="__y0hwJ08Ed6l5bTPBsl00Q" kind="LoopOperations" helper="_nLe_sHJDEeOMF7YEvnQt5g" formalParam="_ZzlzMPfBEd2TbIfwytOyPA" templateParam="_ZzlzMPfBEd2TbIfwytOyPA"/>
+ <FCM:Template xmi:id="_iOmWwDNZEd-0bO2vHbUkEA" base_Element="_KOvHsPiREd2UhpY2Y3WUyg" helper="_nLe_sHJDEeOMF7YEvnQt5g" kind="LoopOperations" templateParam="_ZzlzMPfBEd2TbIfwytOyPA"/>
+ <FCM:Template xmi:id="_qcrLcDNZEd-0bO2vHbUkEA" base_Element="__y0hwJ08Ed6l5bTPBsl00Q" helper="_nLe_sHJDEeOMF7YEvnQt5g" kind="LoopOperations" formalParam="_ZzlzMPfBEd2TbIfwytOyPA" templateParam="_ZzlzMPfBEd2TbIfwytOyPA"/>
<FCM:DerivedElement xmi:id="_K9PRoDNwEd-1k-POY2IaLg">
<source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/>
</FCM:DerivedElement>
@@ -1474,8 +1479,8 @@ Be aware that the number of instantiated template packages will be considerably
<FCM:ConfigOption xmi:id="_tA2KcH7eEd-FNNgSS03RxQ" base_Class="_3myD0H7dEd-FNNgSS03RxQ"/>
<FCM:ConfigOption xmi:id="_t2ziEH7eEd-FNNgSS03RxQ" base_Class="_29YhgH7dEd-FNNgSS03RxQ"/>
<FCM:ConfigOption xmi:id="_u6LqoH7eEd-FNNgSS03RxQ" base_Class="_7JeHcH7dEd-FNNgSS03RxQ"/>
- <FCM:Template xmi:id="_3IqLUKE1Ed-r8p-5QgO3cg" base_Element="_pXzxjkJ1Ed-Ps4Bfh0j9LQ" kind="LoopOperations" helper="_nLe_sHJDEeOMF7YEvnQt5g"/>
- <FCM:Template xmi:id="_9u11IKE1Ed-r8p-5QgO3cg" base_Element="_2bwsEClzEd-eoo60eNyGlg" kind="LoopOperations" helper="_nLe_sHJDEeOMF7YEvnQt5g"/>
+ <FCM:Template xmi:id="_3IqLUKE1Ed-r8p-5QgO3cg" base_Element="_pXzxjkJ1Ed-Ps4Bfh0j9LQ" helper="_nLe_sHJDEeOMF7YEvnQt5g" kind="LoopOperations"/>
+ <FCM:Template xmi:id="_9u11IKE1Ed-r8p-5QgO3cg" base_Element="_2bwsEClzEd-eoo60eNyGlg" helper="_nLe_sHJDEeOMF7YEvnQt5g" kind="LoopOperations"/>
<FCM:PortKind xmi:id="_H5-aQLqOEd-SedGzMDDkww" base_Class="_AQZZwLqOEd-SedGzMDDkww"/>
<FCM:PortKind xmi:id="_KtgR0LqOEd-SedGzMDDkww" base_Class="__nMrwLqNEd-SedGzMDDkww"/>
<FCM:ConfigurationProperty xmi:id="_s0fGMMGJEd-Mveea1W_olA" base_Property="_rVfYoMGJEd-Mveea1W_olA"/>
@@ -1484,7 +1489,7 @@ Be aware that the number of instantiated template packages will be considerably
</C_Cpp:ExternLibrary>
<C_Cpp:External xmi:id="_p8NbMNYGEd-CgJIavLpOxQ" name="pthread.h" base_class="_ea234NYGEd-CgJIavLpOxQ"/>
<FCM:InteractionComponent xmi:id="_8BUh8NdwEd-ZnqCk2P2ZKg" base_Class="_3itBkNdwEd-ZnqCk2P2ZKg"/>
- <FCM:Template xmi:id="_CTIeQNdxEd-ZnqCk2P2ZKg" base_Element="_3itBoddwEd-ZnqCk2P2ZKg" kind="LoopOperations" helper="_nLe_sHJDEeOMF7YEvnQt5g"/>
+ <FCM:Template xmi:id="_CTIeQNdxEd-ZnqCk2P2ZKg" base_Element="_3itBoddwEd-ZnqCk2P2ZKg" helper="_nLe_sHJDEeOMF7YEvnQt5g" kind="LoopOperations"/>
<C_Cpp:Typedef xmi:id="_68Aa4No9Ed-wvpj-p-V_QQ" definition="union {&#xA;&lt;%for (ownedOperations) {%>&#xA;struct Op_&lt;%name%> {&#xA;&lt;%for (ownedParameters) {%>&#xA;&lt;%cppType%> &lt;%name%>;&#xA;&lt;%}%>&#xA;} op_&lt;%name%>;&#xA;&lt;%}%>&#xA;};" base_primitivetype="_xOqL0No9Ed-wvpj-p-V_QQ"/>
<FCM:InteractionComponent xmi:id="_xaHRQDJKEeCAhMtIsY9HwA" base_Class="_pXzKcEJ1Ed-Ps4Bfh0j9LQ"/>
<FCM:Port xmi:id="_wz4-ULaaEeCj_-LEBuGpmA" base_Port="__SLXgNtxEd6nqsBVkgJEEA"/>
@@ -1519,7 +1524,7 @@ Be aware that the number of instantiated template packages will be considerably
<FCM:Port xmi:id="_Zd6hAENxEeGoAtSeIK7WLg" base_Port="_Zd558ENxEeGoAtSeIK7WLg" kind="_qOK0cFR1Ed6GqrP6fkWBoQ"/>
<FCM:Port xmi:id="_i6QeoEN8EeGfhclnRyNzoA" base_Port="_i5SOQEN8EeGfhclnRyNzoA" kind="_qOK0cFR1Ed6GqrP6fkWBoQ"/>
<FCM:Port xmi:id="_0KaqgF7pEeGEmrrwB1vhPg" base_Port="_0KY1UF7pEeGEmrrwB1vhPg" kind="_wySlkFRxEd6GqrP6fkWBoQ"/>
- <FCM:Template xmi:id="_GNBM8F7tEeGEmrrwB1vhPg" base_Element="_ChD4kF7tEeGEmrrwB1vhPg" kind="LoopOperations" helper="_nLe_sHJDEeOMF7YEvnQt5g"/>
+ <FCM:Template xmi:id="_GNBM8F7tEeGEmrrwB1vhPg" base_Element="_ChD4kF7tEeGEmrrwB1vhPg" helper="_nLe_sHJDEeOMF7YEvnQt5g" kind="LoopOperations"/>
<FCM:InteractionComponent xmi:id="_UBcmIF7tEeGEmrrwB1vhPg" base_Class="_Mo2kwF7pEeGEmrrwB1vhPg"/>
<FCM:InteractionComponent xmi:id="_Z3Zs4F7tEeGEmrrwB1vhPg" base_Class="_TLShkF7qEeGEmrrwB1vhPg"/>
<FCM:PortKind xmi:id="_SrCqQC8qEeKx7OxAiA06uw" base_Class="_GjnlcC8qEeKx7OxAiA06uw"/>
@@ -1542,4 +1547,5 @@ Be aware that the number of instantiated template packages will be considerably
<source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_ns4qsClUEeO4bs_nkcnKOg"/>
</FCM:DerivedElement>
<FCM:BindingHelper xmi:id="_nLe_sHJDEeOMF7YEvnQt5g" base_Class="_z2tyoHI3EeOCrdvV8oxOKA"/>
+ <FCM:BindingHelper xmi:id="_7qhTUHkgEeOCpqruXGWNPw" base_Class="_4H-ZoHkgEeOCpqruXGWNPw"/>
</xmi:XMI>
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/fifo.notation b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/fifo.notation
index 9f4fa25c06a..97040e4aacc 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/fifo.notation
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/fifo.notation
@@ -1014,14 +1014,35 @@
</children>
<children xmi:type="notation:BasicCompartment" xmi:id="_BdhsB6_2EeC6ALhykKLu_g" type="7018">
<children xmi:type="notation:Shape" xmi:id="_ZFbm0AO7EeGb-spUJr9V6w" type="3013" fontName="Sans Serif" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_r_0U0IehEeO4jYNrBbiXBw" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_r_0U0YehEeO4jYNrBbiXBw" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_r_0U0oehEeO4jYNrBbiXBw" key="StereotypeList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_r_0U04ehEeO4jYNrBbiXBw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_r_0U1IehEeO4jYNrBbiXBw" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_r_0U1YehEeO4jYNrBbiXBw" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
<element xmi:type="uml:Operation" href="fifo.uml#_EYsdUP68Ed6Zw96O-tCw7A"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_ZFbm0QO7EeGb-spUJr9V6w"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_ZFcN4AO7EeGb-spUJr9V6w" type="3013" fontName="Sans Serif" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rQQgIIehEeO4jYNrBbiXBw" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rQRHMIehEeO4jYNrBbiXBw" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rQRHMYehEeO4jYNrBbiXBw" key="StereotypeList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rQRHMoehEeO4jYNrBbiXBw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rQRHM4ehEeO4jYNrBbiXBw" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rQRHNIehEeO4jYNrBbiXBw" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
<element xmi:type="uml:Operation" href="fifo.uml#_EYx84P68Ed6Zw96O-tCw7A"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_ZFcN4QO7EeGb-spUJr9V6w"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_ZFdcAAO7EeGb-spUJr9V6w" type="3013" fontName="Sans Serif" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_srbdoIehEeO4jYNrBbiXBw" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_srcEsIehEeO4jYNrBbiXBw" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_srcEsYehEeO4jYNrBbiXBw" key="StereotypeList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_srcEsoehEeO4jYNrBbiXBw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_srcEs4ehEeO4jYNrBbiXBw" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_srcEtIehEeO4jYNrBbiXBw" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
<element xmi:type="uml:Operation" href="fifo.uml#_AnQ3QBI9Ed-XjYZ05V-9-Q"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_ZFdcAQO7EeGb-spUJr9V6w"/>
</children>
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/fifo.uml b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/fifo.uml
index 64fc3e76565..64e9e30b270 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/fifo.uml
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/fifo.uml
@@ -160,6 +160,10 @@ if (m_filled &lt; m_size) {
<interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_ZR77QL5wEeKpNr0GJaRwvw" name="derived realization of D_Push_T" client="_Y1jF8HPpEd6R5tffIPrlPg" supplier="_ZQ2WIL5wEeKpNr0GJaRwvw" contract="_ZQ2WIL5wEeKpNr0GJaRwvw"/>
<interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_ZUSrsL5wEeKpNr0GJaRwvw" name="derived realization of D_PullConsumer_T" client="_Y1jF8HPpEd6R5tffIPrlPg" supplier="_ZSdfsL5wEeKpNr0GJaRwvw" contract="_ZSdfsL5wEeKpNr0GJaRwvw"/>
<ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_FjGlgP69Ed6Zw96O-tCw7A" name="pull" specification="_EYx84P68Ed6Zw96O-tCw7A">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_qCGgYIegEeO4jYNrBbiXBw" name="ret" type="_j_050HLoEd6R5tffIPrlPg" direction="return">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_qCHugIegEeO4jYNrBbiXBw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_qCIVkIegEeO4jYNrBbiXBw" value="1"/>
+ </ownedParameter>
<language>C/C++</language>
<body>if (m_filled > 0) {
int current_pos = m_pull_pos;
@@ -173,6 +177,10 @@ if (m_filled &lt; m_size) {
}</body>
</ownedBehavior>
<ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_IwXLsP69Ed6Zw96O-tCw7A" name="push" specification="_EYsdUP68Ed6Zw96O-tCw7A">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_qCI8oIegEeO4jYNrBbiXBw" name="data" type="_j_050HLoEd6R5tffIPrlPg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_qCI8oYegEeO4jYNrBbiXBw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_qCJjsIegEeO4jYNrBbiXBw" value="1"/>
+ </ownedParameter>
<language>C/C++</language>
<body>// copy passed parameters ...
if (m_filled &lt; m_size) {
@@ -185,6 +193,11 @@ if (m_filled &lt; m_size) {
}</body>
</ownedBehavior>
<ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__Ha0IBJHEd-XjYZ05V-9-Q" name="hasData" specification="_AnQ3QBI9Ed-XjYZ05V-9-Q">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_qCKKwIegEeO4jYNrBbiXBw" name="ret" direction="return">
+ <type xmi:type="uml:PrimitiveType" href="corba.uml#_Bv7l0B-VEd6nGq8wpI2tjg"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_qCKx0IegEeO4jYNrBbiXBw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_qCKx0YegEeO4jYNrBbiXBw" value="1"/>
+ </ownedParameter>
<language>C/C++</language>
<body>return (m_filled > 0);</body>
</ownedBehavior>
@@ -222,6 +235,7 @@ m_fifo = new [pkgTemplateParameter('T')+'[m_size]'/];
</ownedOperation>
<ownedOperation xmi:type="uml:Operation" xmi:id="_5IpEwK8xEeCXIcykFPsB8Q" name="activate" method="_QzOqwK8yEeCXIcykFPsB8Q"/>
<ownedOperation xmi:type="uml:Operation" xmi:id="_y7cqEF72EeGerN33d-RdRg" name="deactivate"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_qB4d8IegEeO4jYNrBbiXBw" name="configuration_complete"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_dr0doDqNEeCd_O2fHA8dPg" clientDependency="_iR440L5wEeKpNr0GJaRwvw _iScScL5wEeKpNr0GJaRwvw" name="KeepLast">
<generalization xmi:type="uml:Generalization" xmi:id="_dr0dozqNEeCd_O2fHA8dPg" general="_wh_EwHLmEd6R5tffIPrlPg"/>
@@ -353,8 +367,6 @@ return true;</body>
<kind xmi:type="FCM:PortKind" href="core.uml#_pE6GUFR1Ed6GqrP6fkWBoQ"/>
</FCM:Port>
<FCM:InteractionComponent xmi:id="_xQ_ccHUuEd6R5tffIPrlPg" base_Class="_Y1jF8HPpEd6R5tffIPrlPg"/>
- <FCM:DerivedElement xmi:id="_EYu5kP68Ed6Zw96O-tCw7A" base_Element="_EYsdUP68Ed6Zw96O-tCw7A" source="_ZRa94L5wEeKpNr0GJaRwvw"/>
- <FCM:DerivedElement xmi:id="_EYzyEP68Ed6Zw96O-tCw7A" base_Element="_EYx84P68Ed6Zw96O-tCw7A" source="_ZTBgYL5wEeKpNr0GJaRwvw"/>
<FCM:DerivedElement xmi:id="_0TRKgP6-Ed6Zw96O-tCw7A" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/>
<FCM:DerivedElement xmi:id="_0TVb8P6-Ed6Zw96O-tCw7A" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/>
<FCM:DerivedElement xmi:id="_7G9E0P6-Ed6Zw96O-tCw7A" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/>
@@ -380,7 +392,6 @@ return true;</body>
<FCM:DerivedElement xmi:id="_IA3M8BI7Ed-3zOZ0RGapGA"/>
<FCM:DerivedElement xmi:id="_AnNM4BI9Ed-XjYZ05V-9-Q" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/>
<FCM:DerivedElement xmi:id="_AnPpIBI9Ed-XjYZ05V-9-Q" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/>
- <FCM:DerivedElement xmi:id="_AnVvwBI9Ed-XjYZ05V-9-Q" base_Element="_AnQ3QBI9Ed-XjYZ05V-9-Q" source="_ZTqZkL5wEeKpNr0GJaRwvw"/>
<FCM:DerivedElement xmi:id="_11TxwBJWEd-QgZm_R1AKbA" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/>
<FCM:DerivedElement xmi:id="_11WOABJWEd-QgZm_R1AKbA" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/>
<FCM:DerivedElement xmi:id="_11YqQBJWEd-QgZm_R1AKbA" base_Element="_AnQ3QBI9Ed-XjYZ05V-9-Q"/>
@@ -417,4 +428,7 @@ return true;</body>
<FCM:DerivedElement xmi:id="_iU8M0L5wEeKpNr0GJaRwvw" base_Element="_iS924L5wEeKpNr0GJaRwvw" source="_ZRa94L5wEeKpNr0GJaRwvw"/>
<FCM:DerivedElement xmi:id="_iXH-IL5wEeKpNr0GJaRwvw" base_Element="_iVK2UL5wEeKpNr0GJaRwvw" source="_ZTBgYL5wEeKpNr0GJaRwvw"/>
<FCM:DerivedElement xmi:id="_iZUWgL5wEeKpNr0GJaRwvw" base_Element="_iXWAkL5wEeKpNr0GJaRwvw" source="_ZTqZkL5wEeKpNr0GJaRwvw"/>
+ <FCM:DerivedElement xmi:id="_qCAZwIegEeO4jYNrBbiXBw" base_Element="_qB4d8IegEeO4jYNrBbiXBw">
+ <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_ns4qsClUEeO4bs_nkcnKOg"/>
+ </FCM:DerivedElement>
</xmi:XMI>
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/statemachine.notation b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/statemachine.notation
index 14fb5b3fd8d..3083be6a696 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/statemachine.notation
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/statemachine.notation
@@ -53,7 +53,7 @@
</eAnnotations>
<layoutConstraint xmi:type="notation:Location" xmi:id="_u86JIPRUEeCKVJwdD4MMsg" x="-117"/>
</children>
- <children xmi:type="notation:DecorationNode" xmi:id="_u86JIfRUEeCKVJwdD4MMsg" type="6029">
+ <children xmi:type="notation:DecorationNode" xmi:id="_u86JIfRUEeCKVJwdD4MMsg" visible="false" type="6029">
<layoutConstraint xmi:type="notation:Location" xmi:id="_u86JIvRUEeCKVJwdD4MMsg" x="25" y="-10"/>
</children>
<element xmi:type="uml:Port" href="statemachine.uml#_u7pk4PRUEeCKVJwdD4MMsg"/>
@@ -82,7 +82,7 @@
</eAnnotations>
<layoutConstraint xmi:type="notation:Location" xmi:id="_oVbhQ18wEeGerN33d-RdRg" x="25" y="3"/>
</children>
- <children xmi:type="notation:DecorationNode" xmi:id="_oVbhRF8wEeGerN33d-RdRg" type="6029">
+ <children xmi:type="notation:DecorationNode" xmi:id="_oVbhRF8wEeGerN33d-RdRg" visible="false" type="6029">
<layoutConstraint xmi:type="notation:Location" xmi:id="_oVbhRV8wEeGerN33d-RdRg" x="25" y="-10"/>
</children>
<element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
@@ -111,7 +111,7 @@
</eAnnotations>
<layoutConstraint xmi:type="notation:Location" xmi:id="_xVksFV8wEeGerN33d-RdRg" x="-144"/>
</children>
- <children xmi:type="notation:DecorationNode" xmi:id="_xVksFl8wEeGerN33d-RdRg" type="6029">
+ <children xmi:type="notation:DecorationNode" xmi:id="_xVksFl8wEeGerN33d-RdRg" visible="false" type="6029">
<layoutConstraint xmi:type="notation:Location" xmi:id="_xVksF18wEeGerN33d-RdRg" x="25" y="-10"/>
</children>
<element xmi:type="uml:Port" href="statemachine.uml#_xUE3QF8wEeGerN33d-RdRg"/>
@@ -176,7 +176,7 @@
</eAnnotations>
<layoutConstraint xmi:type="notation:Location" xmi:id="_WeOoAjXLEeCZ5ODDEHnvRw" x="28" y="9"/>
</children>
- <children xmi:type="notation:DecorationNode" xmi:id="_WeOoAzXLEeCZ5ODDEHnvRw" type="6029">
+ <children xmi:type="notation:DecorationNode" xmi:id="_WeOoAzXLEeCZ5ODDEHnvRw" visible="false" type="6029">
<layoutConstraint xmi:type="notation:Location" xmi:id="_WeOoBDXLEeCZ5ODDEHnvRw" x="25" y="-10"/>
</children>
<element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_P4xVsNtuEd2eM5kqcby5ZA"/>
@@ -205,7 +205,7 @@
</eAnnotations>
<layoutConstraint xmi:type="notation:Location" xmi:id="_YK8ogzXLEeCZ5ODDEHnvRw" x="25" y="3"/>
</children>
- <children xmi:type="notation:DecorationNode" xmi:id="_YK8ohDXLEeCZ5ODDEHnvRw" type="6029">
+ <children xmi:type="notation:DecorationNode" xmi:id="_YK8ohDXLEeCZ5ODDEHnvRw" visible="false" type="6029">
<layoutConstraint xmi:type="notation:Location" xmi:id="_YK8ohTXLEeCZ5ODDEHnvRw" x="25" y="-10"/>
</children>
<element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_Qk0jYNtuEd2eM5kqcby5ZA"/>
@@ -234,7 +234,7 @@
</eAnnotations>
<layoutConstraint xmi:type="notation:Location" xmi:id="_a7txM-uMEeCTfOY57pgE3w" x="27" y="18"/>
</children>
- <children xmi:type="notation:DecorationNode" xmi:id="_a7txNOuMEeCTfOY57pgE3w" type="6029">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a7txNOuMEeCTfOY57pgE3w" visible="false" type="6029">
<layoutConstraint xmi:type="notation:Location" xmi:id="_a7txNeuMEeCTfOY57pgE3w" x="25" y="-10"/>
</children>
<element xmi:type="uml:Port" href="statemachine.uml#_a4NKMOuMEeCTfOY57pgE3w"/>
@@ -669,7 +669,7 @@
</eAnnotations>
<layoutConstraint xmi:type="notation:Location" xmi:id="_tE_OsfTXEeCn1-FCrfecFg" x="36" y="22"/>
</children>
- <children xmi:type="notation:DecorationNode" xmi:id="_tE_OsvTXEeCn1-FCrfecFg" type="6029">
+ <children xmi:type="notation:DecorationNode" xmi:id="_tE_OsvTXEeCn1-FCrfecFg" visible="false" type="6029">
<layoutConstraint xmi:type="notation:Location" xmi:id="_tE_Os_TXEeCn1-FCrfecFg" x="25" y="-10"/>
</children>
<element xmi:type="uml:Port" href="statemachine.uml#_a4NKMOuMEeCTfOY57pgE3w"/>
@@ -784,7 +784,7 @@
</eAnnotations>
<layoutConstraint xmi:type="notation:Location" xmi:id="_1pwsIPTXEeCn1-FCrfecFg" x="36" y="-12"/>
</children>
- <children xmi:type="notation:DecorationNode" xmi:id="_1pwsIfTXEeCn1-FCrfecFg" type="6029">
+ <children xmi:type="notation:DecorationNode" xmi:id="_1pwsIfTXEeCn1-FCrfecFg" visible="false" type="6029">
<layoutConstraint xmi:type="notation:Location" xmi:id="_1pwsIvTXEeCn1-FCrfecFg" x="25" y="-10"/>
</children>
<element xmi:type="uml:Port" href="statemachine.uml#_u7pk4PRUEeCKVJwdD4MMsg"/>
@@ -813,7 +813,7 @@
</eAnnotations>
<layoutConstraint xmi:type="notation:Location" xmi:id="_4jFyFiWdEeGX6PuSE-DJlQ" x="18" y="-18"/>
</children>
- <children xmi:type="notation:DecorationNode" xmi:id="_4jFyFyWdEeGX6PuSE-DJlQ" type="6029">
+ <children xmi:type="notation:DecorationNode" xmi:id="_4jFyFyWdEeGX6PuSE-DJlQ" visible="false" type="6029">
<layoutConstraint xmi:type="notation:Location" xmi:id="_4jFyGCWdEeGX6PuSE-DJlQ" x="25" y="-10"/>
</children>
<element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
@@ -868,7 +868,7 @@
</eAnnotations>
<layoutConstraint xmi:type="notation:Location" xmi:id="_3QrvByWdEeGX6PuSE-DJlQ" x="-35" y="-18"/>
</children>
- <children xmi:type="notation:DecorationNode" xmi:id="_3QsWECWdEeGX6PuSE-DJlQ" type="6029">
+ <children xmi:type="notation:DecorationNode" xmi:id="_3QsWECWdEeGX6PuSE-DJlQ" visible="false" type="6029">
<layoutConstraint xmi:type="notation:Location" xmi:id="_3QsWESWdEeGX6PuSE-DJlQ" x="25" y="-10"/>
</children>
<element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
@@ -897,7 +897,7 @@
</eAnnotations>
<layoutConstraint xmi:type="notation:Location" xmi:id="_3Q0R5yWdEeGX6PuSE-DJlQ" x="18" y="-20"/>
</children>
- <children xmi:type="notation:DecorationNode" xmi:id="_3Q0R6CWdEeGX6PuSE-DJlQ" type="6029">
+ <children xmi:type="notation:DecorationNode" xmi:id="_3Q0R6CWdEeGX6PuSE-DJlQ" visible="false" type="6029">
<layoutConstraint xmi:type="notation:Location" xmi:id="_3Q0R6SWdEeGX6PuSE-DJlQ" x="25" y="-10"/>
</children>
<element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
@@ -1481,13 +1481,20 @@
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XQDidF81EeGbQoflzrdx0g" source="QualifiedName">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XQEJgF81EeGbQoflzrdx0g" key="QualifiedNameDepth" value="1000"/>
</eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ek3tQHkjEeOMFc4T5KeVdg" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZUfW8HkjEeOMFc4T5KeVdg" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZUfW8XkjEeOMFc4T5KeVdg" key="StereotypeList" value="FCM::Port"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZUfW8nkjEeOMFc4T5KeVdg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZUf-AHkjEeOMFc4T5KeVdg" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZUf-AXkjEeOMFc4T5KeVdg" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_XQEJgV81EeGbQoflzrdx0g" type="5125">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_78ZxQFl9EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7_ndUFl9EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
</eAnnotations>
<layoutConstraint xmi:type="notation:Location" xmi:id="_XQEJgl81EeGbQoflzrdx0g" x="36" y="13"/>
</children>
- <children xmi:type="notation:DecorationNode" xmi:id="_XQEJg181EeGbQoflzrdx0g" type="6029">
+ <children xmi:type="notation:DecorationNode" xmi:id="_XQEJg181EeGbQoflzrdx0g" visible="false" type="6029">
<layoutConstraint xmi:type="notation:Location" xmi:id="_XQEJhF81EeGbQoflzrdx0g" x="25" y="-10"/>
</children>
<element xmi:type="uml:Port" href="statemachine.uml#_a4NKMOuMEeCTfOY57pgE3w"/>
@@ -1534,7 +1541,17 @@
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_X1Jzkl81EeGbQoflzrdx0g" source="QualifiedName">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_X1Jzk181EeGbQoflzrdx0g" key="QualifiedNameDepth" value="1000"/>
</eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GiJ5UHkjEeOMFc4T5KeVdg" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HFTpsHkjEeOMFc4T5KeVdg" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HFTpsXkjEeOMFc4T5KeVdg" key="StereotypeList" value="FCM::Port"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HFTpsnkjEeOMFc4T5KeVdg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HFTps3kjEeOMFc4T5KeVdg" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HFUQwHkjEeOMFc4T5KeVdg" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_X1JzlF81EeGbQoflzrdx0g" type="5125">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mUS1QHkjEeOMFc4T5KeVdg" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mUdNUHkjEeOMFc4T5KeVdg" key="CustomAppearance_MaskValue" value="524316"/>
+ </eAnnotations>
<layoutConstraint xmi:type="notation:Location" xmi:id="_X1JzlV81EeGbQoflzrdx0g" x="25" y="3"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_X1Jzll81EeGbQoflzrdx0g" type="6029">
@@ -1548,7 +1565,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_J3gDEnJVEeOMF7YEvnQt5g"/>
</children>
<element xmi:type="uml:Property" href="statemachine.uml#_IeWotV81EeGbQoflzrdx0g"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qj5McV81EeGbQoflzrdx0g" x="99" y="85" width="181" height="55"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qj5McV81EeGbQoflzrdx0g" x="99" y="85" width="191" height="55"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_Qj8PwF81EeGbQoflzrdx0g" type="3070" fontName="" fontHeight="10" lineColor="0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qj9d4F81EeGbQoflzrdx0g" source="ShadowFigure">
@@ -1579,13 +1596,20 @@
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Yl7JM181EeGbQoflzrdx0g" source="QualifiedName">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Yl7JNF81EeGbQoflzrdx0g" key="QualifiedNameDepth" value="1000"/>
</eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KyCaIHkjEeOMFc4T5KeVdg" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LGPvkHkjEeOMFc4T5KeVdg" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LGQWoHkjEeOMFc4T5KeVdg" key="StereotypeList" value="FCM::Port"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LGQWoXkjEeOMFc4T5KeVdg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LGQWonkjEeOMFc4T5KeVdg" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LGQWo3kjEeOMFc4T5KeVdg" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_Yl7JNV81EeGbQoflzrdx0g" type="5125">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__G-P0Fl9EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__MRmkFl9EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
</eAnnotations>
<layoutConstraint xmi:type="notation:Location" xmi:id="_Yl7JNl81EeGbQoflzrdx0g" x="27" y="-8"/>
</children>
- <children xmi:type="notation:DecorationNode" xmi:id="_Yl7JN181EeGbQoflzrdx0g" type="6029">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Yl7JN181EeGbQoflzrdx0g" visible="false" type="6029">
<layoutConstraint xmi:type="notation:Location" xmi:id="_Yl7JOF81EeGbQoflzrdx0g" x="25" y="-10"/>
</children>
<element xmi:type="uml:Port" href="statemachine.uml#_u7pk4PRUEeCKVJwdD4MMsg"/>
@@ -1601,13 +1625,20 @@
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Yl8XVF81EeGbQoflzrdx0g" source="QualifiedName">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Yl8XVV81EeGbQoflzrdx0g" key="QualifiedNameDepth" value="1000"/>
</eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_L2wmgHkjEeOMFc4T5KeVdg" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MJTvEHkjEeOMFc4T5KeVdg" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MJTvEXkjEeOMFc4T5KeVdg" key="StereotypeList" value="FCM::Port"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MJTvEnkjEeOMFc4T5KeVdg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MJUWIHkjEeOMFc4T5KeVdg" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MJUWIXkjEeOMFc4T5KeVdg" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_Yl8XVl81EeGbQoflzrdx0g" type="5125">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AxQnYFl-EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_A02G4Fl-EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
</eAnnotations>
<layoutConstraint xmi:type="notation:Location" xmi:id="_Yl8XV181EeGbQoflzrdx0g" x="27" y="18"/>
</children>
- <children xmi:type="notation:DecorationNode" xmi:id="_Yl8-YF81EeGbQoflzrdx0g" type="6029">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Yl8-YF81EeGbQoflzrdx0g" visible="false" type="6029">
<layoutConstraint xmi:type="notation:Location" xmi:id="_Yl8-YV81EeGbQoflzrdx0g" x="25" y="-10"/>
</children>
<element xmi:type="uml:Port" href="statemachine.uml#_xUE3QF8wEeGerN33d-RdRg"/>
@@ -1623,13 +1654,20 @@
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Yl-MgF81EeGbQoflzrdx0g" source="QualifiedName">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Yl-MgV81EeGbQoflzrdx0g" key="QualifiedNameDepth" value="1000"/>
</eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a0UyAHkjEeOMFc4T5KeVdg" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bMpycHkjEeOMFc4T5KeVdg" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bMqZgHkjEeOMFc4T5KeVdg" key="StereotypeList" value="FCM::Port"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bMqZgXkjEeOMFc4T5KeVdg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bMqZgnkjEeOMFc4T5KeVdg" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bMqZg3kjEeOMFc4T5KeVdg" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_Yl-Mgl81EeGbQoflzrdx0g" type="5125">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Mui4wFl-EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M0qH0Fl-EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
</eAnnotations>
<layoutConstraint xmi:type="notation:Location" xmi:id="_Yl-Mg181EeGbQoflzrdx0g" x="31" y="-18"/>
</children>
- <children xmi:type="notation:DecorationNode" xmi:id="_Yl-MhF81EeGbQoflzrdx0g" type="6029">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Yl-MhF81EeGbQoflzrdx0g" visible="false" type="6029">
<layoutConstraint xmi:type="notation:Location" xmi:id="_Yl-MhV81EeGbQoflzrdx0g" x="25" y="-10"/>
</children>
<element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#__SLXgNtxEd6nqsBVkgJEEA"/>
@@ -1640,7 +1678,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_J3h4QnJVEeOMF7YEvnQt5g"/>
</children>
<element xmi:type="uml:Property" href="statemachine.uml#_IeXPwV81EeGbQoflzrdx0g"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qj8PwV81EeGbQoflzrdx0g" x="27" y="175" width="190" height="64"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qj8PwV81EeGbQoflzrdx0g" x="27" y="175" width="202" height="64"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_Qj_6IF81EeGbQoflzrdx0g" type="3070" fontName="" fontHeight="10" lineColor="0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QkAhMF81EeGbQoflzrdx0g" source="ShadowFigure">
@@ -1671,13 +1709,20 @@
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Zh1-5F81EeGbQoflzrdx0g" source="QualifiedName">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Zh1-5V81EeGbQoflzrdx0g" key="QualifiedNameDepth" value="1000"/>
</eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_crRskHkjEeOMFc4T5KeVdg" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dCcPYHkjEeOMFc4T5KeVdg" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dCcPYXkjEeOMFc4T5KeVdg" key="StereotypeList" value="FCM::Port"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dCc2cHkjEeOMFc4T5KeVdg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dCc2cXkjEeOMFc4T5KeVdg" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dCc2cnkjEeOMFc4T5KeVdg" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_Zh1-5l81EeGbQoflzrdx0g" type="5125">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GtCCQFl-EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G06y8Fl-EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
</eAnnotations>
<layoutConstraint xmi:type="notation:Location" xmi:id="_Zh1-5181EeGbQoflzrdx0g" x="25" y="3"/>
</children>
- <children xmi:type="notation:DecorationNode" xmi:id="_Zh1-6F81EeGbQoflzrdx0g" type="6029">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Zh1-6F81EeGbQoflzrdx0g" visible="false" type="6029">
<layoutConstraint xmi:type="notation:Location" xmi:id="_Zh1-6V81EeGbQoflzrdx0g" x="25" y="-10"/>
</children>
<element xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_ZjdOAP-EEd6628OhKk_dpg"/>
@@ -1719,13 +1764,20 @@
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CYj5sF82EeGbQoflzrdx0g" source="QualifiedName">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CYj5sV82EeGbQoflzrdx0g" key="QualifiedNameDepth" value="1000"/>
</eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_M3mYcHkjEeOMFc4T5KeVdg" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NRe4EHkjEeOMFc4T5KeVdg" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NRe4EXkjEeOMFc4T5KeVdg" key="StereotypeList" value="FCM::Port"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NRffIHkjEeOMFc4T5KeVdg" key="Stereotype_Presentation_Kind" value="IconStereotype"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NRffIXkjEeOMFc4T5KeVdg" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NRffInkjEeOMFc4T5KeVdg" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_CYj5sl82EeGbQoflzrdx0g" type="5125">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N0M5QFl-EeKFQZ_XV_Kn6g" source="CustomAppearance_Annotation">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_N3Vs0Fl-EeKFQZ_XV_Kn6g" key="CustomAppearance_MaskValue" value="28"/>
</eAnnotations>
<layoutConstraint xmi:type="notation:Location" xmi:id="_CYj5s182EeGbQoflzrdx0g" x="25" y="3"/>
</children>
- <children xmi:type="notation:DecorationNode" xmi:id="_CYj5tF82EeGbQoflzrdx0g" type="6029">
+ <children xmi:type="notation:DecorationNode" xmi:id="_CYj5tF82EeGbQoflzrdx0g" visible="false" type="6029">
<layoutConstraint xmi:type="notation:Location" xmi:id="_CYj5tV82EeGbQoflzrdx0g" x="25" y="-10"/>
</children>
<element xmi:type="uml:Port" href="statemachine.uml#_z94Y0F81EeGbQoflzrdx0g"/>
@@ -1787,8 +1839,9 @@
</children>
<styles xmi:type="notation:FontStyle" xmi:id="_bD3LQV81EeGbQoflzrdx0g" fontName="" fontHeight="10"/>
<element xmi:type="uml:Connector" href="statemachine.uml#_IeXP0F81EeGbQoflzrdx0g"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bD3LQl81EeGbQoflzrdx0g" points="[6, 4, -45, -53]$[6, 51, -45, -6]$[41, 51, -10, -6]"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bD3LQl81EeGbQoflzrdx0g" points="[8, 4, -43, -53]$[8, 57, -43, 0]$[41, 57, -10, 0]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eBtnAF82EeGbQoflzrdx0g" id="(0.15,0.8)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gMsk4HkjEeOMFc4T5KeVdg" id="(0.1,0.1)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_boYNkF81EeGbQoflzrdx0g" type="4013" source="_Yl8-Yl81EeGbQoflzrdx0g" target="_Zh1X0F81EeGbQoflzrdx0g" routing="Rectilinear" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_boY0oF81EeGbQoflzrdx0g" type="6025">
@@ -1805,16 +1858,16 @@
</children>
<styles xmi:type="notation:FontStyle" xmi:id="_boYNkV81EeGbQoflzrdx0g" fontName="" fontHeight="10"/>
<element xmi:type="uml:Connector" href="statemachine.uml#_IeXP1181EeGbQoflzrdx0g"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_boYNkl81EeGbQoflzrdx0g" points="[10, 8, -167, 12]$[87, 8, -90, 12]$[167, -3, -10, 1]"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_boYNkl81EeGbQoflzrdx0g" points="[6, 8, -151, -2]$[147, 8, -10, -2]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QGaMcFl-EeKFQZ_XV_Kn6g" id="(0.7,0.0)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_G9WTgF82EeGbQoflzrdx0g" type="4013" source="_Yl7wQF81EeGbQoflzrdx0g" target="_CYirkF82EeGbQoflzrdx0g" routing="Rectilinear" lineColor="0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UWzA4F82EeGbQoflzrdx0g" source="Stereotype_Annotation">
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UW-AAF82EeGbQoflzrdx0g" key="StereotypeWithQualifiedNameList" value=""/>
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UW-AAV82EeGbQoflzrdx0g" key="StereotypeList" value="FCM::Connector"/>
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UW-AAl82EeGbQoflzrdx0g" key="PropStereoDisplay" value="FCM::Connector.ic"/>
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UW-AA182EeGbQoflzrdx0g" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UW-nEF82EeGbQoflzrdx0g" key="StereotypePropertyLocation" value="Compartment"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AbCKEHkjEeOMFc4T5KeVdg" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AbCKEXkjEeOMFc4T5KeVdg" key="StereotypeList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AbCKEnkjEeOMFc4T5KeVdg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AbCKE3kjEeOMFc4T5KeVdg" key="PropStereoDisplay" value="FCM::Connector.ic"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AbCKFHkjEeOMFc4T5KeVdg" key="StereotypePropertyLocation" value="Compartment"/>
</eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_G9W6kF82EeGbQoflzrdx0g" type="6025">
<layoutConstraint xmi:type="notation:Location" xmi:id="_G9W6kV82EeGbQoflzrdx0g" x="31" y="-27"/>
@@ -1830,7 +1883,7 @@
</children>
<styles xmi:type="notation:FontStyle" xmi:id="_G9WTgV82EeGbQoflzrdx0g" fontName="" fontHeight="10"/>
<element xmi:type="uml:Connector" href="statemachine.uml#_G9Gb4F82EeGbQoflzrdx0g"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_G9WTgl82EeGbQoflzrdx0g" points="[0, 10, -109, -68]$[0, 78, -109, 0]$[106, 78, -3, 0]"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_G9WTgl82EeGbQoflzrdx0g" points="[1, 10, -232, -62]$[1, 75, -232, 3]$[230, 75, -3, 3]"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G967QF82EeGbQoflzrdx0g" id="(0.15,0.25)"/>
</edges>
</notation:Diagram>
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/statemachine.uml b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/statemachine.uml
index 14b0ff02a5b..513b181584f 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/statemachine.uml
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/models/library/statemachine.uml
@@ -125,6 +125,7 @@ out->writeEvent (event);
<ownedOperation xmi:type="uml:Operation" xmi:id="_3GbAwCWSEeGB3KV6qwTHBw" name="activate" method="_p_0sUCaiEeGRo-gX9igNzw"/>
<ownedOperation xmi:type="uml:Operation" xmi:id="_3G6I8CWSEeGB3KV6qwTHBw" name="deactivate"/>
<ownedOperation xmi:type="uml:Operation" xmi:id="_b5mYgCaiEeGRo-gX9igNzw" name="processEvents" method="_rglykOupEeCTfOY57pgE3w"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_MYPEcHk6EeOph7IIHUnNoA" name="configuration_complete"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_S99VcO3GEeCHv5BGhoZ8CA" name="stateMachine_executor" memberEnd="_S99Vce3GEeCHv5BGhoZ8CA _S9FLsO3GEeCHv5BGhoZ8CA">
<ownedEnd xmi:type="uml:Property" xmi:id="_S99Vce3GEeCHv5BGhoZ8CA" name="stateMachine" type="_ens7QOUTEd-P08Bciq_LqQ" association="_S99VcO3GEeCHv5BGhoZ8CA">
@@ -158,7 +159,21 @@ out->writeEvent (event);
</ownedAttribute>
<ownedAttribute xmi:type="uml:Port" xmi:id="_ZXYggHg_EeOejZqJpKQeww" name="outAnimSvc" type="_L-I7kF8wEeGerN33d-RdRg" aggregation="composite"/>
<interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_bmInQF_4EeGbQoflzrdx0g" name="derived realization of IAnimation" client="_xELAwF81EeGbQoflzrdx0g" supplier="_L-I7kF8wEeGerN33d-RdRg" contract="_L-I7kF8wEeGerN33d-RdRg"/>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_bmbiMF_4EeGbQoflzrdx0g" name="enterState">
+ <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_r5ewgHnxEeOfttgBwSq-Ig" name="leaveState" specification="_bmo9kF_4EeGbQoflzrdx0g">
+ <language>C/C++</language>
+ <body>if (outAnimSvc != 0) {
+ outAnimSvc->leaveState(stateEnum, eInstance);
+}
+</body>
+ </ownedBehavior>
+ <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_tczkcHnxEeOfttgBwSq-Ig" name="enterState" specification="_bmbiMF_4EeGbQoflzrdx0g">
+ <language>C/C++</language>
+ <body>if (outAnimSvc != 0) {
+ outAnimSvc->enterState(stateEnum, eInstance);
+}
+</body>
+ </ownedBehavior>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_bmbiMF_4EeGbQoflzrdx0g" name="enterState" method="_tczkcHnxEeOfttgBwSq-Ig">
<ownedParameter xmi:type="uml:Parameter" xmi:id="_OJXykGEpEeGzd_21sXyuog" name="stateEnum">
<type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_9XvcQB6REd6ITtm_FH3jRw"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_OJZAsGEpEeGzd_21sXyuog" value="1"/>
@@ -170,8 +185,8 @@ out->writeEvent (event);
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_OJbc8GEpEeGzd_21sXyuog" value="1"/>
</ownedParameter>
</ownedOperation>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_bmo9kF_4EeGbQoflzrdx0g" name="leaveState">
- <ownedParameter xmi:type="uml:Parameter" xmi:id="_OKJOoGEpEeGzd_21sXyuog" name="eState">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_bmo9kF_4EeGbQoflzrdx0g" name="leaveState" method="_r5ewgHnxEeOfttgBwSq-Ig">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_OKJOoGEpEeGzd_21sXyuog" name="stateEnum">
<type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_9XvcQB6REd6ITtm_FH3jRw"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_OKKcwGEpEeGzd_21sXyuog" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_OKLD0GEpEeGzd_21sXyuog" value="1"/>
@@ -216,20 +231,45 @@ out->writeEvent (event);
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_QH7R8GGDEeO2F4QRMDSOXg" name="AnimServiceConfigurator"/>
- <packagedElement xmi:type="uml:Class" xmi:id="_B0gFAHg_EeOejZqJpKQeww" name="RemoteAnimService">
+ <packagedElement xmi:type="uml:Class" xmi:id="_B0gFAHg_EeOejZqJpKQeww" clientDependency="_hQFyMHk8EeOh_8tymvdOOg" name="RemoteAnimService">
<ownedAttribute xmi:type="uml:Port" xmi:id="_MLu-kHg_EeOejZqJpKQeww" name="animSvc" type="_L-I7kF8wEeGerN33d-RdRg" aggregation="composite"/>
+ <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_hQFyMHk8EeOh_8tymvdOOg" name="derived realization of IAnimation" client="_B0gFAHg_EeOejZqJpKQeww" supplier="_L-I7kF8wEeGerN33d-RdRg" contract="_L-I7kF8wEeGerN33d-RdRg"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_hQJckHk8EeOh_8tymvdOOg" name="enterState">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_hQLRwHk8EeOh_8tymvdOOg" name="stateEnum">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_9XvcQB6REd6ITtm_FH3jRw"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hQL40Hk8EeOh_8tymvdOOg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hQMf4Hk8EeOh_8tymvdOOg" value="1"/>
+ </ownedParameter>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_hQMf4Xk8EeOh_8tymvdOOg" name="eInstance">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hQNG8Hk8EeOh_8tymvdOOg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hQNG8Xk8EeOh_8tymvdOOg" value="1"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_hQSmgHk8EeOh_8tymvdOOg" name="leaveState">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_hQTNkHk8EeOh_8tymvdOOg" name="eState">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_9XvcQB6REd6ITtm_FH3jRw"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hQTNkXk8EeOh_8tymvdOOg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hQT0oHk8EeOh_8tymvdOOg" value="1"/>
+ </ownedParameter>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_hQT0oXk8EeOh_8tymvdOOg" name="eInstance">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hQUbsHk8EeOh_8tymvdOOg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hQUbsXk8EeOh_8tymvdOOg" value="1"/>
+ </ownedParameter>
+ </ownedOperation>
</packagedElement>
</packagedElement>
<packagedElement xmi:type="uml:Package" xmi:id="_DEJCwF81EeGbQoflzrdx0g" name="rules">
<packagedElement xmi:type="uml:Class" xmi:id="_18qdsO67EeCZ9MjsZTV1zw" name="StateMachineWCallEvents">
- <ownedAttribute xmi:type="uml:Property" xmi:id="_LyxAEPTXEeCn1-FCrfecFg" name="callEventInterceptor" visibility="public" type="_u-qioOUTEd-P08Bciq_LqQ">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_LyxAEPTXEeCn1-FCrfecFg" name="callEventInterceptor" visibility="public" type="_u-qioOUTEd-P08Bciq_LqQ" aggregation="composite">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_MGWDYPTXEeCn1-FCrfecFg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_MGfNUPTXEeCn1-FCrfecFg" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_MGz9cPTXEeCn1-FCrfecFg">
<value xsi:nil="true"/>
</defaultValue>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jXX54PTXEeCn1-FCrfecFg" name="eventPool" visibility="public">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_jXX54PTXEeCn1-FCrfecFg" name="eventPool" visibility="public" aggregation="composite">
<type xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_JRmo0PNAEeCovO8AYZymZQ"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_l6kPYPTXEeCn1-FCrfecFg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_l6k2cPTXEeCn1-FCrfecFg" value="1"/>
@@ -237,14 +277,14 @@ out->writeEvent (event);
<value xsi:nil="true"/>
</defaultValue>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_mv6jAPTXEeCn1-FCrfecFg" name="stateMachine" visibility="public" type="_ens7QOUTEd-P08Bciq_LqQ">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_mv6jAPTXEeCn1-FCrfecFg" name="stateMachine" visibility="public" type="_ens7QOUTEd-P08Bciq_LqQ" aggregation="composite">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ocG_EPTXEeCn1-FCrfecFg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ocHmIPTXEeCn1-FCrfecFg" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_ocI0QPTXEeCn1-FCrfecFg">
<value xsi:nil="true"/>
</defaultValue>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_vcPiUCWdEeGX6PuSE-DJlQ" name="thread" visibility="public">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_vcPiUCWdEeGX6PuSE-DJlQ" name="thread" visibility="public" aggregation="composite">
<type xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_SiY_AP-EEd6628OhKk_dpg"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_yS4YQCWdEeGX6PuSE-DJlQ" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_yS4_UCWdEeGX6PuSE-DJlQ" value="1"/>
@@ -289,14 +329,14 @@ out->writeEvent (event);
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_b1zNUOusEeCTfOY57pgE3w" name="StateMachine"/>
<packagedElement xmi:type="uml:Class" xmi:id="_IeWosF81EeGbQoflzrdx0g" name="StateMachineWCallEventsAndAnim">
- <ownedAttribute xmi:type="uml:Property" xmi:id="_IeWosV81EeGbQoflzrdx0g" name="callEventInterceptor" visibility="public" type="_u-qioOUTEd-P08Bciq_LqQ">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_IeWosV81EeGbQoflzrdx0g" name="callEventInterceptor" visibility="public" type="_u-qioOUTEd-P08Bciq_LqQ" aggregation="composite">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IeWos181EeGbQoflzrdx0g" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IeWosl81EeGbQoflzrdx0g" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_IeWotF81EeGbQoflzrdx0g">
<value xsi:nil="true"/>
</defaultValue>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_IeWotV81EeGbQoflzrdx0g" name="eventPool" visibility="public">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_IeWotV81EeGbQoflzrdx0g" name="eventPool" visibility="public" aggregation="composite">
<type xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_JRmo0PNAEeCovO8AYZymZQ"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IeWot181EeGbQoflzrdx0g" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IeWotl81EeGbQoflzrdx0g" value="1"/>
@@ -304,14 +344,14 @@ out->writeEvent (event);
<value xsi:nil="true"/>
</defaultValue>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_IeXPwV81EeGbQoflzrdx0g" name="stateMachine" visibility="public" type="_ens7QOUTEd-P08Bciq_LqQ">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_IeXPwV81EeGbQoflzrdx0g" name="stateMachine" visibility="public" type="_ens7QOUTEd-P08Bciq_LqQ" aggregation="composite">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IeXPw181EeGbQoflzrdx0g" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IeXPwl81EeGbQoflzrdx0g" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_IeXPxF81EeGbQoflzrdx0g">
<value xsi:nil="true"/>
</defaultValue>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_IeXPxV81EeGbQoflzrdx0g" name="thread" visibility="public">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_IeXPxV81EeGbQoflzrdx0g" name="thread" visibility="public" aggregation="composite">
<type xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_SiY_AP-EEd6628OhKk_dpg"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IeXPx181EeGbQoflzrdx0g" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IeXPxl81EeGbQoflzrdx0g" value="1"/>
@@ -409,7 +449,9 @@ out->writeEvent (event);
<FCM:DerivedElement xmi:id="_3G7-ICWSEeGB3KV6qwTHBw" base_Element="_3G6I8CWSEeGB3KV6qwTHBw">
<source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/>
</FCM:DerivedElement>
- <FCM:Template xmi:id="_nngKECaiEeGRo-gX9igNzw" base_Element="_b5mYgCaiEeGRo-gX9igNzw"/>
+ <FCM:Template xmi:id="_nngKECaiEeGRo-gX9igNzw" base_Element="_b5mYgCaiEeGRo-gX9igNzw">
+ <helper xmi:type="FCM:BindingHelper" href="pathmap://QML_CORE/core.uml#_7qhTUHkgEeOCpqruXGWNPw"/>
+ </FCM:Template>
<FCM:Port xmi:id="_JZGWgF8xEeGerN33d-RdRg" base_Port="_xUE3QF8wEeGerN33d-RdRg">
<kind xmi:type="FCM:PortKind" href="pathmap://QML_CORE/core.uml#_9Fif4FRxEd6GqrP6fkWBoQ"/>
</FCM:Port>
@@ -418,9 +460,6 @@ out->writeEvent (event);
<FCM:Port xmi:id="_5cn5cF81EeGbQoflzrdx0g" base_Port="_z94Y0F81EeGbQoflzrdx0g">
<kind xmi:type="FCM:PortKind" href="pathmap://QML_CORE/core.uml#_wySlkFRxEd6GqrP6fkWBoQ"/>
</FCM:Port>
- <FCM:Connector xmi:id="_RfomgF82EeGbQoflzrdx0g" base_Connector="_G9Gb4F82EeGbQoflzrdx0g">
- <ic xmi:type="FCM:InteractionComponent" href="pathmap://QML_DISTRIBUTION/distribution.uml#_X9h_kNEBEd6acefdxFk2Lw"/>
- </FCM:Connector>
<FCM:Singleton xmi:id="_uqa34F_1EeGbQoflzrdx0g" base_Class="_xELAwF81EeGbQoflzrdx0g"/>
<FCM:DerivedElement xmi:id="_bmnIYF_4EeGbQoflzrdx0g" base_Element="_bmbiMF_4EeGbQoflzrdx0g" source="_N3m-oF8wEeGerN33d-RdRg"/>
<FCM:DerivedElement xmi:id="_bmyukF_4EeGbQoflzrdx0g" base_Element="_bmo9kF_4EeGbQoflzrdx0g" source="_ZgY_oF8wEeGerN33d-RdRg"/>
@@ -434,4 +473,9 @@ out->writeEvent (event);
<kind xmi:type="FCM:PortKind" href="pathmap://QML_CORE/core.uml#_wySlkFRxEd6GqrP6fkWBoQ"/>
</FCM:Port>
<FCM:UseInstanceConfigurator xmi:id="_4HKnkHg_EeOejZqJpKQeww" base_Class="_B0gFAHg_EeOejZqJpKQeww" configurator="_SdiecGGDEeO2F4QRMDSOXg"/>
+ <FCM:DerivedElement xmi:id="_MYSHwHk6EeOph7IIHUnNoA" base_Element="_MYPEcHk6EeOph7IIHUnNoA">
+ <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_ns4qsClUEeO4bs_nkcnKOg"/>
+ </FCM:DerivedElement>
+ <FCM:DerivedElement xmi:id="_hQPjMHk8EeOh_8tymvdOOg" base_Element="_hQJckHk8EeOh_8tymvdOOg" source="_N3m-oF8wEeGerN33d-RdRg"/>
+ <FCM:DerivedElement xmi:id="_hQW38Hk8EeOh_8tymvdOOg" base_Element="_hQSmgHk8EeOh_8tymvdOOg" source="_ZgY_oF8wEeGerN33d-RdRg"/>
</xmi:XMI>
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/plugin.xml b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/plugin.xml
index 896dae535c6..f1319fa6607 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/plugin.xml
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/plugin.xml
@@ -130,7 +130,15 @@
</wizard>
</extension>
<extension id="LoopOperations" point="org.eclipse.papyrus.fcm.profile.fcmBindingHelper">
- <client class="org.eclipse.papyrus.qompass.modellibs.core.bindinghelpers.LoopOperations" bindingHelperName="LoopOperations">
+ <client
+ bindingHelperName="LoopOperations"
+ class="org.eclipse.papyrus.qompass.modellibs.core.bindinghelpers.LoopOperations">
+ </client>
+ </extension>
+ <extension id="BindOperation" point="org.eclipse.papyrus.fcm.profile.fcmBindingHelper">
+ <client
+ bindingHelperName="BindOperation"
+ class="org.eclipse.papyrus.qompass.modellibs.core.bindinghelpers.BindOperation">
</client>
</extension>
<extension point="org.eclipse.help.toc">
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
index 4dd53ec0045..99c915d4197 100644
--- 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
@@ -5,11 +5,11 @@
[import org::eclipse::papyrus::qompass::designer::core::acceleo::UMLTool/]
[import org::eclipse::papyrus::qompass::modellibs::core::acceleo::acceptableEvents/]
-[template public StateMachine(clazz : Class)]
+[template public StateMachine(clazz : BehavioredClassifier)]
// processEvents body - generated by Qompass
//
-// supports ports [for (port : Port | clazz.ownedPort)] [literal('PortEnum_'+clazz.name, 'port_'+port.name)/] [/for]
+// 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);
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
index 4d2ec77d755..6c8efd7ce81 100644
--- 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
@@ -16,9 +16,11 @@ 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;
@@ -30,31 +32,44 @@ public class StateMachineUtil {
* This is required by the state machine template which needs to access operation IDs
* provided by the call interceptor.
*
- * TODO: seems not very clean: why hardcoded operationIDs? precondition: package with suitable
- * postfix must have been created
- *
- * @param actual
+ * @param actual The actual for template binding
* @return
*/
public static Package boundPackageRef(Type actual) {
- String suffix = "_" + actual.getName();
for(Package nestedPkg : Utils.getTop(actual).getNestedPackages()) {
- if(nestedPkg.getName().endsWith(suffix)) {
- return nestedPkg;
+ 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 "OperationIDs, if found within the passed package.
- *
+ * 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");
+ 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
index b61f5800ab7..39dd285efdf 100644
--- 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
@@ -6,7 +6,14 @@
'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/acceptableEvents.mtl b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/acceptableEvents.mtl
index 3cfe740f28d..5b26fad3114 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/acceptableEvents.mtl
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/acceleo/acceptableEvents.mtl
@@ -2,16 +2,26 @@
[import org::eclipse::papyrus::qompass::modellibs::core::acceleo::TransitionService /]
[import org::eclipse::papyrus::qompass::modellibs::core::acceleo::StateMachineUtil /]
[import org::eclipse::papyrus::qompass::designer::core::acceleo::UMLTool /]
+[import org::eclipse::papyrus::qompass::designer::core::acceleo::EnumService /]
[import org::eclipse::papyrus::qompass::designer::vsl::ParseVSL /]
[comment produce a call event trigger label (TODO) /]
+[comment
+Pass the actual to which the port is bound. In case of a CallEvent, pass the implemented interface
+(Not the class to which the state machine is bound)
+/]
[template public cetrigger(operation: Operation) post(trim())]
[boundPackageRef(operation.implementsInterface()).qualifiedName/]::ID_[name/]
[comment declare dependency to OperationIDs enumeration /]
[boundPackageRef(operation.implementsInterface()).declareDependencyToOperationIDs() /]
[/template]
+[comment
+Use service for global enumerations/]
+[template public setrigger(trigger: Trigger) post(trim())]
+ [literal('SignalEvents', 'SIG_' + trigger.event.oclAsType(SignalEvent).signal.name)/]
+[/template]
[template public acceptableEvents(state: State)]
@@ -42,7 +52,8 @@
[for (transition : Transition | state.outgoing)]
[comment big restriction: will only analyse first of possibly multiple triggers/]
- [if (transition.trigger->asSequence()->first().event.oclIsKindOf(TimeEvent))]
+ [let trigger : Trigger = transition.trigger->asSequence()->first()]
+ [if (trigger.event.oclIsKindOf(TimeEvent))]
// transition [transition.name/] - trigger: TimeEvent (there should be at most one outgoing timed transition per state).
if (event.operationID == core::ContainerServices::EventPool::ID_TIMEOUT) {
newState = STATE_[transition.target.name/];
@@ -50,23 +61,28 @@
[/if]
}
[/if]
- [if (transition.trigger->asSequence()->first().event.oclIsKindOf(CallEvent))]
- // transition [name/] - trigger: CallEvent, operation [transition.trigger.event.oclAsType(CallEvent).operation.name/]
- if (event.operationID == [cetrigger(transition.trigger->asSequence()->first().event.oclAsType(CallEvent).operation)/]) {
+ [if (trigger.event.oclIsKindOf(CallEvent))]
+ // transition [name/] - trigger: CallEvent ([trigger.event.name/]), operation [trigger.event.oclAsType(CallEvent).operation.name/]
+ if (event.operationID == [cetrigger(trigger.event.oclAsType(CallEvent).operation)/]) {
newState = STATE_[transition.target.name/];
[if not (transition.effect = null)] executor->[state.containingStateMachine().name/]_[transition.name/]_[transition.effect.name/]();
[/if]
}
[/if]
- [if (transition.trigger->asSequence()->first().event.oclIsKindOf(SignalEvent))]
- // transition [name/] - trigger: SignalEvent, signal [transition.trigger.event.oclAsType(SignalEvent).signal.name/]
- if (event.operationID == SIG_[transition.trigger.event.oclAsType(SignalEvent).signal.name/]) {
- newState = STATE_[transition.target.name/]) ;
-[if not (transition.effect = null)] executor->[state.containingStateMachine().name/]_[transition.name/]_[transition.effect.name/]();
+ [if (trigger.event.oclIsKindOf(SignalEvent))]
+ [let signalEvent : SignalEvent = trigger.event.oclAsType(SignalEvent)]
+ // transition [name/] - trigger: SignalEvent ([signalEvent.name/]), signal [signalEvent.signal.name/]
+ if (event.operationID == [setrigger(trigger)/]) {
+ newState = STATE_[transition.target.name/];
+[if not (transition.effect = null)] [if signalEvent.signal.attribute->size() > 0]void* data = &event.params;[/if]
+ executor->[state.containingStateMachine().name/]_[transition.name/]_[transition.effect.name/]([if signalEvent.signal.attribute->size() > 0]data[/if]);
+
[/if]
// ok = EvQUEUE ;
}
+ [/let]
[/if]
+ [/let]
[/for]
if (newState != m_currentState) {
m_currentState = newState;
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/bindinghelpers/BindOperation.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/bindinghelpers/BindOperation.java
new file mode 100644
index 00000000000..61fb5030c0c
--- /dev/null
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/bindinghelpers/BindOperation.java
@@ -0,0 +1,55 @@
+package org.eclipse.papyrus.qompass.modellibs.core.bindinghelpers;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.FCM.util.IBindingHelper;
+import org.eclipse.papyrus.qompass.designer.core.listeners.CopyListener;
+import org.eclipse.papyrus.qompass.designer.core.templates.BindingUtils;
+import org.eclipse.papyrus.qompass.designer.core.templates.TemplateUtils;
+import org.eclipse.papyrus.qompass.designer.core.transformations.Copy;
+import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationException;
+import org.eclipse.papyrus.qompass.modellibs.core.Activator;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.TemplateBinding;
+
+/**
+ * Bind an operation to an actual, i.e. evaluate the Acceleo template within the opaque behavior associated with
+ * the operation.
+ */
+public class BindOperation implements IBindingHelper, CopyListener {
+
+ private TemplateBinding binding;
+
+ @Override
+ public EObject copyEObject(Copy copy, EObject sourceEObj) {
+
+ if(sourceEObj instanceof Operation) {
+ Operation operation = (Operation) sourceEObj;
+ Classifier actual = TemplateUtils.getFirstActualFromBinding(binding);
+
+ Operation newOperation = BindingUtils.instantiateOperation(copy, actual, operation);
+ for(Behavior method : operation.getMethods()) {
+ if(method instanceof OpaqueBehavior) {
+ try {
+ Behavior newBehavior =
+ BindingUtils.instantiateBehavior(copy, actual, (OpaqueBehavior)method);
+ newBehavior.setSpecification(newOperation);
+ }
+ catch (TransformationException e) {
+ Activator.log.error(e);
+ }
+ }
+ }
+ return newOperation;
+ }
+ return sourceEObj;
+ }
+
+ @Override
+ public void handleElement(TemplateBinding binding, Element object) {
+ this.binding = binding;
+ }
+}
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/bindinghelpers/LoopOperations.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/bindinghelpers/LoopOperations.java
index 2f9874c8b1e..11f066f202b 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/bindinghelpers/LoopOperations.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/bindinghelpers/LoopOperations.java
@@ -12,7 +12,6 @@ import org.eclipse.papyrus.qompass.designer.core.transformations.Copy;
import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationException;
import org.eclipse.papyrus.qompass.modellibs.core.Activator;
import org.eclipse.uml2.uml.Behavior;
-import org.eclipse.uml2.uml.Class;
import org.eclipse.uml2.uml.Classifier;
import org.eclipse.uml2.uml.Element;
import org.eclipse.uml2.uml.EnumerationLiteral;
@@ -26,14 +25,12 @@ public class LoopOperations implements IBindingHelper, CopyListener {
private TemplateBinding binding;
- @Override
public EObject copyEObject(Copy copy, EObject sourceEObj) {
if(sourceEObj instanceof Operation) {
Operation operation = (Operation)sourceEObj;
Classifier actual = TemplateUtils.getFirstActualFromBinding(binding);
- Class boundClass = copy.getCopy(operation.getClass_());
if(!(actual instanceof Interface)) {
return sourceEObj;
@@ -46,7 +43,7 @@ public class LoopOperations implements IBindingHelper, CopyListener {
copy.removeForCopy(removalElement); // enable subsequent instantiations
}
removalList.clear();
- last = BindingUtils.instantiateOperation(copy, intfOperation, operation, boundClass);
+ last = BindingUtils.instantiateOperation(copy, intfOperation, operation);
removalList.add(operation);
for(Behavior method : operation.getMethods()) {
if(method instanceof OpaqueBehavior) {
@@ -81,29 +78,29 @@ public class LoopOperations implements IBindingHelper, CopyListener {
*/
}
else if(sourceEObj instanceof EnumerationLiteral) {
- EnumerationLiteral literal = (EnumerationLiteral)sourceEObj;
- Classifier actual = TemplateUtils.getFirstActualFromBinding(binding);
- // Type passedActual = getPassedActual(template, actual, boundClass);
- Type passedActual = actual;
- if(!(passedActual instanceof Interface)) {
- return sourceEObj;
+ EnumerationLiteral literal = (EnumerationLiteral)sourceEObj;
+ Classifier actual = TemplateUtils.getFirstActualFromBinding(binding);
+ // Type passedActual = getPassedActual(template, actual, boundClass);
+ Type passedActual = actual;
+ if(!(passedActual instanceof Interface)) {
+ return sourceEObj;
+ }
+ Interface passedActualIntf = (Interface)passedActual;
+ EnumerationLiteral newLiteral = null;
+ for(Operation intfOperation : passedActualIntf.getAllOperations()) {
+ copy.removeForCopy(literal);
+ newLiteral = copy.getCopy(literal);
+ try {
+ String newName = AcceleoDriverWrapper.evaluate(literal.getName(), intfOperation, null);
+ newLiteral.setName(newName);
}
- Interface passedActualIntf = (Interface)passedActual;
- EnumerationLiteral newLiteral = null;
- for(Operation intfOperation : passedActualIntf.getAllOperations()) {
- copy.removeForCopy(literal);
- newLiteral = copy.getCopy(literal);
- try {
- String newName = AcceleoDriverWrapper.evaluate(literal.getName(), intfOperation, null);
- newLiteral.setName(newName);
- }
- catch (TransformationException e) {
- Activator.log.error(e);
- newLiteral.setName("none"); //$NON-NLS-1$
- }
+ catch (TransformationException e) {
+ Activator.log.error(e);
+ newLiteral.setName("none"); //$NON-NLS-1$
}
- return newLiteral;
}
+ return newLiteral;
+ }
return null;
}
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/iconfigurators/AnimServiceConfigurator.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/iconfigurators/AnimServiceConfigurator.java
index 21bc29e0e2e..5ac32b50f4e 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/iconfigurators/AnimServiceConfigurator.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/iconfigurators/AnimServiceConfigurator.java
@@ -17,7 +17,6 @@ package org.eclipse.papyrus.qompass.modellibs.core.iconfigurators;
import org.eclipse.emf.common.util.EList;
import org.eclipse.papyrus.qompass.designer.core.deployment.AllocUtils;
import org.eclipse.papyrus.qompass.designer.core.extensions.IInstanceConfigurator;
-import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationRTException;
import org.eclipse.uml2.uml.InstanceSpecification;
import org.eclipse.uml2.uml.NamedElement;
import org.eclipse.uml2.uml.Property;
@@ -55,13 +54,15 @@ public class AnimServiceConfigurator implements IInstanceConfigurator {
EList<InstanceSpecification> nodes = AllocUtils.getAllNodesOrThreadsParent(parentInstance);
if (nodes.size() > 0) {
InstanceSpecification node = nodes.get(0);
+ // problem: instance specification is within intermediate model, thus incomplete.
+ // option: explicitly pre-create singletons (and allocate these?)
NamedElement animService = node.getNearestPackage().getMember(eclipseAnimService);
if (animService instanceof InstanceSpecification) {
AllocUtils.allocate(instance, (InstanceSpecification)animService);
return;
}
}
- throw new TransformationRTException(String.format("Cannot find node <%s> in platform definition", eclipseAnimService));
+ // throw new TransformationRTException(String.format("Cannot find node <%s> in platform definition", eclipseAnimService));
}
}
diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/build.acceleo b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/build.acceleo
index 94def70bf62..cfae891d995 100644
--- a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/build.acceleo
+++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/build.acceleo
@@ -18,7 +18,7 @@
<acceleoCompiler
sourceFolder="${target.folder}"
outputFolder="${target.folder}"
- dependencies="${target.folder}/../../org.eclipse.papyrus.fcm.profile;${target.folder}/../../org.eclipse.papyrus.infra.core.sasheditor;${target.folder}/../../org.eclipse.papyrus.infra.core.sasheditor.di;${target.folder}/../../org.eclipse.papyrus.qompass.modellibs.core;${target.folder}/../../org.eclipse.papyrus.qompass.designer.core;${target.folder}/../../org.eclipse.papyrus.qompass.designer.vsl;${target.folder}/../../org.eclipse.papyrus.cpp.profile;${target.folder}/../../org.eclipse.papyrus.acceleo;${target.folder}/../../org.eclipse.papyrus.infra.widgets.toolbox;${target.folder}/../../org.eclipse.papyrus.infra.services.tracepoints;${target.folder}/../../org.eclipse.papyrus.qompass.designer.ui;"
+ dependencies="${target.folder}/../../org.eclipse.papyrus.fcm.profile;${target.folder}/../../org.eclipse.papyrus.qompass.modellibs.core;${target.folder}/../../org.eclipse.papyrus.qompass.designer.core;${target.folder}/../../org.eclipse.papyrus.qompass.designer.vsl;${target.folder}/../../org.eclipse.papyrus.cpp.profile;${target.folder}/../../org.eclipse.papyrus.acceleo;${target.folder}/../../org.eclipse.papyrus.infra.services.tracepoints;${target.folder}/../../org.eclipse.papyrus.qompass.designer.ui;"
binaryResource="false"
packagesToRegister="">
</acceleoCompiler>
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/handler/RefreshHandler.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/handler/RefreshHandler.java
index dacfdea5e41..4c8b093f7a9 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/handler/RefreshHandler.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/handler/RefreshHandler.java
@@ -1,6 +1,6 @@
/*****************************************************************************
* Copyright (c) 2012 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
@@ -41,20 +41,21 @@ public class RefreshHandler extends AbstractHandler {
* We use weak references so that we do not block the garbage collection of objects
*/
private static Collection<WeakReference<IRefreshHandlerPart>> PARTS = new LinkedList<WeakReference<IRefreshHandlerPart>>();
-
+
/**
* Register a refresher part that is not attached to any editor
*
* @param refresher
- * The refresher part
+ * The refresher part
*/
public static synchronized void register(IRefreshHandlerPart refresher) {
PARTS.add(new WeakReference<IRefreshHandlerPart>(refresher));
}
-
+
/**
* @see org.eclipse.core.commands.AbstractHandler#execute(org.eclipse.core.commands.ExecutionEvent)
*/
+ @Override
public Object execute(ExecutionEvent event) throws ExecutionException {
IEditorPart activeEditor;
try {
@@ -64,21 +65,22 @@ public class RefreshHandler extends AbstractHandler {
return null;
}
- // Refresh the base GMF objects
- DiagramHelper.refresh(activeEditor);
-
+ //Hooks must be called before the actual refresh, because they typically reset cache
// Call the relevant hooks
callRefresherHooks(activeEditor);
+ // Refresh the base GMF objects
+ DiagramHelper.refresh(activeEditor);
+
return null;
}
-
+
private synchronized void callRefresherHooks(IEditorPart activeEditor) {
Iterator<WeakReference<IRefreshHandlerPart>> iterator = PARTS.iterator();
- while (iterator.hasNext()) {
+ while(iterator.hasNext()) {
WeakReference<IRefreshHandlerPart> wr = iterator.next();
IRefreshHandlerPart part = wr.get();
- if (part != null) {
+ if(part != null) {
part.refresh(activeEditor);
} else {
iterator.remove();
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.emf.nattable/src/org/eclipse/papyrus/infra/emf/nattable/manager/cell/EMFFeatureValueCellManager.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.emf.nattable/src/org/eclipse/papyrus/infra/emf/nattable/manager/cell/EMFFeatureValueCellManager.java
index 297e2a3a5cf..7b627dcf198 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.emf.nattable/src/org/eclipse/papyrus/infra/emf/nattable/manager/cell/EMFFeatureValueCellManager.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.emf.nattable/src/org/eclipse/papyrus/infra/emf/nattable/manager/cell/EMFFeatureValueCellManager.java
@@ -22,13 +22,11 @@ import java.util.Map;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.emf.common.command.Command;
import org.eclipse.emf.common.command.UnexecutableCommand;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.transaction.RecordingCommand;
import org.eclipse.emf.transaction.TransactionalEditingDomain;
import org.eclipse.gmf.runtime.common.core.command.CommandResult;
import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
@@ -41,8 +39,6 @@ import org.eclipse.papyrus.commands.wrappers.EMFtoGMFCommandWrapper;
import org.eclipse.papyrus.commands.wrappers.GMFtoEMFCommandWrapper;
import org.eclipse.papyrus.infra.emf.utils.EMFStringValueConverter;
import org.eclipse.papyrus.infra.nattable.manager.cell.AbstractCellManager;
-import org.eclipse.papyrus.infra.nattable.manager.cell.CellManagerFactory;
-import org.eclipse.papyrus.infra.nattable.manager.cell.ICellManager;
import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
import org.eclipse.papyrus.infra.nattable.paste.IValueSetter;
import org.eclipse.papyrus.infra.nattable.paste.ReferenceValueSetter;
@@ -183,6 +179,17 @@ public class EMFFeatureValueCellManager extends AbstractCellManager {
* the command to set the value
*/
protected Command getSetValueCommand(final TransactionalEditingDomain domain, final EObject elementToEdit, final EStructuralFeature featureToEdit, final Object newValue) {
+ //426731: [Table 2] Opening then closing cells editors without modifiyng values execute a command in the stack
+ //https://bugs.eclipse.org/bugs/show_bug.cgi?id=426731
+ //1. we verify that the new valu eis not the same thjan the current value
+ final Object currentValue = elementToEdit.eGet(featureToEdit);
+ if(newValue == null && currentValue == null) {
+ return UnexecutableCommand.INSTANCE;
+ }
+ if(newValue != null && newValue.equals(currentValue)) {
+ return UnexecutableCommand.INSTANCE;
+ }
+ //2. if not we do the job
final AbstractEditCommandRequest request = new SetRequest(domain, elementToEdit, featureToEdit, newValue);
final IElementEditService provider = ElementEditServiceUtils.getCommandProvider(elementToEdit);
final ICommand cmd = provider.getEditCommand(request);
@@ -229,9 +236,9 @@ public class EMFFeatureValueCellManager extends AbstractCellManager {
}
return new GMFtoEMFCommandWrapper(returnedCommand);
}
-
-
- protected final ICommand getOpenConfirmChangeContainmentDialogCommand(final TransactionalEditingDomain domain, final ICommand defaultCommand, final boolean isMany){
+
+
+ protected final ICommand getOpenConfirmChangeContainmentDialogCommand(final TransactionalEditingDomain domain, final ICommand defaultCommand, final boolean isMany) {
final String messageDialog;
if(isMany) {
messageDialog = "Your are setting a value in a containment feature. This action will change the owner of the dropped element(s).\nContinue?";
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.views.config/src/org/eclipse/papyrus/infra/nattable/views/config/manager/cell/ModelViewsCellManager.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.views.config/src/org/eclipse/papyrus/infra/nattable/views/config/manager/cell/ModelViewsCellManager.java
index e2ffd90c082..8e44156f8dc 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.views.config/src/org/eclipse/papyrus/infra/nattable/views/config/manager/cell/ModelViewsCellManager.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.views.config/src/org/eclipse/papyrus/infra/nattable/views/config/manager/cell/ModelViewsCellManager.java
@@ -36,6 +36,7 @@ import org.eclipse.papyrus.infra.services.edit.service.IElementEditService;
/**
* The Cell manager for the ModelViews table
+ * TODO : should inherits from emf.nattable
*
* @author Vincent Lorenzo
*
@@ -160,9 +161,13 @@ public class ModelViewsCellManager extends AbstractCellManager {
final String featureName = ((String)objects.get(1)).replace(Utils.NATTABLE_EDITOR_PAGE_ID, ""); //$NON-NLS-1$
if(Utils.VIEW_NAME.equals(featureName)) {
final EStructuralFeature feature = editor.eClass().getEStructuralFeature(Utils.VIEW_NAME);
- final AbstractEditCommandRequest request = new SetRequest((TransactionalEditingDomain)domain, editor, feature, newValue);
- final IElementEditService provider = ElementEditServiceUtils.getCommandProvider(editor);
- return new GMFtoEMFCommandWrapper(provider.getEditCommand(request));
+ if(!newValue.equals(editor.eClass().eGet(feature))) {
+ // 426731: [Table 2] Opening then closing cells editors without modifiyng values execute a command in the stack
+ // https://bugs.eclipse.org/bugs/show_bug.cgi?id=426731
+ final AbstractEditCommandRequest request = new SetRequest((TransactionalEditingDomain)domain, editor, feature, newValue);
+ final IElementEditService provider = ElementEditServiceUtils.getCommandProvider(editor);
+ return new GMFtoEMFCommandWrapper(provider.getEditCommand(request));
+ }
}
return null;
}
@@ -218,12 +223,10 @@ public class ModelViewsCellManager extends AbstractCellManager {
*/
protected Object getEditorName(final Object editor) {
if(editor instanceof EObject) {
- if(editor instanceof EObject) {
- final EObject eobject = (EObject)editor;
- EStructuralFeature feature = eobject.eClass().getEStructuralFeature(Utils.VIEW_NAME);
- if(feature != null) {
- return eobject.eGet(feature);
- }
+ final EObject eobject = (EObject)editor;
+ EStructuralFeature feature = eobject.eClass().getEStructuralFeature(Utils.VIEW_NAME);
+ if(feature != null) {
+ return eobject.eGet(feature);
}
}
return NOT_AVALAIBLE;
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/cell/AbstractCellManager.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/cell/AbstractCellManager.java
index e24a9c648e4..a8c7c3fd4f1 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/cell/AbstractCellManager.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/cell/AbstractCellManager.java
@@ -98,8 +98,9 @@ public abstract class AbstractCellManager implements ICellManager {
@Override
public void setValue(final TransactionalEditingDomain domain, final Object columnElement, final Object rowElement, final Object newValue, final INattableModelManager tableManager) {
final Command cmd = getSetValueCommand(domain, columnElement, rowElement, newValue, tableManager);
- assert cmd != null;
- domain.getCommandStack().execute(cmd);
+ if(cmd != null) {
+ domain.getCommandStack().execute(cmd);
+ }
}
/**
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/cell/ICellManager.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/cell/ICellManager.java
index f239a73bd7c..b4a83c67385 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/cell/ICellManager.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/cell/ICellManager.java
@@ -99,7 +99,7 @@ public interface ICellManager {
* the new value to set to the intersection of these 2 objects
* @param tableManager
* @return
- * the command to set the value
+ * the command to set the value or <code>null</code>
*/
public Command getSetValueCommand(final TransactionalEditingDomain domain, final Object columnElement, final Object rowElement, final Object newValue, final INattableModelManager tableManager);
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/edit/dialogs/WarningAndCreateAttributeDialog.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/edit/dialogs/WarningAndCreateAttributeDialog.java
index dae3da95831..145ccfb81b6 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/edit/dialogs/WarningAndCreateAttributeDialog.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/edit/dialogs/WarningAndCreateAttributeDialog.java
@@ -122,7 +122,7 @@ public class WarningAndCreateAttributeDialog extends MessageDialog {
completeText.append(START_FORM);
StringBuffer impactText = new StringBuffer();
// explore referencing elements
- Collection<Setting> references = CacheAdapter.INSTANCE.getNonNavigableInverseReferences(attributeOwner);
+ Collection<Setting> references = CacheAdapter.getInstance().getNonNavigableInverseReferences(attributeOwner);
HashSet<EObject> impactedElements = new HashSet<EObject>();
for(Setting ref : references) {
EObject referencing = ref.getEObject();
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/edit/dialogs/WarningAndCreateParameterDialog.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/edit/dialogs/WarningAndCreateParameterDialog.java
index a752093c42b..b9f8dee4d45 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/edit/dialogs/WarningAndCreateParameterDialog.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/edit/dialogs/WarningAndCreateParameterDialog.java
@@ -129,7 +129,7 @@ public class WarningAndCreateParameterDialog extends MessageDialog {
completeText.append(START_FORM);
StringBuffer impactText = new StringBuffer();
// explore referencing elements
- Collection<Setting> references = CacheAdapter.INSTANCE.getNonNavigableInverseReferences(parameterOwner);
+ Collection<Setting> references = CacheAdapter.getInstance().getNonNavigableInverseReferences(parameterOwner);
HashSet<EObject> impactedElements = new HashSet<EObject>();
for(Setting ref : references) {
EObject referencing = ref.getEObject();
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/helper/ActivityParameterAndParameterSynchronizer.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/helper/ActivityParameterAndParameterSynchronizer.java
index 25a20916800..1fd68f4598a 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/helper/ActivityParameterAndParameterSynchronizer.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/helper/ActivityParameterAndParameterSynchronizer.java
@@ -220,7 +220,7 @@ public class ActivityParameterAndParameterSynchronizer extends AbstractModelCons
private Set<ActivityParameterNode> getActivityParameterNodesFromParameter(Parameter parameter) {
Set<ActivityParameterNode> references = new HashSet<ActivityParameterNode>();
if(parameter != null) {
- Collection<Setting> inverseReferences = CacheAdapter.INSTANCE.getNonNavigableInverseReferences(parameter);
+ Collection<Setting> inverseReferences = CacheAdapter.getInstance().getNonNavigableInverseReferences(parameter);
for(Setting ref : inverseReferences) {
if(UMLPackage.eINSTANCE.getActivityParameterNode_Parameter().equals(ref.getEStructuralFeature()) && ref.getEObject().eContainer() != null) {
references.add((ActivityParameterNode)ref.getEObject());
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/helper/PinAndParameterSynchronizer.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/helper/PinAndParameterSynchronizer.java
index 75edee3fa65..367b37f218c 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/helper/PinAndParameterSynchronizer.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/helper/PinAndParameterSynchronizer.java
@@ -803,7 +803,7 @@ public class PinAndParameterSynchronizer extends AbstractModelConstraint {
// explore referencing actions
Set<InvocationAction> callingActions = new HashSet<InvocationAction>();
if(element instanceof Behavior || element instanceof Operation) {
- Collection<Setting> references = CacheAdapter.INSTANCE.getNonNavigableInverseReferences(element);
+ Collection<Setting> references = CacheAdapter.getInstance().getNonNavigableInverseReferences(element);
for(Setting ref : references) {
EObject action = ref.getEObject();
// parameter's owner is action's called Operation
@@ -815,7 +815,7 @@ public class PinAndParameterSynchronizer extends AbstractModelConstraint {
}
}
} else if(element instanceof Signal) {
- Collection<Setting> references = CacheAdapter.INSTANCE.getNonNavigableInverseReferences(element);
+ Collection<Setting> references = CacheAdapter.getInstance().getNonNavigableInverseReferences(element);
for(Setting ref : references) {
EObject action = ref.getEObject();
// parameter's owner is action's sent Signal
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.communication/custom-src/org/eclipse/papyrus/uml/diagram/communication/custom/helper/CommunicationUtil.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.communication/custom-src/org/eclipse/papyrus/uml/diagram/communication/custom/helper/CommunicationUtil.java
index 0d9977fd437..9a60227da9a 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.communication/custom-src/org/eclipse/papyrus/uml/diagram/communication/custom/helper/CommunicationUtil.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.communication/custom-src/org/eclipse/papyrus/uml/diagram/communication/custom/helper/CommunicationUtil.java
@@ -203,7 +203,7 @@ public class CommunicationUtil {
if(message == null) {
return null;
}
- Collection<Setting> settings = CacheAdapter.INSTANCE.getNonNavigableInverseReferences(message);
+ Collection<Setting> settings = CacheAdapter.getInstance().getNonNavigableInverseReferences(message);
for(Setting ref : settings) {
if(NotationPackage.eINSTANCE.getView_Element().equals(ref.getEStructuralFeature())) {
View view = (View)ref.getEObject();
@@ -229,7 +229,7 @@ public class CommunicationUtil {
if(execution == null) {
return null;
}
- Collection<Setting> settings = CacheAdapter.INSTANCE.getNonNavigableInverseReferences(execution);
+ Collection<Setting> settings = CacheAdapter.getInstance().getNonNavigableInverseReferences(execution);
for(Setting ref : settings) {
if(NotationPackage.eINSTANCE.getView_Element().equals(ref.getEStructuralFeature())) {
View view = (View)ref.getEObject();
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/command/ConnectorCreateCommand.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/command/ConnectorCreateCommand.java
index 8b6d7dcc79c..425c09c1436 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/command/ConnectorCreateCommand.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/command/ConnectorCreateCommand.java
@@ -141,6 +141,7 @@ public class ConnectorCreateCommand extends org.eclipse.papyrus.uml.diagram.comp
if((target != null) && (getContainer() == null)) {
return false;
}
+
// return
// UMLBaseItemSemanticEditPolicy.LinkConstraints.canCreateConnector_4013(getContainer(),
// _getSource(),
@@ -243,7 +244,7 @@ public class ConnectorCreateCommand extends org.eclipse.papyrus.uml.diagram.comp
StructuredClassifier containerProposedBySource = proposedContainer(sourceGraphicalEditPart);
StructuredClassifier containerProposedByTarget = proposedContainer(targetGraphicalEditPart);
-
+
StructuredClassifier deducedContainer = null;
if((containerProposedBySource != null) && (containerProposedByTarget != null)) {
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/itemsemantic/PropertyPartItemSemanticEditPolicyCN.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/itemsemantic/PropertyPartItemSemanticEditPolicyCN.java
index 94dac2414e0..a911fec83c6 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/itemsemantic/PropertyPartItemSemanticEditPolicyCN.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/custom-src/org/eclipse/papyrus/uml/diagram/component/custom/edit/policies/itemsemantic/PropertyPartItemSemanticEditPolicyCN.java
@@ -25,7 +25,7 @@ import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipReques
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.papyrus.infra.services.edit.service.ElementEditServiceUtils;
import org.eclipse.papyrus.infra.services.edit.service.IElementEditService;
-import org.eclipse.papyrus.uml.diagram.component.edit.commands.ConnectorCreateCommand;
+import org.eclipse.papyrus.uml.diagram.component.custom.edit.command.ConnectorCreateCommand;
import org.eclipse.papyrus.uml.diagram.component.edit.parts.ConnectorEditPart;
import org.eclipse.papyrus.uml.diagram.component.providers.UMLElementTypes;
import org.eclipse.papyrus.uml.service.types.utils.RequestParameterConstants;
@@ -87,6 +87,8 @@ public class PropertyPartItemSemanticEditPolicyCN extends org.eclipse.papyrus.um
@Override
protected Command getStartCreateRelationshipCommand(CreateRelationshipRequest req) {
if(UMLElementTypes.Connector_4019 == req.getElementType()) {
+ req.setParameter(org.eclipse.papyrus.uml.diagram.component.custom.edit.policies.GraphicalNodeEditPolicy.CONNECTOR_CREATE_REQUEST_SOURCE_GRAPHICAL, getHost());
+
return getGEFWrapper(new ConnectorCreateCommand(req, req.getSource(), req.getTarget()));
}
return super.getStartCreateRelationshipCommand(req);
@@ -103,6 +105,8 @@ public class PropertyPartItemSemanticEditPolicyCN extends org.eclipse.papyrus.um
@Override
protected Command getCompleteCreateRelationshipCommand(CreateRelationshipRequest req) {
if(UMLElementTypes.Connector_4019 == req.getElementType()) {
+ req.setParameter(org.eclipse.papyrus.uml.diagram.component.custom.edit.policies.GraphicalNodeEditPolicy.CONNECTOR_CREATE_REQUEST_TARGET_GRAPHICAL, getHost());
+
return getGEFWrapper(new ConnectorCreateCommand(req, req.getSource(), req.getTarget()));
}
return super.getCompleteCreateRelationshipCommand(req);
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/PropertyItemSemanticEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/PropertyItemSemanticEditPolicy.java
index 172f026e434..904d15e34f1 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/PropertyItemSemanticEditPolicy.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component/src/org/eclipse/papyrus/uml/diagram/component/edit/policies/PropertyItemSemanticEditPolicy.java
@@ -67,6 +67,7 @@ import org.eclipse.papyrus.uml.diagram.component.edit.parts.SubstitutionEditPart
import org.eclipse.papyrus.uml.diagram.component.edit.parts.UsageEditPart;
import org.eclipse.papyrus.uml.diagram.component.part.UMLVisualIDRegistry;
import org.eclipse.papyrus.uml.diagram.component.providers.UMLElementTypes;
+import org.eclipse.papyrus.uml.service.types.utils.RequestParameterConstants;
/**
* @generated
@@ -360,7 +361,25 @@ public class PropertyItemSemanticEditPolicy extends UMLBaseItemSemanticEditPolic
* @generated
*/
protected Command getReorientRelationshipCommand(ReorientRelationshipRequest req) {
+ IElementEditService provider = ElementEditServiceUtils.getCommandProvider(req.getRelationship());
+ ICommand reorientCommand =null;
switch(getVisualID(req)) {
+ case org.eclipse.papyrus.uml.diagram.component.edit.parts.ConnectorEditPart.VISUAL_ID:
+ if(provider == null) {
+ return UnexecutableCommand.INSTANCE;
+ }
+
+ // Add graphical new end View in request parameters
+ View targetView = (View)getHost().getModel();
+ req.setParameter(RequestParameterConstants.EDGE_REORIENT_REQUEST_END_VIEW, targetView);
+
+ // Retrieve re-orient command from the Element Edit service
+ reorientCommand = provider.getEditCommand(req);
+ if(reorientCommand == null) {
+ return UnexecutableCommand.INSTANCE;
+ }
+ return getGEFWrapper(reorientCommand.reduce());
+
case UsageEditPart.VISUAL_ID:
case InterfaceRealizationEditPart.VISUAL_ID:
case SubstitutionEditPart.VISUAL_ID:
@@ -369,12 +388,12 @@ public class PropertyItemSemanticEditPolicy extends UMLBaseItemSemanticEditPolic
case AbstractionEditPart.VISUAL_ID:
case DependencyEditPart.VISUAL_ID:
case DependencyBranchEditPart.VISUAL_ID:
- IElementEditService provider = ElementEditServiceUtils.getCommandProvider(req.getRelationship());
+
if(provider == null) {
return UnexecutableCommand.INSTANCE;
}
// Retrieve re-orient command from the Element Edit service
- ICommand reorientCommand = provider.getEditCommand(req);
+ reorientCommand = provider.getEditCommand(req);
if(reorientCommand == null) {
return UnexecutableCommand.INSTANCE;
}
@@ -398,4 +417,5 @@ public class PropertyItemSemanticEditPolicy extends UMLBaseItemSemanticEditPolic
}
return super.getReorientReferenceRelationshipCommand(req);
}
+
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/OccurrenceSpecificationMoveHelper.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/OccurrenceSpecificationMoveHelper.java
index 70065362963..95e2a773b41 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/OccurrenceSpecificationMoveHelper.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/OccurrenceSpecificationMoveHelper.java
@@ -171,7 +171,7 @@ public class OccurrenceSpecificationMoveHelper {
}
// reconnect general ordering from the event
for(GeneralOrdering go : movedOccurrenceSpecification.getToAfters()) {
- Collection<Setting> settings = CacheAdapter.INSTANCE.getNonNavigableInverseReferences(go);
+ Collection<Setting> settings = CacheAdapter.getInstance().getNonNavigableInverseReferences(go);
for(Setting ref : settings) {
if(NotationPackage.eINSTANCE.getView_Element().equals(ref.getEStructuralFeature())) {
View view = (View)ref.getEObject();
@@ -189,7 +189,7 @@ public class OccurrenceSpecificationMoveHelper {
}
// reconnect general ordering to the event
for(GeneralOrdering go : movedOccurrenceSpecification.getToBefores()) {
- Collection<Setting> settings = CacheAdapter.INSTANCE.getNonNavigableInverseReferences(go);
+ Collection<Setting> settings = CacheAdapter.getInstance().getNonNavigableInverseReferences(go);
for(Setting ref : settings) {
if(NotationPackage.eINSTANCE.getView_Element().equals(ref.getEStructuralFeature())) {
View view = (View)ref.getEObject();
@@ -234,7 +234,7 @@ public class OccurrenceSpecificationMoveHelper {
// reconnect message from the event
Message message = ((MessageOccurrenceSpecification)movedOccurrenceSpecification).getMessage();
if(message != null && movedOccurrenceSpecification.equals(message.getSendEvent())) {
- Collection<Setting> settings = CacheAdapter.INSTANCE.getNonNavigableInverseReferences(message);
+ Collection<Setting> settings = CacheAdapter.getInstance().getNonNavigableInverseReferences(message);
for(Setting ref : settings) {
if(NotationPackage.eINSTANCE.getView_Element().equals(ref.getEStructuralFeature())) {
View view = (View)ref.getEObject();
@@ -255,7 +255,7 @@ public class OccurrenceSpecificationMoveHelper {
}
// reconnect message to the event
if(message != null && movedOccurrenceSpecification.equals(message.getReceiveEvent())) {
- Collection<Setting> settings = CacheAdapter.INSTANCE.getNonNavigableInverseReferences(message);
+ Collection<Setting> settings = CacheAdapter.getInstance().getNonNavigableInverseReferences(message);
for(Setting ref : settings) {
if(NotationPackage.eINSTANCE.getView_Element().equals(ref.getEStructuralFeature())) {
View view = (View)ref.getEObject();
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/SequenceUtil.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/SequenceUtil.java
index bd93c885fc6..de8d138f3bf 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/SequenceUtil.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/SequenceUtil.java
@@ -832,7 +832,7 @@ public class SequenceUtil {
if(message == null) {
return null;
}
- Collection<Setting> settings = CacheAdapter.INSTANCE.getNonNavigableInverseReferences(message);
+ Collection<Setting> settings = CacheAdapter.getInstance().getNonNavigableInverseReferences(message);
for(Setting ref : settings) {
if(NotationPackage.eINSTANCE.getView_Element().equals(ref.getEStructuralFeature())) {
View view = (View)ref.getEObject();
@@ -858,7 +858,7 @@ public class SequenceUtil {
if(execution == null) {
return null;
}
- Collection<Setting> settings = CacheAdapter.INSTANCE.getNonNavigableInverseReferences(execution);
+ Collection<Setting> settings = CacheAdapter.getInstance().getNonNavigableInverseReferences(execution);
for(Setting ref : settings) {
if(NotationPackage.eINSTANCE.getView_Element().equals(ref.getEStructuralFeature())) {
View view = (View)ref.getEObject();
diff --git a/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/config/UMLFeatureCellEditorConfig.java b/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/config/UMLFeatureCellEditorConfig.java
index ec321760dad..a70adb0d6b9 100644
--- a/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/config/UMLFeatureCellEditorConfig.java
+++ b/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/config/UMLFeatureCellEditorConfig.java
@@ -15,12 +15,12 @@ import org.eclipse.nebula.widgets.nattable.edit.editor.ComboBoxCellEditor;
import org.eclipse.nebula.widgets.nattable.edit.editor.ICellEditor;
import org.eclipse.nebula.widgets.nattable.edit.editor.IComboBoxDataProvider;
import org.eclipse.nebula.widgets.nattable.edit.editor.TextCellEditor;
+import org.eclipse.nebula.widgets.nattable.edit.gui.AbstractDialogCellEditor;
import org.eclipse.nebula.widgets.nattable.layer.cell.ILayerCell;
import org.eclipse.nebula.widgets.nattable.painter.cell.ICellPainter;
import org.eclipse.nebula.widgets.nattable.painter.cell.TextPainter;
import org.eclipse.papyrus.infra.emf.nattable.celleditor.config.EStructuralFeatureEditorConfig;
import org.eclipse.papyrus.infra.emf.utils.EMFHelper;
-import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
import org.eclipse.papyrus.infra.nattable.manager.table.ITableAxisElementProvider;
import org.eclipse.papyrus.infra.nattable.model.nattable.Table;
import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.IAxis;
@@ -35,6 +35,8 @@ import org.eclipse.papyrus.uml.nattable.editor.MultiReferenceCellEditor;
import org.eclipse.papyrus.uml.nattable.editor.MultiStringCellEditor;
import org.eclipse.papyrus.uml.nattable.editor.MultiUnlimitedNaturalCellEditor;
import org.eclipse.papyrus.uml.nattable.editor.SingleReferenceValueCellEditor;
+import org.eclipse.papyrus.uml.nattable.editor.StereotypeApplierCellEditorWrapper;
+import org.eclipse.papyrus.uml.nattable.editor.StereotypeApplierDialogCellEditorWrapper;
import org.eclipse.papyrus.uml.nattable.utils.UMLTableUtils;
import org.eclipse.papyrus.uml.nattable.validator.RealDataValidator;
import org.eclipse.papyrus.uml.nattable.validator.UnlimitedNaturalDataValidator;
@@ -133,7 +135,6 @@ public class UMLFeatureCellEditorConfig extends EStructuralFeatureEditorConfig {
// conf.setAction(action);
// conf.setTooltipText("Open a dialog to select the value");
// editor = new ComboBoxWithButtonCellEditor(dataProvider, conf);
- INattableModelManager manager = (INattableModelManager)elementProvider;
editor = new SingleReferenceValueCellEditor(axisElement, elementProvider);
break;
case SINGLE_UML_ENUMERATION:
@@ -167,6 +168,14 @@ public class UMLFeatureCellEditorConfig extends EStructuralFeatureEditorConfig {
editor = super.getICellEditor(table, axisElement, elementProvider);
break;
}
+ // to apply required stereotype before edition
+ // see bug 426709: [Table 2][Stereotype] Papyrus Table must allows to edit stereotype properties even if the required stereotypes is not yet applied
+ // https://bugs.eclipse.org/bugs/show_bug.cgi?id=426709
+ if(editor instanceof AbstractDialogCellEditor) {
+ editor = new StereotypeApplierDialogCellEditorWrapper((AbstractDialogCellEditor)editor, axisElement, elementProvider);
+ } else if(editor instanceof ICellEditor) {
+ editor = new StereotypeApplierCellEditorWrapper(editor, axisElement, elementProvider);
+ }
return editor;
}
@@ -499,4 +508,4 @@ public class UMLFeatureCellEditorConfig extends EStructuralFeatureEditorConfig {
public String getEditorConfigId() {
return EDITOR_CONFIG_ID;
}
-} \ No newline at end of file
+}
diff --git a/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/editor/StereotypeApplierCellEditorWrapper.java b/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/editor/StereotypeApplierCellEditorWrapper.java
new file mode 100644
index 00000000000..c7871b0a79a
--- /dev/null
+++ b/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/editor/StereotypeApplierCellEditorWrapper.java
@@ -0,0 +1,426 @@
+/*****************************************************************************
+ * Copyright (c) 2014 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:
+ *
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.nattable.editor;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.nebula.widgets.nattable.config.IConfigRegistry;
+import org.eclipse.nebula.widgets.nattable.edit.ICellEditHandler;
+import org.eclipse.nebula.widgets.nattable.edit.editor.ICellEditor;
+import org.eclipse.nebula.widgets.nattable.edit.editor.IEditErrorHandler;
+import org.eclipse.nebula.widgets.nattable.layer.cell.ILayerCell;
+import org.eclipse.nebula.widgets.nattable.selection.SelectionLayer.MoveDirectionEnum;
+import org.eclipse.nebula.widgets.nattable.widget.EditModeEnum;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.emf.utils.ServiceUtilsForEObject;
+import org.eclipse.papyrus.infra.nattable.Activator;
+import org.eclipse.papyrus.infra.nattable.manager.table.ITableAxisElementProvider;
+import org.eclipse.papyrus.infra.nattable.utils.AxisUtils;
+import org.eclipse.papyrus.uml.nattable.utils.UMLTableUtils;
+import org.eclipse.papyrus.uml.tools.commands.ApplyStereotypeCommand;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Stereotype;
+
+/**
+ * Wrapper to apply stereotypes if required before to do the edition
+ * see bug 426709: [Table 2][Stereotype] Papyrus Table must allows to edit stereotype properties even if the required stereotypes is not yet applied
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=426709
+ *
+ * elementProvider
+ */
+public class StereotypeApplierCellEditorWrapper implements ICellEditor {
+
+ /** the wrapped celleditor. */
+ protected final ICellEditor wrappedCellEditor;
+
+ /**
+ * the edited axis
+ */
+ protected final Object axisElement;
+
+ /**
+ * the table element provider
+ */
+ protected final ITableAxisElementProvider elementProvider;
+
+ /**
+ *
+ * Constructor.
+ *
+ * @param wrappedCellEditor
+ * the wrapped cell editor
+ * @param axisElement
+ * the edited axis
+ * @param elementProvider
+ * the axis element provider
+ */
+ public StereotypeApplierCellEditorWrapper(final ICellEditor wrappedCellEditor, final Object axisElement, final ITableAxisElementProvider elementProvider) {
+ this.wrappedCellEditor = wrappedCellEditor;
+ this.axisElement = axisElement;
+ this.elementProvider = elementProvider;
+ }
+
+ /**
+ * @see org.eclipse.nebula.widgets.nattable.edit.editor.ICellEditor#activateCell(org.eclipse.swt.widgets.Composite, java.lang.Object,
+ * org.eclipse.nebula.widgets.nattable.widget.EditModeEnum, org.eclipse.nebula.widgets.nattable.edit.ICellEditHandler,
+ * org.eclipse.nebula.widgets.nattable.layer.cell.ILayerCell, org.eclipse.nebula.widgets.nattable.config.IConfigRegistry)
+ *
+ * @param parent
+ * @param originalCanonicalValue
+ * @param editMode
+ * @param editHandler
+ * @param cell
+ * @param configRegistry
+ * @return
+ */
+
+ @Override
+ public Control activateCell(Composite parent, Object originalCanonicalValue, EditModeEnum editMode, ICellEditHandler editHandler, ILayerCell cell, IConfigRegistry configRegistry) {
+ int columnIndex = cell.getColumnIndex();
+ int rowIndex = cell.getRowIndex();
+ Object row = this.elementProvider.getRowElement(rowIndex);
+ Object column = this.elementProvider.getColumnElement(columnIndex);
+ row = AxisUtils.getRepresentedElement(row);
+ column = AxisUtils.getRepresentedElement(column);
+ Element editedElement = null;
+ Object feature = null;
+ if(row instanceof EObject && column == this.axisElement) {
+ editedElement = (Element)row;
+ feature = column;
+ } else {
+ editedElement = (Element)column;
+ feature = row;
+ }
+
+ if(!(feature instanceof EStructuralFeature)) {
+ final String id = AxisUtils.getPropertyId(this.axisElement);
+ applyRequiredStereotype(editedElement, id);
+ }
+ return this.wrappedCellEditor.activateCell(parent, originalCanonicalValue, editMode, editHandler, cell, configRegistry);
+ }
+
+ /**
+ * @see org.eclipse.nebula.widgets.nattable.edit.editor.ICellEditor#getColumnIndex()
+ *
+ * @return
+ */
+
+ @Override
+ public int getColumnIndex() {
+ return this.wrappedCellEditor.getColumnIndex();
+ }
+
+ /**
+ * @see org.eclipse.nebula.widgets.nattable.edit.editor.ICellEditor#getRowIndex()
+ *
+ * @return
+ */
+
+ @Override
+ public int getRowIndex() {
+ return this.wrappedCellEditor.getRowIndex();
+ }
+
+ /**
+ * @see org.eclipse.nebula.widgets.nattable.edit.editor.ICellEditor#getColumnPosition()
+ *
+ * @return
+ */
+
+ @Override
+ public int getColumnPosition() {
+ return this.wrappedCellEditor.getColumnPosition();
+ }
+
+ /**
+ * @see org.eclipse.nebula.widgets.nattable.edit.editor.ICellEditor#getRowPosition()
+ *
+ * @return
+ */
+
+ @Override
+ public int getRowPosition() {
+ return this.wrappedCellEditor.getRowPosition();
+ }
+
+ /**
+ * @see org.eclipse.nebula.widgets.nattable.edit.editor.ICellEditor#getEditorValue()
+ *
+ * @return
+ */
+
+ @Override
+ public Object getEditorValue() {
+ return this.wrappedCellEditor.getEditorValue();
+ }
+
+ /**
+ * @see org.eclipse.nebula.widgets.nattable.edit.editor.ICellEditor#setEditorValue(java.lang.Object)
+ *
+ * @param value
+ */
+
+ @Override
+ public void setEditorValue(Object value) {
+ this.wrappedCellEditor.setEditorValue(value);
+ }
+
+ /**
+ * @see org.eclipse.nebula.widgets.nattable.edit.editor.ICellEditor#getCanonicalValue()
+ *
+ * @return
+ */
+
+ @Override
+ public Object getCanonicalValue() {
+ return this.wrappedCellEditor.getCanonicalValue();
+ }
+
+ /**
+ * @see org.eclipse.nebula.widgets.nattable.edit.editor.ICellEditor#getCanonicalValue(org.eclipse.nebula.widgets.nattable.edit.editor.IEditErrorHandler)
+ *
+ * @param conversionErrorHandler
+ * @return
+ */
+
+ @Override
+ public Object getCanonicalValue(IEditErrorHandler conversionErrorHandler) {
+ return this.wrappedCellEditor.getCanonicalValue(conversionErrorHandler);
+ }
+
+ /**
+ * @see org.eclipse.nebula.widgets.nattable.edit.editor.ICellEditor#setCanonicalValue(java.lang.Object)
+ *
+ * @param canonicalValue
+ */
+
+ @Override
+ public void setCanonicalValue(Object canonicalValue) {
+ this.wrappedCellEditor.setCanonicalValue(canonicalValue);
+ }
+
+ /**
+ * @see org.eclipse.nebula.widgets.nattable.edit.editor.ICellEditor#validateCanonicalValue(java.lang.Object)
+ *
+ * @param canonicalValue
+ * @return
+ */
+
+ @Override
+ public boolean validateCanonicalValue(Object canonicalValue) {
+ return this.wrappedCellEditor.validateCanonicalValue(canonicalValue);
+ }
+
+ /**
+ * @see org.eclipse.nebula.widgets.nattable.edit.editor.ICellEditor#validateCanonicalValue(java.lang.Object,
+ * org.eclipse.nebula.widgets.nattable.edit.editor.IEditErrorHandler)
+ *
+ * @param canonicalValue
+ * @param validationErrorHandler
+ * @return
+ */
+
+ @Override
+ public boolean validateCanonicalValue(Object canonicalValue, IEditErrorHandler validationErrorHandler) {
+ return this.wrappedCellEditor.validateCanonicalValue(canonicalValue, validationErrorHandler);
+ }
+
+ /**
+ * @see org.eclipse.nebula.widgets.nattable.edit.editor.ICellEditor#commit(org.eclipse.nebula.widgets.nattable.selection.SelectionLayer.MoveDirectionEnum)
+ *
+ * @param direction
+ * @return
+ */
+
+ @Override
+ public boolean commit(MoveDirectionEnum direction) {
+ return this.wrappedCellEditor.commit(direction);
+ }
+
+ /**
+ * @see org.eclipse.nebula.widgets.nattable.edit.editor.ICellEditor#commit(org.eclipse.nebula.widgets.nattable.selection.SelectionLayer.MoveDirectionEnum,
+ * boolean)
+ *
+ * @param direction
+ * @param closeAfterCommit
+ * @return
+ */
+
+ @Override
+ public boolean commit(MoveDirectionEnum direction, boolean closeAfterCommit) {
+ return this.wrappedCellEditor.commit(direction, closeAfterCommit);
+ }
+
+ /**
+ * @see org.eclipse.nebula.widgets.nattable.edit.editor.ICellEditor#commit(org.eclipse.nebula.widgets.nattable.selection.SelectionLayer.MoveDirectionEnum,
+ * boolean, boolean)
+ *
+ * @param direction
+ * @param closeAfterCommit
+ * @param skipValidation
+ * @return
+ */
+
+ @Override
+ public boolean commit(MoveDirectionEnum direction, boolean closeAfterCommit, boolean skipValidation) {
+ return this.wrappedCellEditor.commit(direction, closeAfterCommit, skipValidation);
+ }
+
+ /**
+ * @see org.eclipse.nebula.widgets.nattable.edit.editor.ICellEditor#close()
+ *
+ */
+
+ @Override
+ public void close() {
+ this.wrappedCellEditor.close();
+ }
+
+ /**
+ * @see org.eclipse.nebula.widgets.nattable.edit.editor.ICellEditor#isClosed()
+ *
+ * @return
+ */
+
+ @Override
+ public boolean isClosed() {
+ return this.wrappedCellEditor.isClosed();
+ }
+
+ /**
+ * @see org.eclipse.nebula.widgets.nattable.edit.editor.ICellEditor#getEditorControl()
+ *
+ * @return
+ */
+
+ @Override
+ public Control getEditorControl() {
+ return this.wrappedCellEditor.getEditorControl();
+ }
+
+ /**
+ * @see org.eclipse.nebula.widgets.nattable.edit.editor.ICellEditor#createEditorControl(org.eclipse.swt.widgets.Composite)
+ *
+ * @param parent
+ * @return
+ */
+
+ @Override
+ public Control createEditorControl(Composite parent) {
+ return this.wrappedCellEditor.createEditorControl(parent);
+ }
+
+ /**
+ * @see org.eclipse.nebula.widgets.nattable.edit.editor.ICellEditor#openInline(org.eclipse.nebula.widgets.nattable.config.IConfigRegistry,
+ * java.util.List)
+ *
+ * @param configRegistry
+ * @param configLabels
+ * @return
+ */
+
+ @Override
+ public boolean openInline(IConfigRegistry configRegistry, List<String> configLabels) {
+ return this.wrappedCellEditor.openInline(configRegistry, configLabels);
+ }
+
+ /**
+ * @see org.eclipse.nebula.widgets.nattable.edit.editor.ICellEditor#supportMultiEdit(org.eclipse.nebula.widgets.nattable.config.IConfigRegistry,
+ * java.util.List)
+ *
+ * @param configRegistry
+ * @param configLabels
+ * @return
+ */
+
+ @Override
+ public boolean supportMultiEdit(IConfigRegistry configRegistry, List<String> configLabels) {
+ return this.wrappedCellEditor.supportMultiEdit(configRegistry, configLabels);
+ }
+
+ /**
+ * @see org.eclipse.nebula.widgets.nattable.edit.editor.ICellEditor#openAdjacentEditor()
+ *
+ * @return
+ */
+
+ @Override
+ public boolean openAdjacentEditor() {
+ return this.wrappedCellEditor.openAdjacentEditor();
+ }
+
+ /**
+ * @see org.eclipse.nebula.widgets.nattable.edit.editor.ICellEditor#activateAtAnyPosition()
+ *
+ * @return
+ */
+
+ @Override
+ public boolean activateAtAnyPosition() {
+ return this.wrappedCellEditor.activateAtAnyPosition();
+ }
+
+ /**
+ * @see org.eclipse.nebula.widgets.nattable.edit.editor.ICellEditor#addEditorControlListeners()
+ *
+ */
+
+ @Override
+ public void addEditorControlListeners() {
+ this.wrappedCellEditor.addEditorControlListeners();
+ }
+
+ /**
+ * Removes the editor control listeners.
+ *
+ * @see org.eclipse.nebula.widgets.nattable.edit.editor.ICellEditor#removeEditorControlListeners()
+ */
+
+ @Override
+ public void removeEditorControlListeners() {
+ this.wrappedCellEditor.removeEditorControlListeners();
+ }
+
+ /**
+ *
+ * @param el
+ * an element of the model
+ * @param propertyId
+ * the id of the edited property
+ * @return <code>true</code> if a stereotype has been applied
+ */
+ private static final boolean applyRequiredStereotype(final Element el, final String propertyId) {
+ if(UMLTableUtils.getAppliedStereotypesWithThisProperty(el, propertyId).size() == 0) {
+ final List<Stereotype> stereotypesList = UMLTableUtils.getApplicableStereotypesWithThisProperty(el, propertyId);
+ if(stereotypesList.size() == 1) {
+ TransactionalEditingDomain domain = null;
+ try {
+ domain = ServiceUtilsForEObject.getInstance().getTransactionalEditingDomain(el);
+ final ApplyStereotypeCommand applyCommand = new ApplyStereotypeCommand(el, stereotypesList.get(0), domain);
+ domain.getCommandStack().execute(applyCommand);
+ return true;
+ } catch (ServiceException e) {
+ Activator.log.error("EditingDomain not found", e); //$NON-NLS-1$
+ }
+ }
+ }
+ return false;
+ }
+
+}
diff --git a/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/editor/StereotypeApplierDialogCellEditorWrapper.java b/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/editor/StereotypeApplierDialogCellEditorWrapper.java
new file mode 100644
index 00000000000..ae176b4a7c7
--- /dev/null
+++ b/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/editor/StereotypeApplierDialogCellEditorWrapper.java
@@ -0,0 +1,104 @@
+/*****************************************************************************
+ * Copyright (c) 2014 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:
+ *
+ * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.nattable.editor;
+
+import java.util.Map;
+
+import org.eclipse.nebula.widgets.nattable.edit.EditTypeEnum;
+import org.eclipse.nebula.widgets.nattable.edit.gui.AbstractDialogCellEditor;
+import org.eclipse.nebula.widgets.nattable.edit.gui.ICellEditDialog;
+import org.eclipse.papyrus.infra.nattable.manager.table.ITableAxisElementProvider;
+
+
+/**
+ * Wrapper for cell editor dialogs
+ * see bug 426709: [Table 2][Stereotype] Papyrus Table must allows to edit stereotype properties even if the required stereotypes is not yet applied
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=426709
+ */
+public class StereotypeApplierDialogCellEditorWrapper extends StereotypeApplierCellEditorWrapper implements ICellEditDialog {
+
+ /**
+ * Instantiates a new stereotyped element dialog cell editor wrapper.
+ *
+ * @param wrappedCellEditor
+ * the wrapped cell editor
+ * @param axisElement
+ * the edited axis
+ * @param elementProvider
+ * the axis element provider
+ */
+ public StereotypeApplierDialogCellEditorWrapper(final AbstractDialogCellEditor wrappedCellEditor, final Object axisElement, final ITableAxisElementProvider elementProvider) {
+ super(wrappedCellEditor, axisElement, elementProvider);
+ }
+
+ /**
+ * @see org.eclipse.nebula.widgets.nattable.edit.gui.ICellEditDialog#getCommittedValue()
+ *
+ * @return
+ */
+
+ @Override
+ public Object getCommittedValue() {
+ return ((AbstractDialogCellEditor)this.wrappedCellEditor).getCommittedValue();
+ }
+
+ /**
+ * @see org.eclipse.nebula.widgets.nattable.edit.gui.ICellEditDialog#getEditType()
+ *
+ * @return
+ */
+
+ @Override
+ public EditTypeEnum getEditType() {
+ return ((AbstractDialogCellEditor)this.wrappedCellEditor).getEditType();
+ }
+
+ /**
+ * @see org.eclipse.nebula.widgets.nattable.edit.gui.ICellEditDialog#calculateValue(java.lang.Object, java.lang.Object)
+ *
+ * @param currentValue
+ * @param processValue
+ * @return
+ */
+
+ @Override
+ public Object calculateValue(Object currentValue, Object processValue) {
+ return ((AbstractDialogCellEditor)this.wrappedCellEditor).calculateValue(currentValue, processValue);
+ }
+
+ /**
+ * @see org.eclipse.nebula.widgets.nattable.edit.gui.ICellEditDialog#open()
+ *
+ * @return
+ */
+
+ @Override
+ public int open() {
+ return ((AbstractDialogCellEditor)this.wrappedCellEditor).open();
+ }
+
+ /**
+ * Sets the dialog settings.
+ *
+ * @param editDialogSettings
+ * the edit dialog settings
+ * @see org.eclipse.nebula.widgets.nattable.edit.gui.ICellEditDialog#setDialogSettings(java.util.Map)
+ */
+
+ @Override
+ public void setDialogSettings(Map<String, Object> editDialogSettings) {
+ ((AbstractDialogCellEditor)this.wrappedCellEditor).setDialogSettings(editDialogSettings);
+ }
+
+}
diff --git a/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/manager/cell/StereotypePropertyCellManager.java b/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/manager/cell/StereotypePropertyCellManager.java
index 090ef4431d7..df1a74c8e4d 100644
--- a/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/manager/cell/StereotypePropertyCellManager.java
+++ b/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/manager/cell/StereotypePropertyCellManager.java
@@ -141,9 +141,15 @@ public class StereotypePropertyCellManager extends UMLFeatureCellManager {
final List<Object> umlObjects = organizeAndResolvedObjects(columnElement, rowElement, null);
final Element el = (Element)umlObjects.get(0);
final String id = (String)umlObjects.get(1);
+ final Property prop = UMLTableUtils.getRealStereotypeProperty(el, id);
switch(UMLTableUtils.getAppliedStereotypesWithThisProperty(el, id).size()) {
+ case 0:
+ // to apply required stereotype before edition
+ // see bug 426709: [Table 2][Stereotype] Papyrus Table must allows to edit stereotype properties even if the required stereotypes is not yet applied
+ // https://bugs.eclipse.org/bugs/show_bug.cgi?id=426709
+ final int nbApplicablesSte = UMLTableUtils.getApplicableStereotypesWithThisProperty(el, id).size();
+ return nbApplicablesSte == 1 && !prop.isDerived() && !prop.isReadOnly();
case 1:
- final Property prop = UMLTableUtils.getRealStereotypeProperty(el, id);
return !prop.isDerived() && !prop.isReadOnly();
default:
return false;
diff --git a/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/utils/UMLTableUtils.java b/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/utils/UMLTableUtils.java
index 61526ace9c2..cefd7a205f1 100644
--- a/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/utils/UMLTableUtils.java
+++ b/plugins/uml/nattable/org.eclipse.papyrus.uml.nattable/src/org/eclipse/papyrus/uml/nattable/utils/UMLTableUtils.java
@@ -143,6 +143,33 @@ public class UMLTableUtils {
* the UML::Element on which we are looking for applied Stereotype with the property identified by its id
* @param id
* the id used to identify the property of the stereotype
+ *
+ * @return
+ * the list of UML::Stereotype which have the property identified by this id and which are applied on the Element or <code>null</code> if
+ * we can't resolve it (the required profile is not applied)
+ */
+ public static final List<Stereotype> getApplicableStereotypesWithThisProperty(final Element element, final String id) {
+ assert id.startsWith(PROPERTY_OF_STEREOTYPE_PREFIX);
+ final List<Stereotype> stereotypes = new ArrayList<Stereotype>();
+ if(element.eResource() != null) {
+ final Object prop = getRealStereotypeProperty(element, id);
+ if(prop instanceof Property) {
+ for(final Stereotype current : element.getApplicableStereotypes()) {
+ if(current.getAllAttributes().contains(prop)) {
+ stereotypes.add(current);
+ }
+ }
+ }
+ }
+ return stereotypes;
+ }
+
+ /**
+ *
+ * @param element
+ * the UML::Element on which we are looking for applied Stereotype with the property identified by its id
+ * @param id
+ * the id used to identify the property of the stereotype
* @param sharedMap
* a map owning interesting information, like {@link StereotypeApplicationStructure} which can be used to find stereotype, stereotype
* application and so on
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools/src/org/eclipse/papyrus/uml/tools/model/UmlModel.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools/src/org/eclipse/papyrus/uml/tools/model/UmlModel.java
index 773ef2b7ba2..eac2984ff4d 100644
--- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools/src/org/eclipse/papyrus/uml/tools/model/UmlModel.java
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools/src/org/eclipse/papyrus/uml/tools/model/UmlModel.java
@@ -118,7 +118,7 @@ public class UmlModel extends AbstractBaseModel implements IModel {
@Override
public void unload() {
if(resource != null) {
- CacheAdapter.INSTANCE.clear(resource);
+ CacheAdapter.getInstance().clear(resource);
}
super.unload();
}
diff --git a/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-extra-nightly-tests/build.rmap b/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-extra-nightly-tests/build.rmap
index f1513e1d164..d081f48e7a5 100644
--- a/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-extra-nightly-tests/build.rmap
+++ b/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-extra-nightly-tests/build.rmap
@@ -142,7 +142,7 @@
<!-- CDO -->
<rm:provider componentTypes="eclipse.feature,osgi.bundle" mutable="false" readerType="p2" source="false">
<!-- updateFrom("EMF CDO",0) -->
- <rm:uri format="{0}/modeling/emf/cdo/drops/S20131112-0814">
+ <rm:uri format="{0}/modeling/emf/cdo/drops/I20140105-1339">
<bc:propertyRef key="eclipse.downloads"/>
</rm:uri>
</rm:provider>
@@ -181,8 +181,8 @@
<!-- MDT OCL -->
<rm:provider componentTypes="eclipse.feature,osgi.bundle" mutable="false" readerType="p2" source="false">
- <!-- updateFrom("MDT OCL 4.2",0) -->
- <rm:uri format="{0}/modeling/mdt/ocl/updates/milestones/4.2.0/S201312151125">
+ <!-- updateFrom("MDT OCL 5.0",0) -->
+ <rm:uri format="{0}/modeling/mdt/ocl/updates/milestones/5.0.0/S201401270935">
<bc:propertyRef key="eclipse.downloads"/>
</rm:uri>
</rm:provider>
@@ -206,7 +206,7 @@
<!-- MDT UML2 -->
<rm:provider componentTypes="eclipse.feature,osgi.bundle" mutable="false" readerType="p2" source="false">
<!-- updateFrom("MDT UML2",0) -->
- <rm:uri format="{0}/modeling/mdt/uml2/updates/4.2milestones">
+ <rm:uri format="{0}/modeling/mdt/uml2/updates/5.0milestones">
<bc:propertyRef key="eclipse.downloads"/>
</rm:uri>
</rm:provider>
@@ -214,7 +214,7 @@
<!-- Mylyn -->
<rm:provider componentTypes="eclipse.feature,osgi.bundle" mutable="false" readerType="p2" source="false">
<!-- updateFrom("Mylyn",0) -->
- <rm:uri format="{0}/mylyn/snapshots/3.10">
+ <rm:uri format="{0}/mylyn/snapshots/3.11">
<bc:propertyRef key="eclipse.downloads"/>
</rm:uri>
</rm:provider>
@@ -306,7 +306,7 @@
<!-- WST -->
<rm:provider componentTypes="eclipse.feature,osgi.bundle" mutable="false" readerType="p2" source="false">
<!-- updateFrom("WebTools",0) -->
- <rm:uri format="{0}/webtools/downloads/drops/R3.6.0/S-3.6.0M4-20131217131919/repository/">
+ <rm:uri format="{0}/webtools/downloads/drops/R3.6.0/S-3.6.0M5-20140127154212/repository/">
<bc:propertyRef key="eclipse.downloads"/>
</rm:uri>
</rm:provider>
@@ -322,7 +322,7 @@
<!-- Eclipse Platform Milestones -->
<rm:provider componentTypes="eclipse.feature,osgi.bundle" mutable="false" readerType="p2" source="false">
<!-- updateFrom("Eclipse",0) -->
- <rm:uri format="{0}/eclipse/updates/4.4milestones/S-4.4M4-201312121600/">
+ <rm:uri format="{0}/eclipse/updates/4.4-I-builds/I20140123-1600/">
<bc:propertyRef key="eclipse.downloads"/>
</rm:uri>
</rm:provider>
diff --git a/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-extra-nightly/build.rmap b/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-extra-nightly/build.rmap
index 03de5099ef9..922c3bc9c11 100644
--- a/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-extra-nightly/build.rmap
+++ b/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-extra-nightly/build.rmap
@@ -256,7 +256,7 @@
<!-- CDO -->
<rm:provider componentTypes="eclipse.feature,osgi.bundle" mutable="false" readerType="p2" source="false">
<!-- updateFrom("EMF CDO",0) -->
- <rm:uri format="{0}/modeling/emf/cdo/drops/S20131112-0814">
+ <rm:uri format="{0}/modeling/emf/cdo/drops/I20140105-1339">
<bc:propertyRef key="eclipse.downloads"/>
</rm:uri>
</rm:provider>
@@ -302,8 +302,8 @@
<!-- MDT OCL -->
<rm:provider componentTypes="eclipse.feature,osgi.bundle" mutable="false" readerType="p2" source="false">
- <!-- updateFrom("MDT OCL 4.2",0) -->
- <rm:uri format="{0}/modeling/mdt/ocl/updates/milestones/4.2.0/S201312151125">
+ <!-- updateFrom("MDT OCL 5.0",0) -->
+ <rm:uri format="{0}/modeling/mdt/ocl/updates/milestones/5.0.0/S201401270935">
<bc:propertyRef key="eclipse.downloads"/>
</rm:uri>
</rm:provider>
@@ -327,7 +327,7 @@
<!-- MDT UML2 -->
<rm:provider componentTypes="eclipse.feature,osgi.bundle" mutable="false" readerType="p2" source="false">
<!-- updateFrom("MDT UML2",0) -->
- <rm:uri format="{0}/modeling/mdt/uml2/updates/4.2milestones">
+ <rm:uri format="{0}/modeling/mdt/uml2/updates/5.0milestones">
<bc:propertyRef key="eclipse.downloads"/>
</rm:uri>
</rm:provider>
@@ -335,7 +335,7 @@
<!-- Mylyn -->
<rm:provider componentTypes="eclipse.feature,osgi.bundle" mutable="false" readerType="p2" source="false">
<!-- updateFrom("Mylyn",0) -->
- <rm:uri format="{0}/mylyn/snapshots/3.10">
+ <rm:uri format="{0}/mylyn/snapshots/3.11">
<bc:propertyRef key="eclipse.downloads"/>
</rm:uri>
</rm:provider>
@@ -437,7 +437,7 @@
<!-- WST -->
<rm:provider componentTypes="eclipse.feature,osgi.bundle" mutable="false" readerType="p2" source="false">
<!-- updateFrom("WebTools",0) -->
- <rm:uri format="{0}/webtools/downloads/drops/R3.6.0/S-3.6.0M4-20131217131919/repository/">
+ <rm:uri format="{0}/webtools/downloads/drops/R3.6.0/S-3.6.0M5-20140127154212/repository/">
<bc:propertyRef key="eclipse.downloads"/>
</rm:uri>
</rm:provider>
@@ -445,7 +445,7 @@
<!-- Eclipse Platform Milestones -->
<rm:provider componentTypes="eclipse.feature,osgi.bundle" mutable="false" readerType="p2" source="false">
<!-- updateFrom("Eclipse",0) -->
- <rm:uri format="{0}/eclipse/updates/4.4milestones/S-4.4M4-201312121600/">
+ <rm:uri format="{0}/eclipse/updates/4.4-I-builds/I20140123-1600/">
<bc:propertyRef key="eclipse.downloads"/>
</rm:uri>
</rm:provider>
diff --git a/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly-tests/build.rmap b/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly-tests/build.rmap
index 6ea2922aad9..f2b487b62e6 100644
--- a/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly-tests/build.rmap
+++ b/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly-tests/build.rmap
@@ -239,8 +239,8 @@
<!-- MDT OCL -->
<rm:provider componentTypes="eclipse.feature,osgi.bundle" mutable="false" readerType="p2" source="false">
- <!-- updateFrom("MDT OCL 4.2",0) -->
- <rm:uri format="{0}/modeling/mdt/ocl/updates/milestones/4.2.0/S201312151125">
+ <!-- updateFrom("MDT OCL 5.0",0) -->
+ <rm:uri format="{0}/modeling/mdt/ocl/updates/milestones/5.0.0/S201401270935">
<bc:propertyRef key="eclipse.downloads"/>
</rm:uri>
</rm:provider>
@@ -264,7 +264,7 @@
<!-- MDT UML2 -->
<rm:provider componentTypes="eclipse.feature,osgi.bundle" mutable="false" readerType="p2" source="false">
<!-- updateFrom("MDT UML2",0) -->
- <rm:uri format="{0}/modeling/mdt/uml2/updates/4.2milestones">
+ <rm:uri format="{0}/modeling/mdt/uml2/updates/5.0milestones">
<bc:propertyRef key="eclipse.downloads"/>
</rm:uri>
</rm:provider>
@@ -272,7 +272,7 @@
<!-- Mylyn -->
<rm:provider componentTypes="eclipse.feature,osgi.bundle" mutable="false" readerType="p2" source="false">
<!-- updateFrom("Mylyn",0) -->
- <rm:uri format="{0}/mylyn/snapshots/3.10">
+ <rm:uri format="{0}/mylyn/snapshots/3.11">
<bc:propertyRef key="eclipse.downloads"/>
</rm:uri>
</rm:provider>
@@ -364,7 +364,7 @@
<!-- WST -->
<rm:provider componentTypes="eclipse.feature,osgi.bundle" mutable="false" readerType="p2" source="false">
<!-- updateFrom("WebTools",0) -->
- <rm:uri format="{0}/webtools/downloads/drops/R3.6.0/S-3.6.0M4-20131217131919/repository/">
+ <rm:uri format="{0}/webtools/downloads/drops/R3.6.0/S-3.6.0M5-20140127154212/repository/">
<bc:propertyRef key="eclipse.downloads"/>
</rm:uri>
</rm:provider>
@@ -372,7 +372,7 @@
<!-- Eclipse Platform Milestones -->
<rm:provider componentTypes="eclipse.feature,osgi.bundle" mutable="false" readerType="p2" source="false">
<!-- updateFrom("Eclipse",0) -->
- <rm:uri format="{0}/eclipse/updates/4.4milestones/S-4.4M4-201312121600/">
+ <rm:uri format="{0}/eclipse/updates/4.4-I-builds/I20140123-1600/">
<bc:propertyRef key="eclipse.downloads"/>
</rm:uri>
</rm:provider>
diff --git a/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly/build.rmap b/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly/build.rmap
index cc2ff02f6f7..ec849cfc1ef 100644
--- a/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly/build.rmap
+++ b/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly/build.rmap
@@ -443,8 +443,8 @@
<!-- MDT OCL -->
<rm:provider componentTypes="eclipse.feature,osgi.bundle" mutable="false" readerType="p2" source="false">
- <!-- updateFrom("MDT OCL 4.2",0) -->
- <rm:uri format="{0}/modeling/mdt/ocl/updates/milestones/4.2.0/S201312151125">
+ <!-- updateFrom("MDT OCL 5.0",0) -->
+ <rm:uri format="{0}/modeling/mdt/ocl/updates/milestones/5.0.0/S201401270935">
<bc:propertyRef key="eclipse.downloads"/>
</rm:uri>
</rm:provider>
@@ -468,7 +468,7 @@
<!-- MDT UML2 -->
<rm:provider componentTypes="eclipse.feature,osgi.bundle" mutable="false" readerType="p2" source="false">
<!-- updateFrom("MDT UML2",0) -->
- <rm:uri format="{0}/modeling/mdt/uml2/updates/4.2milestones">
+ <rm:uri format="{0}/modeling/mdt/uml2/updates/5.0milestones">
<bc:propertyRef key="eclipse.downloads"/>
</rm:uri>
</rm:provider>
@@ -476,7 +476,7 @@
<!-- Mylyn -->
<rm:provider componentTypes="eclipse.feature,osgi.bundle" mutable="false" readerType="p2" source="false">
<!-- updateFrom("Mylyn",0) -->
- <rm:uri format="{0}/mylyn/snapshots/3.10">
+ <rm:uri format="{0}/mylyn/snapshots/3.11">
<bc:propertyRef key="eclipse.downloads"/>
</rm:uri>
</rm:provider>
@@ -568,7 +568,7 @@
<!-- WST -->
<rm:provider componentTypes="eclipse.feature,osgi.bundle" mutable="false" readerType="p2" source="false">
<!-- updateFrom("WebTools",0) -->
- <rm:uri format="{0}/webtools/downloads/drops/R3.6.0/S-3.6.0M4-20131217131919/repository/">
+ <rm:uri format="{0}/webtools/downloads/drops/R3.6.0/S-3.6.0M5-20140127154212/repository/">
<bc:propertyRef key="eclipse.downloads"/>
</rm:uri>
</rm:provider>
@@ -576,7 +576,7 @@
<!-- Eclipse Platform Milestones -->
<rm:provider componentTypes="eclipse.feature,osgi.bundle" mutable="false" readerType="p2" source="false">
<!-- updateFrom("Eclipse",0) -->
- <rm:uri format="{0}/eclipse/updates/4.4milestones/S-4.4M4-201312121600/">
+ <rm:uri format="{0}/eclipse/updates/4.4-I-builds/I20140123-1600/">
<bc:propertyRef key="eclipse.downloads"/>
</rm:uri>
</rm:provider>

Back to the top