Merge "Bug 572058 - [Robotics] It should be possible to use a (sub-) systems for the definition of a larger system"
diff --git a/plugins/assertions/languages/org.eclipse.papyrus.robotics.assertions.languages.othello/src/org/eclipse/papyrus/robotics/assertions/languages/othello/OthelloLanguage.java b/plugins/assertions/languages/org.eclipse.papyrus.robotics.assertions.languages.othello/src/org/eclipse/papyrus/robotics/assertions/languages/othello/OthelloLanguage.java
index 2c0b4ba..00f2d61 100644
--- a/plugins/assertions/languages/org.eclipse.papyrus.robotics.assertions.languages.othello/src/org/eclipse/papyrus/robotics/assertions/languages/othello/OthelloLanguage.java
+++ b/plugins/assertions/languages/org.eclipse.papyrus.robotics.assertions.languages.othello/src/org/eclipse/papyrus/robotics/assertions/languages/othello/OthelloLanguage.java
@@ -32,6 +32,7 @@
import org.eclipse.papyrus.robotics.bpc.profile.bpc.Port;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentDefinition;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentInstance;
+import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentOrSystem;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentPort;
import org.eclipse.papyrus.robotics.profile.robotics.components.System;
import org.eclipse.papyrus.robotics.profile.robotics.services.ServiceDefinition;
@@ -126,7 +127,7 @@
// add all refinements
oss.append("REFINEMENT\n");
for (ComponentInstance compInstance : system.getInstances()) {
- ComponentDefinition compDef = compInstance.getCompdef();
+ ComponentOrSystem compDef = compInstance.getCompdefOrSys();
oss.append("SUB ");
oss.append(compInstance.getBase_Property().getName());
oss.append(":"); //$NON-NLS-1$
@@ -144,7 +145,7 @@
Property prop = connectorEnd.getPartWithPort();
String portName = prop.getName() + StringConstants.DOT + ce.getName();
ComponentInstance compInstance = UMLUtil.getStereotypeApplication(prop, ComponentInstance.class);
- ComponentDefinition compDef = compInstance.getCompdef();
+ ComponentOrSystem compDef = compInstance.getCompdefOrSys();
for (Port port : compDef.getPort()) {
if (((ComponentPort) port).getBase_Port().equals(ce)) {
if (isInputPort(port)) {
@@ -170,7 +171,7 @@
// add components
List<String> alreadyAdded = new ArrayList<String>();
for (ComponentInstance compInstance : system.getInstances()) {
- ComponentDefinition compDef = compInstance.getCompdef();
+ ComponentOrSystem compDef = compInstance.getCompdefOrSys();
String compDefName = compDef.getBase_Class().getName();
if (!alreadyAdded.contains(compDefName)) {
oss.append("\n");
@@ -204,7 +205,7 @@
*/
public StringBuffer ossFromCompInstanceContract(ComponentInstance compInstance) {
StringBuffer oss = new StringBuffer();
- List<Contract> contracts = AssertionsHelper.getCompDefinitionContracts(compInstance.getCompdef());
+ List<Contract> contracts = AssertionsHelper.getCompDefinitionContracts(compInstance.getCompdefOrSys());
for (Contract contract : contracts) {
oss.append(ossFromContract(compInstance, contract));
}
@@ -259,7 +260,7 @@
* @param compDef
* @return oss
*/
- public StringBuffer ossFromCompDefinition(ComponentDefinition compDef, boolean considerAsSystem) {
+ public StringBuffer ossFromCompDefinition(ComponentOrSystem compDef, boolean considerAsSystem) {
StringBuffer oss = new StringBuffer();
oss.append("COMPONENT " + compDef.getBase_Class().getName());
if (considerAsSystem) {
@@ -376,7 +377,7 @@
String contract = "CONTRACT pass\nassume: true;\nguarantee: " + expression + ";\n";
oss.insert(systemRef, contract);
} else if (compInstance != null) {
- ComponentDefinition compDef = compInstance.getCompdef();
+ ComponentOrSystem compDef = compInstance.getCompdefOrSys();
oss = ossFromCompDefinition(compDef, true);
oss.append("CONTRACT pass\n");
oss.append("assume: true;\n");
@@ -396,7 +397,7 @@
}
// Evaluating a component instance
else if (compInstance != null) {
- ComponentDefinition compDef = compInstance.getCompdef();
+ ComponentOrSystem compDef = compInstance.getCompdefOrSys();
oss = ossFromCompDefinition(compDef, true);
List<Contract> contracts = AssertionsHelper.getCompDefinitionContracts(compDef);
for (Contract contract : contracts) {
diff --git a/plugins/assertions/languages/org.eclipse.papyrus.robotics.assertions.languages.p4rocl/src/org/eclipse/papyrus/robotics/assertions/languages/p4rocl/P4ROCLLanguage.java b/plugins/assertions/languages/org.eclipse.papyrus.robotics.assertions.languages.p4rocl/src/org/eclipse/papyrus/robotics/assertions/languages/p4rocl/P4ROCLLanguage.java
index 831cbed..eab33f5 100644
--- a/plugins/assertions/languages/org.eclipse.papyrus.robotics.assertions.languages.p4rocl/src/org/eclipse/papyrus/robotics/assertions/languages/p4rocl/P4ROCLLanguage.java
+++ b/plugins/assertions/languages/org.eclipse.papyrus.robotics.assertions.languages.p4rocl/src/org/eclipse/papyrus/robotics/assertions/languages/p4rocl/P4ROCLLanguage.java
@@ -26,6 +26,7 @@
import org.eclipse.papyrus.robotics.assertions.languages.ocl.OCLExpressionLanguage;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentDefinition;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentInstance;
+import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentOrSystem;
import org.eclipse.papyrus.robotics.profile.robotics.parameters.ParameterEntry;
import org.eclipse.papyrus.robotics.profile.robotics.parameters.ParameterInstance;
import org.eclipse.uml2.uml.Element;
@@ -132,7 +133,7 @@
for (ComponentInstance instance : instances) {
// check in properties
Map<String, ValueSpecification> instanceProperties = AssertionsHelper.getProperties(
- instance.getCompdef().getBase_Class());
+ instance.getCompdefOrSys().getBase_Class());
if (instanceProperties.containsKey(propertyInExpression)) {
globalSum.append(instance.getBase_Property().getName());
globalSum.append(".");
@@ -152,9 +153,10 @@
* Get component definition default parameters
*
* @param compDef
+ * a component definition (or system)
* @return default parameters
*/
- public Map<String, String> getCompDefinitionDefaultParameters(ComponentDefinition compDef) {
+ public Map<String, String> getCompDefinitionDefaultParameters(ComponentOrSystem compDef) {
Map<String, String> defaultParameters = new HashMap<String, String>();
Iterator<EObject> i = compDef.getBase_Class().eAllContents();
while (i.hasNext()) {
@@ -184,7 +186,7 @@
*/
public Map<String, String> getCompInstanceParameters(ComponentInstance compInstance) {
// first get the default ones
- Map<String, String> parameters = getCompDefinitionDefaultParameters(compInstance.getCompdef());
+ Map<String, String> parameters = getCompDefinitionDefaultParameters(compInstance.getCompdefOrSys());
// Comp Instance's parameter values will override Comp definition default values
Iterator<EObject> i = compInstance.getBase_Property().eAllContents();
diff --git a/plugins/assertions/org.eclipse.papyrus.robotics.assertions.languages/META-INF/MANIFEST.MF b/plugins/assertions/org.eclipse.papyrus.robotics.assertions.languages/META-INF/MANIFEST.MF
index 772a0d5..0b7f4b0 100644
--- a/plugins/assertions/org.eclipse.papyrus.robotics.assertions.languages/META-INF/MANIFEST.MF
+++ b/plugins/assertions/org.eclipse.papyrus.robotics.assertions.languages/META-INF/MANIFEST.MF
@@ -14,7 +14,8 @@
org.eclipse.core.databinding;bundle-version="1.0.0",
org.eclipse.papyrus.infra.widgets;bundle-version="[3.6.0,5.0.0)",
org.eclipse.papyrus.infra.properties.ui;bundle-version="[3.0.0,5.0.0)",
- org.eclipse.papyrus.uml.properties;bundle-version="[3.5.0,5.0.0)"
+ org.eclipse.papyrus.uml.properties;bundle-version="[3.5.0,5.0.0)",
+ org.eclipse.papyrus.robotics.core;bundle-version="0.8.0"
Bundle-RequiredExecutionEnvironment: JavaSE-11
Automatic-Module-Name: org.eclipse.papyrus.robotics.assertions.languages
Bundle-ActivationPolicy: lazy
diff --git a/plugins/assertions/org.eclipse.papyrus.robotics.assertions.languages/src/org/eclipse/papyrus/robotics/assertions/languages/AssertionsHelper.java b/plugins/assertions/org.eclipse.papyrus.robotics.assertions.languages/src/org/eclipse/papyrus/robotics/assertions/languages/AssertionsHelper.java
index 67c5017..03dd913 100644
--- a/plugins/assertions/org.eclipse.papyrus.robotics.assertions.languages/src/org/eclipse/papyrus/robotics/assertions/languages/AssertionsHelper.java
+++ b/plugins/assertions/org.eclipse.papyrus.robotics.assertions.languages/src/org/eclipse/papyrus/robotics/assertions/languages/AssertionsHelper.java
@@ -23,8 +23,8 @@
import org.eclipse.papyrus.robotics.assertions.profile.assertions.Assertion;
import org.eclipse.papyrus.robotics.assertions.profile.assertions.Contract;
import org.eclipse.papyrus.robotics.assertions.profile.assertions.Property;
-import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentDefinition;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentInstance;
+import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentOrSystem;
import org.eclipse.uml2.uml.Constraint;
import org.eclipse.uml2.uml.Element;
import org.eclipse.uml2.uml.OpaqueExpression;
@@ -99,7 +99,7 @@
* @param compDefinition
* @return list of contracts
*/
- public static List<Contract> getCompDefinitionContracts(ComponentDefinition compDefinition) {
+ public static List<Contract> getCompDefinitionContracts(ComponentOrSystem compDefinition) {
List<Contract> contracts = new ArrayList<Contract>();
Iterator<EObject> it = compDefinition.getBase_Class().eAllContents();
while (it.hasNext()) {
diff --git a/plugins/assertions/org.eclipse.papyrus.robotics.assertions.languages/src/org/eclipse/papyrus/robotics/assertions/languages/P4RExpressionsHelper.java b/plugins/assertions/org.eclipse.papyrus.robotics.assertions.languages/src/org/eclipse/papyrus/robotics/assertions/languages/P4RExpressionsHelper.java
index 5aa3c39..60eb9ac 100644
--- a/plugins/assertions/org.eclipse.papyrus.robotics.assertions.languages/src/org/eclipse/papyrus/robotics/assertions/languages/P4RExpressionsHelper.java
+++ b/plugins/assertions/org.eclipse.papyrus.robotics.assertions.languages/src/org/eclipse/papyrus/robotics/assertions/languages/P4RExpressionsHelper.java
@@ -21,9 +21,10 @@
import org.eclipse.emf.ecore.EObject;
import org.eclipse.papyrus.robotics.assertions.profile.assertions.Property;
+import org.eclipse.papyrus.robotics.core.utils.ParameterUtils;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentDefinition;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentInstance;
-import org.eclipse.papyrus.robotics.profile.robotics.parameters.ParameterEntry;
+import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentOrSystem;
import org.eclipse.papyrus.robotics.profile.robotics.parameters.ParameterInstance;
import org.eclipse.uml2.uml.Element;
import org.eclipse.uml2.uml.InstanceValue;
@@ -32,11 +33,11 @@
import org.eclipse.uml2.uml.util.UMLUtil;
public class P4RExpressionsHelper {
-
+
public static String updateExpression(EObject context, String expression) {
-
+
// Get context
-
+
ComponentDefinition compDefinition = null;
ComponentInstance compInstance = null;
org.eclipse.papyrus.robotics.profile.robotics.components.System system = null;
@@ -69,9 +70,9 @@
org.eclipse.papyrus.robotics.profile.robotics.components.System.class);
}
}
-
+
// --> Global sum
-
+
if (system != null) {
expression = handleGlobalSum(system, expression);
}
@@ -115,7 +116,7 @@
if (compDefinition != null) {
compDef = compDefinition.getBase_Class();
} else if (compInstance != null) {
- compDef = compInstance.getCompdef().getBase_Class();
+ compDef = compInstance.getCompdefOrSys().getBase_Class();
}
Map<String, ValueSpecification> properties = getProperties(compDef);
for (String prop : properties.keySet()) {
@@ -137,10 +138,10 @@
instanceName = instanceName + ".";
}
Map<String, ValueSpecification> instanceProperties = getProperties(
- instance.getCompdef().getBase_Class());
+ instance.getCompdefOrSys().getBase_Class());
for (String key : instanceProperties.keySet()) {
if (expression.contains(instanceName + key)) {
- Object result = AssertionsHelper.evaluateValueSpecification(instance.getCompdef(),
+ Object result = AssertionsHelper.evaluateValueSpecification(instance.getCompdefOrSys(),
instanceProperties.get(key));
if (result == null) {
result = "null";
@@ -164,7 +165,7 @@
}
return expression;
}
-
+
/**
* Handle global sum
*
@@ -198,7 +199,7 @@
for (ComponentInstance instance : instances) {
// check in properties
Map<String, ValueSpecification> instanceProperties = getProperties(
- instance.getCompdef().getBase_Class());
+ instance.getCompdefOrSys().getBase_Class());
if (instanceProperties.containsKey(propertyInExpression)) {
globalSum.append(instance.getBase_Property().getName());
globalSum.append(".");
@@ -213,7 +214,7 @@
}
return expression;
}
-
+
/**
* Get Properties
*
@@ -234,7 +235,7 @@
}
return properties;
}
-
+
/**
* Get component instance parameters
*
@@ -243,7 +244,7 @@
*/
public static Map<String, String> getCompInstanceParameters(ComponentInstance compInstance) {
// first get the default ones
- Map<String, String> parameters = getCompDefinitionDefaultParameters(compInstance.getCompdef());
+ Map<String, String> parameters = getCompDefinitionDefaultParameters(compInstance.getCompdefOrSys());
// Comp Instance's parameter values will override Comp definition default values
Iterator<EObject> i = compInstance.getBase_Property().eAllContents();
@@ -266,33 +267,28 @@
}
return parameters;
}
-
+
/**
* Get component definition default parameters
*
* @param compDef
* @return default parameters
*/
- public static Map<String, String> getCompDefinitionDefaultParameters(ComponentDefinition compDef) {
+ public static Map<String, String> getCompDefinitionDefaultParameters(ComponentOrSystem compDef) {
Map<String, String> defaultParameters = new HashMap<String, String>();
- Iterator<EObject> i = compDef.getBase_Class().eAllContents();
- while (i.hasNext()) {
- EObject eo = i.next();
- ParameterEntry parameter = UMLUtil.getStereotypeApplication((Element) eo, ParameterEntry.class);
- // context was a componentDefinition
- if (parameter != null) {
- String name = parameter.getBase_Property().getName();
- String value = "";
- if (parameter.getBase_Property().getDefaultValue() != null) {
- // They use to be literals but we evaluate in case it uses another language
- Object result = AssertionsHelper.evaluateValueSpecification(compDef,
- parameter.getBase_Property().getDefaultValue());
- value = result.toString();
- }
- defaultParameters.put(name, value);
+ List<org.eclipse.uml2.uml.Property> parameters = ParameterUtils.getAllParameters(compDef.getBase_Class());
+ for (org.eclipse.uml2.uml.Property parameter : parameters) {
+ String name = parameter.getName();
+ String value = ""; //$NON-NLS-1$
+ if (parameter.getDefaultValue() != null) {
+ // They use to be literals but we evaluate in case it uses another language
+ Object result = AssertionsHelper.evaluateValueSpecification(compDef,
+ parameter.getDefaultValue());
+ value = result.toString();
}
+ defaultParameters.put(name, value);
}
return defaultParameters;
}
-
+
}
diff --git a/plugins/assertions/org.eclipse.papyrus.robotics.assertions.languages/src/org/eclipse/papyrus/robotics/assertions/languages/editor/StyledStringEditor.java b/plugins/assertions/org.eclipse.papyrus.robotics.assertions.languages/src/org/eclipse/papyrus/robotics/assertions/languages/editor/StyledStringEditor.java
index 9bd3420..0867599 100644
--- a/plugins/assertions/org.eclipse.papyrus.robotics.assertions.languages/src/org/eclipse/papyrus/robotics/assertions/languages/editor/StyledStringEditor.java
+++ b/plugins/assertions/org.eclipse.papyrus.robotics.assertions.languages/src/org/eclipse/papyrus/robotics/assertions/languages/editor/StyledStringEditor.java
@@ -36,6 +36,7 @@
import org.eclipse.papyrus.robotics.assertions.languages.AssertionsHelper;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentDefinition;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentInstance;
+import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentOrSystem;
import org.eclipse.papyrus.robotics.profile.robotics.parameters.ParameterEntry;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StyleRange;
@@ -629,7 +630,7 @@
String instanceName = instance.getBase_Property().getName();
modelKeywords.add(instanceName);
// component parameters
- ComponentDefinition compDef = instance.getCompdef();
+ ComponentOrSystem compDef = instance.getCompdefOrSys();
for(String param : getParameterNames(compDef.getBase_Class())) {
modelKeywords.add(instanceName + "." + param);
}
diff --git a/plugins/assertions/org.eclipse.papyrus.robotics.assertions.ui/src/org/eclipse/papyrus/robotics/assertions/ui/actions/ValidateContractHandler.java b/plugins/assertions/org.eclipse.papyrus.robotics.assertions.ui/src/org/eclipse/papyrus/robotics/assertions/ui/actions/ValidateContractHandler.java
index 44ccef9..4fb8153 100644
--- a/plugins/assertions/org.eclipse.papyrus.robotics.assertions.ui/src/org/eclipse/papyrus/robotics/assertions/ui/actions/ValidateContractHandler.java
+++ b/plugins/assertions/org.eclipse.papyrus.robotics.assertions.ui/src/org/eclipse/papyrus/robotics/assertions/ui/actions/ValidateContractHandler.java
@@ -9,7 +9,7 @@
*
* Contributors:
* Jabier Martinez, Tecnalia - Initial design and implementation
- * Angel López, Tecnalia - Implementation
+ * Angel L�pez, Tecnalia - Implementation
*
*****************************************************************************/
package org.eclipse.papyrus.robotics.assertions.ui.actions;
@@ -32,6 +32,7 @@
import org.eclipse.papyrus.robotics.assertions.profile.assertions.Contract;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentDefinition;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentInstance;
+import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentOrSystem;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.PlatformUI;
@@ -91,7 +92,7 @@
contracts = AssertionsHelper.getCompDefinitionContracts(compDefinition);
evaluateContracts(contracts, compDefinition);
} else if (compInstance != null) {
- ComponentDefinition cd = compInstance.getCompdef();
+ ComponentOrSystem cd = compInstance.getCompdefOrSys();
contracts = AssertionsHelper.getCompDefinitionContracts(cd);
evaluateContracts(contracts, compInstance);
} else if (system != null) {
@@ -99,7 +100,7 @@
MessageDialog.openInformation(Display.getCurrent().getActiveShell(), "Validate Contract",
"Validating contracts of component instances");
for (ComponentInstance ci : system.getInstances()) {
- ComponentDefinition cd = ci.getCompdef();
+ ComponentOrSystem cd = ci.getCompdefOrSys();
contracts = AssertionsHelper.getCompDefinitionContracts(cd);
evaluateContracts(contracts, ci);
}
diff --git a/plugins/customization/org.eclipse.papyrus.robotics.core/src/org/eclipse/papyrus/robotics/core/provider/RoboticsContentProvider.java b/plugins/customization/org.eclipse.papyrus.robotics.core/src/org/eclipse/papyrus/robotics/core/provider/RoboticsContentProvider.java
index bb85141..3b3de82 100644
--- a/plugins/customization/org.eclipse.papyrus.robotics.core/src/org/eclipse/papyrus/robotics/core/provider/RoboticsContentProvider.java
+++ b/plugins/customization/org.eclipse.papyrus.robotics.core/src/org/eclipse/papyrus/robotics/core/provider/RoboticsContentProvider.java
@@ -24,7 +24,6 @@
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.papyrus.commands.Activator;
import org.eclipse.papyrus.emf.facet.custom.metamodel.v0_2_0.internal.treeproxy.EObjectTreeElement;
@@ -59,6 +58,9 @@
*/
protected ResourceSet encapsulatedRS;
+ /**
+ * A stereotype to filter. Might be null.
+ */
protected Class<? extends EObject> stereotypeFilter;
/**
@@ -69,14 +71,21 @@
* a context object used to obtain the resource set
* @param encapsulated
* an existing content provider
- * @param stereotypeFilter
- * a stereotype filter
+ * @param stereotypeFilterList
+ * a stereotype a list of stereotype filters
* @param extension
- * a file extension to search for in workspace and plugin
+ * a file extension to search for in workspace and plugins
*/
public RoboticsContentProvider(EObject context, IStaticContentProvider encapsulated, Class<? extends EObject> stereotypeFilter, String extension) {
- this(context, new FilterStereotypes(encapsulated, stereotypeFilter), extension);
+ if (context.eResource() != null) {
+ this.encapsulatedRS = context.eResource().getResourceSet();
+ } else {
+ Activator.log.warn("RoboticsContentProvider: passed context is not contained in a resource (proxy?)"); //$NON-NLS-1$
+ }
+ this.encapsulated = encapsulated;
this.stereotypeFilter = stereotypeFilter;
+ this.extension = extension;
+ tempRS = new ResourceSetImpl();
}
/**
@@ -90,20 +99,8 @@
* @param extension
* a file extension to search for in workspace and plugin
*/
- public RoboticsContentProvider(EObject context, IStructuredContentProvider encapsulated, String extension) {
- if (context.eResource() != null) {
- this.encapsulatedRS = context.eResource().getResourceSet();
- } else {
- Activator.log.debug("RoboticsContentProvider: passed context is not contained in a resource (proxy?)"); //$NON-NLS-1$
- }
- this.encapsulated = encapsulated;
- if (encapsulated instanceof FilterStereotypes) {
- this.stereotypeFilter = ((FilterStereotypes) encapsulated).getStereotypeFilter();
- } else {
- Activator.log.debug("RoboticsContentProvider: passed encapsulated content provider does not specialize class org.eclipse.papyrus.robotics.core.provider.FilterStereotypes"); //$NON-NLS-1$
- }
- this.extension = extension;
- tempRS = new ResourceSetImpl();
+ public RoboticsContentProvider(EObject context, IStaticContentProvider encapsulated, String extension) {
+ this(context, encapsulated, null, extension);
}
protected Object[] getTopElements() {
@@ -136,9 +133,12 @@
}
/**
- * Check, whether a resource contains search stereotype (used in the hasChildren) dialog
+ * Check, whether a resource contains searched stereotypes (used in the hasChildren) dialog
*/
protected boolean containsStereotype(Resource r) {
+ if (stereotypeFilter == null) {
+ return true;
+ }
for (EObject obj : r.getContents()) {
if (stereotypeFilter.isInstance(obj)) {
return true;
@@ -186,8 +186,7 @@
if (uri.path().endsWith(extension)) {
Resource r = tempRS.getResource((URI) element, true);
return containsStereotype(r);
- }
- else {
+ } else {
// likely a pathmap prefix, always return true
return true;
}
diff --git a/plugins/customization/org.eclipse.papyrus.robotics.core/src/org/eclipse/papyrus/robotics/core/types/advice/ComponentInstanceEditHelperAdvice.java b/plugins/customization/org.eclipse.papyrus.robotics.core/src/org/eclipse/papyrus/robotics/core/types/advice/ComponentInstanceEditHelperAdvice.java
index a030394..42dabda 100644
--- a/plugins/customization/org.eclipse.papyrus.robotics.core/src/org/eclipse/papyrus/robotics/core/types/advice/ComponentInstanceEditHelperAdvice.java
+++ b/plugins/customization/org.eclipse.papyrus.robotics.core/src/org/eclipse/papyrus/robotics/core/types/advice/ComponentInstanceEditHelperAdvice.java
@@ -29,7 +29,7 @@
import org.eclipse.papyrus.robotics.core.menu.MenuHelper;
import org.eclipse.papyrus.robotics.core.provider.RoboticsContentProvider;
import org.eclipse.papyrus.robotics.core.utils.FileExtensions;
-import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentDefinition;
+import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentOrSystem;
import org.eclipse.papyrus.uml.tools.providers.UMLContentProvider;
import org.eclipse.swt.widgets.Display;
import org.eclipse.uml2.uml.Classifier;
@@ -54,7 +54,7 @@
EncapsulatedContentProvider cpWithWS = new RoboticsContentProvider(part,
new UMLContentProvider(part, UMLPackage.eINSTANCE.getTypedElement_Type()),
- ComponentDefinition.class, FileExtensions.COMPDEF_UML);
+ ComponentOrSystem.class, FileExtensions.COMPDEF_UML + "|" + FileExtensions.SYSTEM_UML); //$NON-NLS-1$
EnhancedPopupMenu popupMenuState = MenuHelper.createPopupMenu(cpWithWS, "Choose component type", false);
diff --git a/plugins/customization/org.eclipse.papyrus.robotics.core/src/org/eclipse/papyrus/robotics/core/utils/ParameterUtils.java b/plugins/customization/org.eclipse.papyrus.robotics.core/src/org/eclipse/papyrus/robotics/core/utils/ParameterUtils.java
index 475fd03..e505f0a 100644
--- a/plugins/customization/org.eclipse.papyrus.robotics.core/src/org/eclipse/papyrus/robotics/core/utils/ParameterUtils.java
+++ b/plugins/customization/org.eclipse.papyrus.robotics.core/src/org/eclipse/papyrus/robotics/core/utils/ParameterUtils.java
@@ -1,3 +1,19 @@
+/*****************************************************************************
+ * Copyright (c) 2020 CEA LIST
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * ansgar.radermacher@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
package org.eclipse.papyrus.robotics.core.utils;
import java.util.ArrayList;
@@ -11,7 +27,14 @@
import org.eclipse.uml2.uml.Property;
import org.eclipse.uml2.uml.StructuredClassifier;
+/**
+ * Utilities around parameter classes
+ */
public class ParameterUtils {
+ /**
+ * @param clazz a component definition
+ * @return all parameters of a component definition
+ */
public static List<Property> getAllParameters(Class clazz) {
List<Property> parameterList = new ArrayList<Property>();
for (Class superClass : clazz.getSuperClasses()) {
diff --git a/plugins/customization/org.eclipse.papyrus.robotics.core/src/org/eclipse/papyrus/robotics/core/utils/ScanUtils.java b/plugins/customization/org.eclipse.papyrus.robotics.core/src/org/eclipse/papyrus/robotics/core/utils/ScanUtils.java
index 382f602..812cd4d 100644
--- a/plugins/customization/org.eclipse.papyrus.robotics.core/src/org/eclipse/papyrus/robotics/core/utils/ScanUtils.java
+++ b/plugins/customization/org.eclipse.papyrus.robotics.core/src/org/eclipse/papyrus/robotics/core/utils/ScanUtils.java
@@ -31,7 +31,7 @@
/**
* @param extension
- * filter models having this extension
+ * filter models having this extension (a "|" allows to check for multiple extensions)
* @return a list of URIs
*/
public static List<URI> modelURIsInWorkspace(String extension) {
@@ -55,6 +55,7 @@
* URIs of the models contained.
*
* @param extension
+ * an extension (a "|" allows to check for multiple extensions)
* @return list of URIs
*/
public static List<URI> pathmapsWithModels(String extension) {
@@ -86,7 +87,7 @@
* @param uri
* the URI of a pathmap - all URIs accessible via that pathmap are returned
* @param extension
- * the file extension to scan for
+ * the file extension to scan for (a "|" allows to check for multiple extensions)
* @return list of model URIs
*/
public static List<URI> modelsFromPath(URI uri, String extension) {
@@ -128,7 +129,7 @@
* @param path
* an initial path within the bundle
* @param extension
- * an extension
+ * an extension (a "|" allows to check for multiple extensions)
* @return true, if the bundle contains models with the given extension
*/
protected static boolean hasBundleModels(Bundle bundle, String path, String extension) {
@@ -137,7 +138,7 @@
if (urlEnum != null) {
while (urlEnum.hasMoreElements()) {
URL url = urlEnum.nextElement();
- if (url.getPath().endsWith(extension)) {
+ if (matchesExtension(url.getPath(), extension)) {
return true;
} else {
boolean found = hasBundleModels(bundle, url.getPath(), extension);
@@ -157,7 +158,7 @@
if (urlEnum != null) {
while (urlEnum.hasMoreElements()) {
URL url = urlEnum.nextElement();
- if (url.getPath().endsWith(extension)) {
+ if (matchesExtension(url.getPath(), extension)) {
String modelPath = pathmap + url.getPath().replaceFirst(initialPath, ""); //$NON-NLS-1$
URI uri = URI.createURI(modelPath);
list.add(uri);
@@ -217,7 +218,7 @@
if (member instanceof IContainer) {
processContainer((IContainer) member, extension, list);
} else if (member instanceof IFile) {
- if (member.getName().endsWith(extension)) {
+ if (matchesExtension(member.getName(), extension)) {
IFile file = (IFile) member;
URI uri = URI.createPlatformResourceURI(file.getFullPath().toString(), true);
list.add(uri);
@@ -225,4 +226,16 @@
}
}
}
+
+ /*
+ * check whether the extension matches. An "|" operator is support to check for multiple extensions
+ */
+ public static boolean matchesExtension(String str, String extension) {
+ for (String ext : extension.split("\\|")) { //$NON-NLS-1$
+ if (str.endsWith(ext)) {
+ return true;
+ }
+ }
+ return false;
+ }
}
diff --git a/plugins/customization/org.eclipse.papyrus.robotics.diagrams/resources/palettes/RoboticsAssemblyDiagram.paletteconfiguration b/plugins/customization/org.eclipse.papyrus.robotics.diagrams/resources/palettes/RoboticsAssemblyDiagram.paletteconfiguration
index bea4fac..f0e88e9 100644
--- a/plugins/customization/org.eclipse.papyrus.robotics.diagrams/resources/palettes/RoboticsAssemblyDiagram.paletteconfiguration
+++ b/plugins/customization/org.eclipse.papyrus.robotics.diagrams/resources/palettes/RoboticsAssemblyDiagram.paletteconfiguration
@@ -20,6 +20,15 @@
<elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.robotics.diagrams/resources/elementtypes/robotics.di.elementtypesconfigurations#org.eclipse.papyrus.robotics.di.ComponentInstance_Property_Shape_CN"/>
</elementDescriptors>
</ownedConfigurations>
+ <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="palettemodel.org.eclipse.papyrus.robotics.diagram.rmsassembly.SubsystemPort" label="Subsystem Port" description="Create a component port" kind="CreationTool">
+ <icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.robotics.profile" iconPath="/icons/ComponentPort.png"/>
+ <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+ <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.robotics.diagrams/resources/elementtypes/robotics.di.elementtypesconfigurations#org.eclipse.papyrus.robotics.di.ComponentPort_Port_Shape"/>
+ </elementDescriptors>
+ <elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
+ <elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.robotics.diagrams/resources/elementtypes/robotics.di.elementtypesconfigurations#org.eclipse.papyrus.robotics.di.ComponentPort_Port_Shape_CN"/>
+ </elementDescriptors>
+ </ownedConfigurations>
<ownedConfigurations xmi:type="paletteconfiguration:SeparatorConfiguration" id="RMSSystemComponentArchitectureRelationships" label="Relationships" description="System Component Architecture Relationships"/>
<ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="palettemodel.org.eclipse.papyrus.robotics.diagram.rmsassembly.Connects" label="connects" description="Create a ComponentInstance connects ComponentInstance connection" kind="ConnectionTool">
<icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.robotics.profile" iconPath="/icons/Connects.gif"/>
@@ -27,7 +36,7 @@
<elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.robotics.diagrams/resources/elementtypes/robotics.di.elementtypesconfigurations#_CqkT4D9wEeisDbGz3MyJ_Q"/>
</elementDescriptors>
</ownedConfigurations>
- <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="palettemodel.org.eclipse.papyrus.robotics.diagram.rmscomponent.Link" label="Link" description="Create new Link" kind="ConnectionTool">
+ <ownedConfigurations xmi:type="paletteconfiguration:ToolConfiguration" id="palettemodel.org.eclipse.papyrus.robotics.diagram.rmsassembly.Link" label="Link" description="Create new Link" kind="ConnectionTool">
<icon xmi:type="paletteconfiguration:IconDescriptor" pluginID="org.eclipse.papyrus.uml.diagram.clazz" iconPath="/icons/obj16/Link.gif"/>
<elementDescriptors xmi:type="paletteconfiguration:ElementDescriptor">
<elementType xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#org.eclipse.papyrus.umldi.Comment_AnnotatedElementEdge"/>
diff --git a/plugins/customization/org.eclipse.papyrus.robotics.profile/model/robotics.ecore b/plugins/customization/org.eclipse.papyrus.robotics.profile/model/robotics.ecore
index 30ee9cd..fb7406c 100644
--- a/plugins/customization/org.eclipse.papyrus.robotics.profile/model/robotics.ecore
+++ b/plugins/customization/org.eclipse.papyrus.robotics.profile/model/robotics.ecore
@@ -20,13 +20,10 @@
upperBound="-1" eType="#//functions/Function" changeable="false" volatile="true"
transient="true" derived="true"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ComponentDefinition" eSuperTypes="platform:/plugin/org.eclipse.papyrus.robotics.bpc.profile/model/bpc.ecore#//Block">
+ <eClassifiers xsi:type="ecore:EClass" name="ComponentDefinition" eSuperTypes="#//components/ComponentOrSystem">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Components own activities via the ownedBehavior attribute of the extended class. Thus, the activities property is derived. Activities in turn reference existing functions and are thus principally a grouping mechanism."/>
</eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EReference" name="services" ordered="false"
- upperBound="-1" eType="#//components/ComponentService" changeable="false"
- volatile="true" transient="true" derived="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="parameter" ordered="false"
eType="#//parameters/Parameter" changeable="false" volatile="true" transient="true"
derived="true"/>
@@ -34,6 +31,12 @@
upperBound="-1" eType="#//components/Activity" changeable="false" volatile="true"
transient="true" derived="true"/>
</eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ComponentOrSystem" abstract="true"
+ eSuperTypes="platform:/plugin/org.eclipse.papyrus.robotics.bpc.profile/model/bpc.ecore#//Block">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="services" ordered="false"
+ upperBound="-1" eType="#//components/ComponentService" changeable="false"
+ volatile="true" transient="true" derived="true"/>
+ </eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ComponentPort" eSuperTypes="platform:/plugin/org.eclipse.papyrus.robotics.bpc.profile/model/bpc.ecore#//Port">
<eStructuralFeatures xsi:type="ecore:EReference" name="base_Port" ordered="false"
lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Port"/>
@@ -55,15 +58,12 @@
transient="true" derived="true"/>
<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"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="compdef" ordered="false"
- eType="#//components/ComponentDefinition" changeable="false" volatile="true"
+ <eStructuralFeatures xsi:type="ecore:EReference" name="compdefOrSys" ordered="false"
+ eType="#//components/ComponentOrSystem" changeable="false" volatile="true"
transient="true" derived="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="port" ordered="false"
upperBound="-1" eType="#//components/ComponentPort" changeable="false" volatile="true"
transient="true" derived="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="activities" ordered="false"
- upperBound="-1" eType="#//components/Activity" changeable="false" volatile="true"
- transient="true" derived="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ComponentService" eSuperTypes="platform:/plugin/org.eclipse.papyrus.robotics.bpc.profile/model/bpc.ecore#//Entity">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -81,7 +81,7 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="base_InstanceSpecification"
ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//InstanceSpecification"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="System" eSuperTypes="platform:/plugin/org.eclipse.papyrus.robotics.bpc.profile/model/bpc.ecore#//Block">
+ <eClassifiers xsi:type="ecore:EClass" name="System" eSuperTypes="#//components/ComponentOrSystem">
<eStructuralFeatures xsi:type="ecore:EReference" name="instances" ordered="false"
upperBound="-1" eType="#//components/ComponentInstance" changeable="false"
volatile="true" transient="true" derived="true"/>
diff --git a/plugins/customization/org.eclipse.papyrus.robotics.profile/model/robotics.profile.genmodel b/plugins/customization/org.eclipse.papyrus.robotics.profile/model/robotics.profile.genmodel
index c69a756..8c13e00 100644
--- a/plugins/customization/org.eclipse.papyrus.robotics.profile/model/robotics.profile.genmodel
+++ b/plugins/customization/org.eclipse.papyrus.robotics.profile/model/robotics.profile.genmodel
@@ -49,12 +49,14 @@
</genClasses>
<genClasses xsi:type="genmodel:GenClass" ecoreClass="robotics.ecore#//components/ComponentDefinition">
<genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
- propertySortChoices="true" ecoreFeature="ecore:EReference robotics.ecore#//components/ComponentDefinition/services"/>
- <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
propertySortChoices="true" ecoreFeature="ecore:EReference robotics.ecore#//components/ComponentDefinition/parameter"/>
<genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
propertySortChoices="true" ecoreFeature="ecore:EReference robotics.ecore#//components/ComponentDefinition/activities"/>
</genClasses>
+ <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="robotics.ecore#//components/ComponentOrSystem">
+ <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+ createChild="false" ecoreFeature="ecore:EReference robotics.ecore#//components/ComponentOrSystem/services"/>
+ </genClasses>
<genClasses xsi:type="genmodel:GenClass" ecoreClass="robotics.ecore#//components/ComponentPort">
<genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
propertySortChoices="true" ecoreFeature="ecore:EReference robotics.ecore#//components/ComponentPort/base_Port"/>
@@ -71,11 +73,9 @@
<genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
propertySortChoices="true" ecoreFeature="ecore:EReference robotics.ecore#//components/ComponentInstance/base_Property"/>
<genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
- createChild="false" ecoreFeature="ecore:EReference robotics.ecore#//components/ComponentInstance/compdef"/>
+ createChild="false" ecoreFeature="ecore:EReference robotics.ecore#//components/ComponentInstance/compdefOrSys"/>
<genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
createChild="false" ecoreFeature="ecore:EReference robotics.ecore#//components/ComponentInstance/port"/>
- <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
- createChild="false" ecoreFeature="ecore:EReference robotics.ecore#//components/ComponentInstance/activities"/>
</genClasses>
<genClasses xsi:type="genmodel:GenClass" ecoreClass="robotics.ecore#//components/ComponentService">
<genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
diff --git a/plugins/customization/org.eclipse.papyrus.robotics.profile/model/robotics.profile.notation b/plugins/customization/org.eclipse.papyrus.robotics.profile/model/robotics.profile.notation
index 57c5279..787d371 100644
--- a/plugins/customization/org.eclipse.papyrus.robotics.profile/model/robotics.profile.notation
+++ b/plugins/customization/org.eclipse.papyrus.robotics.profile/model/robotics.profile.notation
@@ -102,14 +102,6 @@
<children xmi:type="notation:Shape" xmi:id="_L35AgJZ2Eeeq1f8hGgKVzA" type="Stereotype_Shape">
<children xmi:type="notation:DecorationNode" xmi:id="_L4A8UJZ2Eeeq1f8hGgKVzA" type="Stereotype_NameLabel"/>
<children xmi:type="notation:BasicCompartment" xmi:id="_L4A8UZZ2Eeeq1f8hGgKVzA" type="Stereotype_AttributeCompartment">
- <children xmi:type="notation:Shape" xmi:id="_3mOrkPv2Eee2kOgXcGh18g" type="Property_ClassAttributeLabel">
- <element xmi:type="uml:Property" href="robotics.profile.uml#_niAaAvv2Eee2kOgXcGh18g"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_3mOrkfv2Eee2kOgXcGh18g"/>
- </children>
- <children xmi:type="notation:Shape" xmi:id="_3maRwPv2Eee2kOgXcGh18g" type="Property_ClassAttributeLabel">
- <element xmi:type="uml:Property" href="robotics.profile.uml#_I4DK8PvyEee2kOgXcGh18g"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_3maRwfv2Eee2kOgXcGh18g"/>
- </children>
<children xmi:type="notation:Shape" xmi:id="_3mnGEPv2Eee2kOgXcGh18g" type="Property_ClassAttributeLabel">
<element xmi:type="uml:Property" href="robotics.profile.uml#_YeniEvvwEeeGAO2m_WRmDg"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_3mnGEfv2Eee2kOgXcGh18g"/>
@@ -130,7 +122,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_L4BjZJZ2Eeeq1f8hGgKVzA"/>
</children>
<element xmi:type="uml:Stereotype" href="robotics.profile.uml#_L3wdoJZ2Eeeq1f8hGgKVzA"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L35AgZZ2Eeeq1f8hGgKVzA" x="500" y="300" width="281" height="161"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L35AgZZ2Eeeq1f8hGgKVzA" x="460" y="380" width="201" height="81"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_PcskAJZ2Eeeq1f8hGgKVzA" type="Stereotype_Shape" gradient="16777215, -1, 0">
<children xmi:type="notation:DecorationNode" xmi:id="_PcskApZ2Eeeq1f8hGgKVzA" type="Stereotype_NameLabel"/>
@@ -256,7 +248,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_lZ2p1Pw6Eee2kOgXcGh18g"/>
</children>
<element xmi:type="uml:Stereotype" href="robotics.profile.uml#_VoeJwJZ2Eeeq1f8hGgKVzA"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lZ1bsfw6Eee2kOgXcGh18g" x="200" y="300" width="241" height="161"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lZ1bsfw6Eee2kOgXcGh18g" x="200" y="300" width="201" height="161"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_s1jfAPw9Eee2kOgXcGh18g" type="Stereotype_Shape" gradient="16777215, -1, 0">
<children xmi:type="notation:DecorationNode" xmi:id="_s1kGEPw9Eee2kOgXcGh18g" type="Stereotype_NameLabel"/>
@@ -301,7 +293,7 @@
<children xmi:type="notation:Shape" xmi:id="_eeHC4Pw-Eee2kOgXcGh18g" type="Comment_Shape">
<children xmi:type="notation:DecorationNode" xmi:id="_eeHp8Pw-Eee2kOgXcGh18g" type="Comment_BodyLabel"/>
<element xmi:type="uml:Comment" href="robotics.profile.uml#_FPxLoJbnEeeM7-EkGcZisw"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eeHC4fw-Eee2kOgXcGh18g" x="240" y="580" width="461" height="121"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eeHC4fw-Eee2kOgXcGh18g" x="240" y="580" width="461" height="101"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_mZxWYBM-Eei-CMVLY1Smdg" type="Stereotype_Shape" fillColor="14012867">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_27GBYBNDEei-CMVLY1Smdg" source="QualifiedName">
@@ -321,7 +313,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_mZzyqhM-Eei-CMVLY1Smdg"/>
</children>
<element xmi:type="uml:Stereotype" href="pathmap://ROBOTICS_BPC_PROFILES/bpc.profile.uml#_tQzYoKgfEeexrbjCvoglCQ"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mZxWYRM-Eei-CMVLY1Smdg" x="200" y="140" width="581" height="100"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mZxWYRM-Eei-CMVLY1Smdg" x="200" y="140" width="581" height="81"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_Qou2gBM_Eei-CMVLY1Smdg" type="Stereotype_Shape" gradient="16777215, -1, 0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z6NqUBNDEei-CMVLY1Smdg" source="QualifiedName">
@@ -428,7 +420,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC1gXDm1Eei--ZsfKWaFtw"/>
</children>
<element xmi:type="uml:Stereotype" href="robotics.profile.uml#_1VSQgDmrEei--ZsfKWaFtw"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC1gUTm1Eei--ZsfKWaFtw" x="500" y="500" width="281" height="61"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC1gUTm1Eei--ZsfKWaFtw" x="460" y="500" width="281" height="61"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_Kx1QAAnqEeqsaI2iFtV_3g" type="Stereotype_Shape">
<children xmi:type="notation:DecorationNode" xmi:id="_Kx3FMAnqEeqsaI2iFtV_3g" type="Stereotype_NameLabel"/>
@@ -459,6 +451,52 @@
<element xmi:type="uml:Stereotype" href="robotics.profile.uml#_KxqQ4AnqEeqsaI2iFtV_3g"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_Kx1QAQnqEeqsaI2iFtV_3g" x="920" y="140" width="161" height="101"/>
</children>
+ <children xmi:type="notation:Shape" xmi:id="_D3exAIQpEeuhg4b0yfu4kA" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_D3f_IIQpEeuhg4b0yfu4kA" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_D3f_IYQpEeuhg4b0yfu4kA" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_QfdlMIQpEeuhg4b0yfu4kA" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="robotics.profile.uml#_niAaAvv2Eee2kOgXcGh18g"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_QfdlMYQpEeuhg4b0yfu4kA"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_3maRwPv2Eee2kOgXcGh18g" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="robotics.profile.uml#_I4DK8PvyEee2kOgXcGh18g"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3maRwfv2Eee2kOgXcGh18g"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_D3f_IoQpEeuhg4b0yfu4kA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_D3f_I4QpEeuhg4b0yfu4kA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_D3f_JIQpEeuhg4b0yfu4kA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D3f_JYQpEeuhg4b0yfu4kA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_D3f_JoQpEeuhg4b0yfu4kA" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_D3f_J4QpEeuhg4b0yfu4kA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_D3f_KIQpEeuhg4b0yfu4kA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_D3f_KYQpEeuhg4b0yfu4kA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D3f_KoQpEeuhg4b0yfu4kA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="robotics.profile.uml#_D3D6QIQpEeuhg4b0yfu4kA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D3exAYQpEeuhg4b0yfu4kA" x="460" y="260" width="381" height="81"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_fi6yQIfXEeuGtdWdsD4-EQ" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_fi6yQofXEeuGtdWdsD4-EQ" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_fi6yQ4fXEeuGtdWdsD4-EQ" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_1ij5YIfXEeuGtdWdsD4-EQ" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="robotics.profile.uml#_5k4hExSWEei-CMVLY1Smdg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1ij5YYfXEeuGtdWdsD4-EQ"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_fi6yRIfXEeuGtdWdsD4-EQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_fi6yRYfXEeuGtdWdsD4-EQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_fi6yRofXEeuGtdWdsD4-EQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fi6yR4fXEeuGtdWdsD4-EQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_fi6ySIfXEeuGtdWdsD4-EQ" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_fi6ySYfXEeuGtdWdsD4-EQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_fi6ySofXEeuGtdWdsD4-EQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_fi6yS4fXEeuGtdWdsD4-EQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fi6yTIfXEeuGtdWdsD4-EQ"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="robotics.profile.uml#_sp__ABSWEei-CMVLY1Smdg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fi6yQYfXEeuGtdWdsD4-EQ" x="680" y="380" width="161" height="81"/>
+ </children>
<styles xmi:type="notation:StringValueStyle" xmi:id="_GNuTAZZ2Eeeq1f8hGgKVzA" name="diagram_compatibility_version" stringValue="1.4.0"/>
<styles xmi:type="notation:DiagramStyle" xmi:id="_GNuTApZ2Eeeq1f8hGgKVzA"/>
<styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_GNuTA5Z2Eeeq1f8hGgKVzA" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
@@ -516,40 +554,9 @@
<styles xmi:type="notation:FontStyle" xmi:id="_YgfKUfvwEeeGAO2m_WRmDg"/>
<element xmi:type="uml:Association" href="robotics.profile.uml#_Yem7APvwEeeGAO2m_WRmDg"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YgfKUvvwEeeGAO2m_WRmDg" points="[680, 501, -643984, -643984]$[680, 520, -643984, -643984]$[700, 520, -643984, -643984]$[700, 540, -643984, -643984]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YjroQPvwEeeGAO2m_WRmDg" id="(0.498220640569395,1.0)"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YjroQPvwEeeGAO2m_WRmDg" id="(0.6965174129353234,1.0)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YjroQfvwEeeGAO2m_WRmDg" id="(0.498220640569395,0.0)"/>
</edges>
- <edges xmi:type="notation:Connector" xmi:id="_I50FgPvyEee2kOgXcGh18g" type="Association_Edge" source="_L35AgJZ2Eeeq1f8hGgKVzA" target="_PcskAJZ2Eeeq1f8hGgKVzA" routing="Rectilinear">
- <children xmi:type="notation:DecorationNode" xmi:id="_I50skPvyEee2kOgXcGh18g" type="Association_StereotypeLabel">
- <styles xmi:type="notation:BooleanValueStyle" xmi:id="_PRMJkPw6Eee2kOgXcGh18g" name="IS_UPDATED_POSITION" booleanValue="true"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_I50skfvyEee2kOgXcGh18g" y="60"/>
- </children>
- <children xmi:type="notation:DecorationNode" xmi:id="_I50skvvyEee2kOgXcGh18g" visible="false" type="Association_NameLabel">
- <styles xmi:type="notation:BooleanValueStyle" xmi:id="_PR7wcPw6Eee2kOgXcGh18g" name="IS_UPDATED_POSITION" booleanValue="true"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_I50sk_vyEee2kOgXcGh18g" y="20"/>
- </children>
- <children xmi:type="notation:DecorationNode" xmi:id="_I50slPvyEee2kOgXcGh18g" type="Association_TargetRoleLabel">
- <styles xmi:type="notation:BooleanValueStyle" xmi:id="_PSqwQPw6Eee2kOgXcGh18g" name="IS_UPDATED_POSITION" booleanValue="true"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_I50slfvyEee2kOgXcGh18g" x="-45" y="7"/>
- </children>
- <children xmi:type="notation:DecorationNode" xmi:id="_I50slvvyEee2kOgXcGh18g" visible="false" type="Association_SourceRoleLabel">
- <styles xmi:type="notation:BooleanValueStyle" xmi:id="_PTa-MPw6Eee2kOgXcGh18g" name="IS_UPDATED_POSITION" booleanValue="true"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_I50sl_vyEee2kOgXcGh18g" x="21" y="-20"/>
- </children>
- <children xmi:type="notation:DecorationNode" xmi:id="_I50smPvyEee2kOgXcGh18g" visible="false" type="Association_SourceMultiplicityLabel">
- <styles xmi:type="notation:BooleanValueStyle" xmi:id="_PULzMPw6Eee2kOgXcGh18g" name="IS_UPDATED_POSITION" booleanValue="true"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_I50smfvyEee2kOgXcGh18g" x="21" y="20"/>
- </children>
- <children xmi:type="notation:DecorationNode" xmi:id="_I50smvvyEee2kOgXcGh18g" type="Association_TargetMultiplicityLabel">
- <styles xmi:type="notation:BooleanValueStyle" xmi:id="_PVIOYPw6Eee2kOgXcGh18g" name="IS_UPDATED_POSITION" booleanValue="true"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_I50sm_vyEee2kOgXcGh18g" x="-35" y="-13"/>
- </children>
- <styles xmi:type="notation:FontStyle" xmi:id="_I50FgfvyEee2kOgXcGh18g"/>
- <element xmi:type="uml:Association" href="robotics.profile.uml#_I3-ScPvyEee2kOgXcGh18g"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_I50FgvvyEee2kOgXcGh18g" points="[781, 420, -643984, -643984]$[860, 420, -643984, -643984]$[860, 440, -643984, -643984]$[920, 440, -643984, -643984]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_I9Xv0PvyEee2kOgXcGh18g" id="(1.0,0.7453416149068323)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_I9Xv0fvyEee2kOgXcGh18g" id="(0.0,0.24691358024691357)"/>
- </edges>
<edges xmi:type="notation:Connector" xmi:id="_khTCEPv2Eee2kOgXcGh18g" type="Generalization_Edge" source="_8W6wMPvyEee2kOgXcGh18g" target="_kgUxsPv2Eee2kOgXcGh18g" routing="Rectilinear">
<children xmi:type="notation:DecorationNode" xmi:id="_khTpIPv2Eee2kOgXcGh18g" type="Generalization_StereotypeLabel">
<styles xmi:type="notation:BooleanValueStyle" xmi:id="_lKHVkPv2Eee2kOgXcGh18g" name="IS_UPDATED_POSITION" booleanValue="true"/>
@@ -561,7 +568,7 @@
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lKUJ4Pv2Eee2kOgXcGh18g" id="(0.6644518272425249,0.0)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lKUJ4fv2Eee2kOgXcGh18g" id="(0.9159034138218152,1.0)"/>
</edges>
- <edges xmi:type="notation:Connector" xmi:id="_niPDgPv2Eee2kOgXcGh18g" type="Association_Edge" source="_L35AgJZ2Eeeq1f8hGgKVzA" target="_8W6wMPvyEee2kOgXcGh18g" routing="Rectilinear">
+ <edges xmi:type="notation:Connector" xmi:id="_niPDgPv2Eee2kOgXcGh18g" type="Association_Edge" source="_D3exAIQpEeuhg4b0yfu4kA" target="_8W6wMPvyEee2kOgXcGh18g" routing="Rectilinear">
<children xmi:type="notation:DecorationNode" xmi:id="_niPDg_v2Eee2kOgXcGh18g" type="Association_StereotypeLabel">
<styles xmi:type="notation:BooleanValueStyle" xmi:id="_g6I9QPw6Eee2kOgXcGh18g" name="IS_UPDATED_POSITION" booleanValue="true"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_niPDhPv2Eee2kOgXcGh18g" y="60"/>
@@ -588,8 +595,8 @@
</children>
<styles xmi:type="notation:FontStyle" xmi:id="_niPDgfv2Eee2kOgXcGh18g"/>
<element xmi:type="uml:Association" href="robotics.profile.uml#_nh_y8Pv2Eee2kOgXcGh18g"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_niPDgvv2Eee2kOgXcGh18g" points="[881, 360, -643984, -643984]$[1020, 360, -643984, -643984]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ni1gcPv2Eee2kOgXcGh18g" id="(1.0,0.37267080745341613)"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_niPDgvv2Eee2kOgXcGh18g" points="[781, 300, -643984, -643984]$[860, 300, -643984, -643984]$[860, 360, -643984, -643984]$[920, 360, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ni1gcPv2Eee2kOgXcGh18g" id="(1.0,0.49382716049382713)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ni1gcfv2Eee2kOgXcGh18g" id="(0.0,0.594059405940594)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_zYTdIPv3Eee2kOgXcGh18g" type="Association_Edge" target="_kgUxsPv2Eee2kOgXcGh18g">
@@ -711,7 +718,7 @@
<styles xmi:type="notation:FontStyle" xmi:id="_v0byUfw6Eee2kOgXcGh18g"/>
<element xmi:type="uml:Association" href="robotics.profile.uml#_vk3sUPw6Eee2kOgXcGh18g"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_v0byUvw6Eee2kOgXcGh18g" points="[520, 420, -643984, -643984]$[457, 420, -643984, -643984]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v20X8Pw6Eee2kOgXcGh18g" id="(0.0,0.7453416149068323)"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v20X8Pw6Eee2kOgXcGh18g" id="(0.0,0.49382716049382713)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v20_APw6Eee2kOgXcGh18g" id="(1.0,0.7453416149068323)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_AfT0MPw7Eee2kOgXcGh18g" type="Generalization_Edge" source="_lZ1bsPw6Eee2kOgXcGh18g" routing="Rectilinear">
@@ -770,7 +777,7 @@
<styles xmi:type="notation:FontStyle" xmi:id="_egwHMfw-Eee2kOgXcGh18g"/>
<element xsi:nil="true"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_egwHMvw-Eee2kOgXcGh18g" points="[701, 660, -643984, -643984]$[860, 660, -643984, -643984]$[860, 480, -643984, -643984]$[920, 480, -643984, -643984]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gDGqwPw-Eee2kOgXcGh18g" id="(1.0,0.6611570247933884)"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gDGqwPw-Eee2kOgXcGh18g" id="(1.0,0.7920792079207921)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iJquoPw-Eee2kOgXcGh18g" id="(0.0,0.7407407407407407)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_ei9GoPw-Eee2kOgXcGh18g" type="Comment_AnnotatedElementEdge" source="_eeHC4Pw-Eee2kOgXcGh18g" target="_lZ1bsPw6Eee2kOgXcGh18g">
@@ -778,18 +785,18 @@
<element xsi:nil="true"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lPUfMpbsEeeM7-EkGcZisw" points="[340, 620, -643984, -643984]$[340, 461, -643984, -643984]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lQPsQJbsEeeM7-EkGcZisw" id="(0.21691973969631237,0.0)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lQPsQZbsEeeM7-EkGcZisw" id="(0.5809128630705395,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lQPsQZbsEeeM7-EkGcZisw" id="(0.6965174129353234,1.0)"/>
</edges>
- <edges xmi:type="notation:Connector" xmi:id="_mfC38BM-Eei-CMVLY1Smdg" type="Generalization_Edge" source="_L35AgJZ2Eeeq1f8hGgKVzA" target="_mZxWYBM-Eei-CMVLY1Smdg" routing="Rectilinear">
+ <edges xmi:type="notation:Connector" xmi:id="_mfC38BM-Eei-CMVLY1Smdg" type="Generalization_Edge" source="_L35AgJZ2Eeeq1f8hGgKVzA" target="_D3exAIQpEeuhg4b0yfu4kA" routing="Rectilinear">
<children xmi:type="notation:DecorationNode" xmi:id="_mfDfABM-Eei-CMVLY1Smdg" type="Generalization_StereotypeLabel">
<styles xmi:type="notation:BooleanValueStyle" xmi:id="_uBRTQBM-Eei-CMVLY1Smdg" name="IS_UPDATED_POSITION" booleanValue="true"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_mfDfARM-Eei-CMVLY1Smdg" y="60"/>
</children>
<styles xmi:type="notation:FontStyle" xmi:id="_mfC38RM-Eei-CMVLY1Smdg"/>
<element xmi:type="uml:Generalization" href="robotics.profile.uml#_0XJ1AKiHEeerK_UDQFFzLg"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mfC38hM-Eei-CMVLY1Smdg" points="[640, 300, -643984, -643984]$[640, 240, -643984, -643984]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_t_fxoBM-Eei-CMVLY1Smdg" id="(0.498220640569395,0.0)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ooyLoBM-Eei-CMVLY1Smdg" id="(0.7573149741824441,1.0)"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mfC38hM-Eei-CMVLY1Smdg" points="[580, 380, -643984, -643984]$[580, 341, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_t_fxoBM-Eei-CMVLY1Smdg" id="(0.5970149253731343,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ooyLoBM-Eei-CMVLY1Smdg" id="(0.31496062992125984,1.0)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_qsE5EBM-Eei-CMVLY1Smdg" type="Generalization_Edge" source="_lZ1bsPw6Eee2kOgXcGh18g" target="_mZxWYBM-Eei-CMVLY1Smdg" routing="Rectilinear">
<children xmi:type="notation:DecorationNode" xmi:id="_qsFgIBM-Eei-CMVLY1Smdg" type="Generalization_StereotypeLabel">
@@ -799,7 +806,7 @@
<styles xmi:type="notation:FontStyle" xmi:id="_qsE5ERM-Eei-CMVLY1Smdg"/>
<element xmi:type="uml:Generalization" href="robotics.profile.uml#_ARjFAPw7Eee2kOgXcGh18g"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qsE5EhM-Eei-CMVLY1Smdg" points="[320, 300, -643984, -643984]$[320, 280, -643984, -643984]$[320, 240, -643984, -643984]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s9YNUBM-Eei-CMVLY1Smdg" id="(0.4979253112033195,0.0)"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s9YNUBM-Eei-CMVLY1Smdg" id="(0.5970149253731343,0.0)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s9YNURM-Eei-CMVLY1Smdg" id="(0.20654044750430292,1.0)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="__7HNMBM_Eei-CMVLY1Smdg" type="Association_Edge" source="_mZxWYBM-Eei-CMVLY1Smdg" target="_kgUxsPv2Eee2kOgXcGh18g" routing="Rectilinear">
@@ -903,7 +910,7 @@
<styles xmi:type="notation:FontStyle" xmi:id="__eVgQS6LEei0V9-WLHIyvg"/>
<element xmi:type="uml:Association" href="robotics.profile.uml#_aYdWoC6HEei0V9-WLHIyvg"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__eVgQi6LEei0V9-WLHIyvg" points="[320, 461, -643984, -643984]$[320, 500, -643984, -643984]$[120, 500, -643984, -643984]$[120, 580, -643984, -643984]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AiWiAC6MEei0V9-WLHIyvg" id="(0.4979253112033195,1.0)"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AiWiAC6MEei0V9-WLHIyvg" id="(0.5970149253731343,1.0)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AiXJEC6MEei0V9-WLHIyvg" id="(0.5649717514124294,0.0)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_Uc06wDgAEeirkoCxAcpuEA" type="Association_Edge" source="_lZ1bsPw6Eee2kOgXcGh18g" target="_Kzdz0DgAEeirkoCxAcpuEA">
@@ -957,7 +964,28 @@
<element xmi:type="uml:Generalization" href="robotics.profile.uml#_PMlkEAnqEeqsaI2iFtV_3g"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PNh_QgnqEeqsaI2iFtV_3g" points="[1120, 180, -643984, -643984]$[881, 180, -643984, -643984]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PPaOkAnqEeqsaI2iFtV_3g" id="(0.0,0.39603960396039606)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PPaOkQnqEeqsaI2iFtV_3g" id="(1.0,0.4)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PPaOkQnqEeqsaI2iFtV_3g" id="(1.0,0.49382716049382713)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_XpMoAIQpEeuhg4b0yfu4kA" type="Generalization_Edge" source="_D3exAIQpEeuhg4b0yfu4kA" target="_mZxWYBM-Eei-CMVLY1Smdg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_XpMoA4QpEeuhg4b0yfu4kA" type="Generalization_StereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XpMoBIQpEeuhg4b0yfu4kA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_XpMoAYQpEeuhg4b0yfu4kA"/>
+ <element xmi:type="uml:Generalization" href="robotics.profile.uml#_XnhNAIQpEeuhg4b0yfu4kA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XpMoAoQpEeuhg4b0yfu4kA" points="[640, 260, -643984, -643984]$[640, 221, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xr3hgIQpEeuhg4b0yfu4kA" id="(0.47244094488188976,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xr3hgYQpEeuhg4b0yfu4kA" id="(0.7573149741824441,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_pWPtgIfXEeuGtdWdsD4-EQ" type="Generalization_Edge" source="_fi6yQIfXEeuGtdWdsD4-EQ" target="_D3exAIQpEeuhg4b0yfu4kA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_pWPtg4fXEeuGtdWdsD4-EQ" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_61sm8IfXEeuGtdWdsD4-EQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_pWPthIfXEeuGtdWdsD4-EQ" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_pWPtgYfXEeuGtdWdsD4-EQ"/>
+ <element xmi:type="uml:Generalization" href="robotics.profile.uml#_wNfT4BSWEei-CMVLY1Smdg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pWPtgofXEeuGtdWdsD4-EQ" points="[760, 380, -643984, -643984]$[760, 341, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2mh30IfXEeuGtdWdsD4-EQ" id="(0.4968944099378882,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qIQZQIfXEeuGtdWdsD4-EQ" id="(0.7874015748031497,1.0)"/>
</edges>
</notation:Diagram>
<notation:Diagram xmi:id="_ggTNUJbWEeeM7-EkGcZisw" type="PapyrusUMLProfileDiagram" name="components (extensions)" measurementUnit="Pixel">
@@ -1619,6 +1647,46 @@
<element xsi:nil="true"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_fWfV0iQsEeuD8eTvhiVIwg" x="980" y="400"/>
</children>
+ <children xmi:type="notation:Shape" xmi:id="_LvfrE4fXEeuGtdWdsD4-EQ" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_LvfrFIfXEeuGtdWdsD4-EQ"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LviuYIfXEeuGtdWdsD4-EQ" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LvfrFYfXEeuGtdWdsD4-EQ" x="160" y="20"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_LvrRQ4fXEeuGtdWdsD4-EQ" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_LvrRRIfXEeuGtdWdsD4-EQ"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Lvr4UIfXEeuGtdWdsD4-EQ" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InstanceSpecification"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LvrRRYfXEeuGtdWdsD4-EQ" x="594" y="400"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Lv23cIfXEeuGtdWdsD4-EQ" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Lv23cYfXEeuGtdWdsD4-EQ"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Lv23c4fXEeuGtdWdsD4-EQ" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lv23cofXEeuGtdWdsD4-EQ" x="720" y="20"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_LwBPgIfXEeuGtdWdsD4-EQ" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_LwBPgYfXEeuGtdWdsD4-EQ"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LwBPg4fXEeuGtdWdsD4-EQ" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LwBPgofXEeuGtdWdsD4-EQ" x="260" y="400"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_LwOq44fXEeuGtdWdsD4-EQ" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_LwOq5IfXEeuGtdWdsD4-EQ"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LwOq5ofXEeuGtdWdsD4-EQ" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LwOq5YfXEeuGtdWdsD4-EQ" x="980" y="400"/>
+ </children>
<styles xmi:type="notation:StringValueStyle" xmi:id="_ggTNUZbWEeeM7-EkGcZisw" name="diagram_compatibility_version" stringValue="1.4.0"/>
<styles xmi:type="notation:DiagramStyle" xmi:id="_ggTNUpbWEeeM7-EkGcZisw"/>
<styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_ggTNU5bWEeeM7-EkGcZisw" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
@@ -2137,6 +2205,56 @@
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fWfV1yQsEeuD8eTvhiVIwg"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fWfV2CQsEeuD8eTvhiVIwg"/>
</edges>
+ <edges xmi:type="notation:Connector" xmi:id="_LviuYYfXEeuGtdWdsD4-EQ" type="StereotypeCommentLink" source="_l4mHsJbWEeeM7-EkGcZisw" target="_LvfrE4fXEeuGtdWdsD4-EQ">
+ <styles xmi:type="notation:FontStyle" xmi:id="_LviuYofXEeuGtdWdsD4-EQ"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LviuZofXEeuGtdWdsD4-EQ" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LviuY4fXEeuGtdWdsD4-EQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LviuZIfXEeuGtdWdsD4-EQ"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LviuZYfXEeuGtdWdsD4-EQ"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Lvr4UYfXEeuGtdWdsD4-EQ" type="StereotypeCommentLink" source="_7TJCwJ0uEeeBys1xGPG1Rg" target="_LvrRQ4fXEeuGtdWdsD4-EQ">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Lvr4UofXEeuGtdWdsD4-EQ"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Lvr4VofXEeuGtdWdsD4-EQ" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InstanceSpecification"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Lvr4U4fXEeuGtdWdsD4-EQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Lvr4VIfXEeuGtdWdsD4-EQ"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Lvr4VYfXEeuGtdWdsD4-EQ"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Lv23dIfXEeuGtdWdsD4-EQ" type="StereotypeCommentLink" source="_vQnEQPR-EeeeOeGeZwxiZw" target="_Lv23cIfXEeuGtdWdsD4-EQ">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Lv23dYfXEeuGtdWdsD4-EQ"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Lv23eYfXEeuGtdWdsD4-EQ" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Lv23dofXEeuGtdWdsD4-EQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Lv23d4fXEeuGtdWdsD4-EQ"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Lv23eIfXEeuGtdWdsD4-EQ"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_LwBPhIfXEeuGtdWdsD4-EQ" type="StereotypeCommentLink" source="_aPTLUBNDEei-CMVLY1Smdg" target="_LwBPgIfXEeuGtdWdsD4-EQ">
+ <styles xmi:type="notation:FontStyle" xmi:id="_LwBPhYfXEeuGtdWdsD4-EQ"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LwBPiYfXEeuGtdWdsD4-EQ" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LwBPhofXEeuGtdWdsD4-EQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LwBPh4fXEeuGtdWdsD4-EQ"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LwBPiIfXEeuGtdWdsD4-EQ"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_LwOq54fXEeuGtdWdsD4-EQ" type="StereotypeCommentLink" source="_twkUcElaEeicede5K86kPg" target="_LwOq44fXEeuGtdWdsD4-EQ">
+ <styles xmi:type="notation:FontStyle" xmi:id="_LwOq6IfXEeuGtdWdsD4-EQ"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LwPR8IfXEeuGtdWdsD4-EQ" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LwOq6YfXEeuGtdWdsD4-EQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LwOq6ofXEeuGtdWdsD4-EQ"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LwOq64fXEeuGtdWdsD4-EQ"/>
+ </edges>
</notation:Diagram>
<notation:Diagram xmi:id="__HqKkJe6EeeiCOWsEr9OuA" type="PapyrusUMLProfileDiagram" name="commPattern" measurementUnit="Pixel">
<children xmi:type="notation:Shape" xmi:id="_DxmxMJe7EeeiCOWsEr9OuA" type="Stereotype_Shape">
diff --git a/plugins/customization/org.eclipse.papyrus.robotics.profile/model/robotics.profile.uml b/plugins/customization/org.eclipse.papyrus.robotics.profile/model/robotics.profile.uml
index c304a87..44382f4 100644
--- a/plugins/customization/org.eclipse.papyrus.robotics.profile/model/robotics.profile.uml
+++ b/plugins/customization/org.eclipse.papyrus.robotics.profile/model/robotics.profile.uml
@@ -32,21 +32,10 @@
<importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
</elementImport>
<packagedElement xmi:type="uml:Stereotype" xmi:id="_L3wdoJZ2Eeeq1f8hGgKVzA" name="ComponentDefinition">
- <generalization xmi:type="uml:Generalization" xmi:id="_0XJ1AKiHEeerK_UDQFFzLg">
- <general xmi:type="uml:Stereotype" href="pathmap://ROBOTICS_BPC_PROFILES/bpc.profile.uml#_tQzYoKgfEeexrbjCvoglCQ"/>
- </generalization>
+ <generalization xmi:type="uml:Generalization" xmi:id="_0XJ1AKiHEeerK_UDQFFzLg" general="_D3D6QIQpEeuhg4b0yfu4kA"/>
<ownedAttribute xmi:type="uml:Property" xmi:id="_zxDFQJbWEeeM7-EkGcZisw" name="base_Class" association="_zw-MwJbWEeeM7-EkGcZisw">
<type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_niAaAvv2Eee2kOgXcGh18g" name="port" type="_1QQ5kPR-EeeeOeGeZwxiZw" isReadOnly="true" isDerived="true" association="_nh_y8Pv2Eee2kOgXcGh18g">
- <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_u0l20Pv2Eee2kOgXcGh18g"/>
- <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_u01ucPv2Eee2kOgXcGh18g" value="*"/>
- <subsettedProperty xmi:type="uml:Property" href="pathmap://ROBOTICS_BPC_PROFILES/bpc.profile.uml#_fxPrIKg-EeeT_sbBf9FSBw"/>
- </ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_I4DK8PvyEee2kOgXcGh18g" name="services" type="_PcmdYJZ2Eeeq1f8hGgKVzA" isReadOnly="true" isDerived="true" association="_I3-ScPvyEee2kOgXcGh18g">
- <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_TVfaMPvyEee2kOgXcGh18g"/>
- <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_TV5C0PvyEee2kOgXcGh18g" value="*"/>
- </ownedAttribute>
<ownedAttribute xmi:type="uml:Property" xmi:id="_YeniEvvwEeeGAO2m_WRmDg" name="parameter" type="_1VSQgDmrEei--ZsfKWaFtw" isReadOnly="true" isDerived="true" association="_Yem7APvwEeeGAO2m_WRmDg">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dPIqwPvwEeeGAO2m_WRmDg"/>
</ownedAttribute>
@@ -168,13 +157,13 @@
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_I4B80PvyEee2kOgXcGh18g" source="org.eclipse.papyrus">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_I4Cj4PvyEee2kOgXcGh18g" key="nature" value="UML_Nature"/>
</eAnnotations>
- <ownedEnd xmi:type="uml:Property" xmi:id="_I4EZEPvyEee2kOgXcGh18g" name="componentdefinition" type="_L3wdoJZ2Eeeq1f8hGgKVzA" association="_I3-ScPvyEee2kOgXcGh18g"/>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_I4EZEPvyEee2kOgXcGh18g" name="componentdefinition" type="_D3D6QIQpEeuhg4b0yfu4kA" association="_I3-ScPvyEee2kOgXcGh18g"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_nh_y8Pv2Eee2kOgXcGh18g" memberEnd="_niAaAvv2Eee2kOgXcGh18g _niBBEPv2Eee2kOgXcGh18g">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_niAaAPv2Eee2kOgXcGh18g" source="org.eclipse.papyrus">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_niAaAfv2Eee2kOgXcGh18g" key="nature" value="UML_Nature"/>
</eAnnotations>
- <ownedEnd xmi:type="uml:Property" xmi:id="_niBBEPv2Eee2kOgXcGh18g" name="componentdefinition" type="_L3wdoJZ2Eeeq1f8hGgKVzA" association="_nh_y8Pv2Eee2kOgXcGh18g"/>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_niBBEPv2Eee2kOgXcGh18g" name="componentdefinition" type="_D3D6QIQpEeuhg4b0yfu4kA" association="_nh_y8Pv2Eee2kOgXcGh18g"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_PQqQAPw4Eee2kOgXcGh18g" memberEnd="_PQssQfw4Eee2kOgXcGh18g _PQuhcPw4Eee2kOgXcGh18g">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PQsFMPw4Eee2kOgXcGh18g" source="org.eclipse.papyrus">
@@ -219,17 +208,13 @@
<ownedAttribute xmi:type="uml:Property" xmi:id="_iWacYRNDEei-CMVLY1Smdg" name="base_Property" association="_iWZ1UBNDEei-CMVLY1Smdg">
<type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_jD8WkBX_Eeqxas4IZZ7cdQ" name="compdef" visibility="public" type="_L3wdoJZ2Eeeq1f8hGgKVzA" isReadOnly="true" isDerived="true">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_jD8WkBX_Eeqxas4IZZ7cdQ" name="compdefOrSys" visibility="public" type="_D3D6QIQpEeuhg4b0yfu4kA" isReadOnly="true" isDerived="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rk4c4BX_Eeqxas4IZZ7cdQ"/>
</ownedAttribute>
<ownedAttribute xmi:type="uml:Property" xmi:id="_G59VoBYWEeq5E4IA8Cy87w" name="port" type="_1QQ5kPR-EeeeOeGeZwxiZw" isReadOnly="true" isDerived="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Jw9X8BYWEeq5E4IA8Cy87w"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JvVAQBYWEeq5E4IA8Cy87w" value="*"/>
</ownedAttribute>
- <ownedAttribute xmi:type="uml:Property" xmi:id="_yl-FwBYaEeqpsOdTX52jjA" name="activities" type="_VoeJwJZ2Eeeq1f8hGgKVzA" isReadOnly="true" isDerived="true">
- <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_259DcBYaEeqpsOdTX52jjA"/>
- <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_24ayYBYaEeqpsOdTX52jjA" value="*"/>
- </ownedAttribute>
<icon xmi:type="uml:Image" xmi:id="_pox-8Ct6EeisMvszWrx9QA" location="platform:/plugin/org.eclipse.papyrus.robotics.profile/icons/ComponentInstance.png">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wAlOgCt6EeisMvszWrx9QA" source="image_papyrus">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wAl1kCt6EeisMvszWrx9QA" key="image_kind_key" value="icon"/>
@@ -246,9 +231,7 @@
<ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_iWacYBNDEei-CMVLY1Smdg" name="extension_ComponentInstance" type="_f-vFQBNBEei-CMVLY1Smdg" aggregation="composite" association="_iWZ1UBNDEei-CMVLY1Smdg"/>
</packagedElement>
<packagedElement xmi:type="uml:Stereotype" xmi:id="_sp__ABSWEei-CMVLY1Smdg" name="System">
- <generalization xmi:type="uml:Generalization" xmi:id="_wNfT4BSWEei-CMVLY1Smdg">
- <general xmi:type="uml:Stereotype" href="pathmap://ROBOTICS_BPC_PROFILES/bpc.profile.uml#_tQzYoKgfEeexrbjCvoglCQ"/>
- </generalization>
+ <generalization xmi:type="uml:Generalization" xmi:id="_wNfT4BSWEei-CMVLY1Smdg" general="_D3D6QIQpEeuhg4b0yfu4kA"/>
<ownedAttribute xmi:type="uml:Property" xmi:id="_5k4hExSWEei-CMVLY1Smdg" name="instances" type="_f-vFQBNBEei-CMVLY1Smdg" isReadOnly="true" isDerived="true" association="_5k4hEBSWEei-CMVLY1Smdg">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_h01W0BSXEei-CMVLY1Smdg"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_h1NxUBSXEei-CMVLY1Smdg" value="*"/>
@@ -379,6 +362,20 @@
</eAnnotations>
<ownedEnd xmi:type="uml:Property" xmi:id="_LhpiEMdVEeqRKuua5g3EAA" name="system" type="_sp__ABSWEei-CMVLY1Smdg" association="_LhbfoMdVEeqRKuua5g3EAA"/>
</packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_D3D6QIQpEeuhg4b0yfu4kA" name="ComponentOrSystem" isAbstract="true">
+ <generalization xmi:type="uml:Generalization" xmi:id="_XnhNAIQpEeuhg4b0yfu4kA">
+ <general xmi:type="uml:Stereotype" href="pathmap://ROBOTICS_BPC_PROFILES/bpc.profile.uml#_tQzYoKgfEeexrbjCvoglCQ"/>
+ </generalization>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_niAaAvv2Eee2kOgXcGh18g" name="port" type="_1QQ5kPR-EeeeOeGeZwxiZw" isReadOnly="true" isDerived="true" association="_nh_y8Pv2Eee2kOgXcGh18g">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_u0l20Pv2Eee2kOgXcGh18g"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_u01ucPv2Eee2kOgXcGh18g" value="*"/>
+ <subsettedProperty xmi:type="uml:Property" href="pathmap://ROBOTICS_BPC_PROFILES/bpc.profile.uml#_fxPrIKg-EeeT_sbBf9FSBw"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_I4DK8PvyEee2kOgXcGh18g" name="services" type="_PcmdYJZ2Eeeq1f8hGgKVzA" isReadOnly="true" isDerived="true" association="_I3-ScPvyEee2kOgXcGh18g">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_TVfaMPvyEee2kOgXcGh18g"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_TV5C0PvyEee2kOgXcGh18g" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
</packagedElement>
<packagedElement xmi:type="uml:Profile" xmi:id="_8Z6x8Je6EeeiCOWsEr9OuA" name="commpattern" URI="http://www.eclipse.org/papyrus/robotics/commpattern/1" metaclassReference="_OgONAPIxEeeZEoGxrLp_vw _pVNaUCamEeitH-pStkBWTw">
<elementImport xmi:type="uml:ElementImport" xmi:id="_OgONAPIxEeeZEoGxrLp_vw" alias="Class">
diff --git a/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/behavior/impl/BehaviorFactoryImpl.java b/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/behavior/impl/BehaviorFactoryImpl.java
index 73ac8b9..0145434 100644
--- a/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/behavior/impl/BehaviorFactoryImpl.java
+++ b/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/behavior/impl/BehaviorFactoryImpl.java
@@ -16,6 +16,7 @@
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.impl.EFactoryImpl;
import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.robotics.profile.robotics.behavior.*;
import org.eclipse.papyrus.robotics.profile.robotics.behavior.BehaviorDefinition;
import org.eclipse.papyrus.robotics.profile.robotics.behavior.BehaviorFactory;
import org.eclipse.papyrus.robotics.profile.robotics.behavior.BehaviorPackage;
diff --git a/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/ComponentDefinition.java b/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/ComponentDefinition.java
index f92bb09..8bc4b9d 100644
--- a/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/ComponentDefinition.java
+++ b/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/ComponentDefinition.java
@@ -12,8 +12,6 @@
package org.eclipse.papyrus.robotics.profile.robotics.components;
import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.papyrus.robotics.bpc.profile.bpc.Block;
import org.eclipse.papyrus.robotics.profile.robotics.parameters.Parameter;
/**
@@ -29,7 +27,6 @@
* The following features are supported:
* </p>
* <ul>
- * <li>{@link org.eclipse.papyrus.robotics.profile.robotics.components.ComponentDefinition#getServices <em>Services</em>}</li>
* <li>{@link org.eclipse.papyrus.robotics.profile.robotics.components.ComponentDefinition#getParameter <em>Parameter</em>}</li>
* <li>{@link org.eclipse.papyrus.robotics.profile.robotics.components.ComponentDefinition#getActivities <em>Activities</em>}</li>
* </ul>
@@ -38,23 +35,7 @@
* @model
* @generated
*/
-public interface ComponentDefinition extends Block {
- /**
- * Returns the value of the '<em><b>Services</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.papyrus.robotics.profile.robotics.components.ComponentService}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Services</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>Services</em>' reference list.
- * @see org.eclipse.papyrus.robotics.profile.robotics.components.ComponentsPackage#getComponentDefinition_Services()
- * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
- * @generated
- */
- EList<ComponentService> getServices();
-
+public interface ComponentDefinition extends ComponentOrSystem {
/**
* Returns the value of the '<em><b>Parameter</b></em>' reference.
* <!-- begin-user-doc -->
diff --git a/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/ComponentInstance.java b/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/ComponentInstance.java
index 339078e..30cd7d1 100644
--- a/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/ComponentInstance.java
+++ b/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/ComponentInstance.java
@@ -27,9 +27,8 @@
* <ul>
* <li>{@link org.eclipse.papyrus.robotics.profile.robotics.components.ComponentInstance#getParamInstance <em>Param Instance</em>}</li>
* <li>{@link org.eclipse.papyrus.robotics.profile.robotics.components.ComponentInstance#getBase_Property <em>Base Property</em>}</li>
- * <li>{@link org.eclipse.papyrus.robotics.profile.robotics.components.ComponentInstance#getCompdef <em>Compdef</em>}</li>
+ * <li>{@link org.eclipse.papyrus.robotics.profile.robotics.components.ComponentInstance#getCompdefOrSys <em>Compdef Or Sys</em>}</li>
* <li>{@link org.eclipse.papyrus.robotics.profile.robotics.components.ComponentInstance#getPort <em>Port</em>}</li>
- * <li>{@link org.eclipse.papyrus.robotics.profile.robotics.components.ComponentInstance#getActivities <em>Activities</em>}</li>
* </ul>
*
* @see org.eclipse.papyrus.robotics.profile.robotics.components.ComponentsPackage#getComponentInstance()
@@ -79,19 +78,19 @@
void setBase_Property(Property value);
/**
- * Returns the value of the '<em><b>Compdef</b></em>' reference.
+ * Returns the value of the '<em><b>Compdef Or Sys</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Compdef</em>' reference isn't clear,
+ * If the meaning of the '<em>Compdef Or Sys</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- * @return the value of the '<em>Compdef</em>' reference.
- * @see org.eclipse.papyrus.robotics.profile.robotics.components.ComponentsPackage#getComponentInstance_Compdef()
+ * @return the value of the '<em>Compdef Or Sys</em>' reference.
+ * @see org.eclipse.papyrus.robotics.profile.robotics.components.ComponentsPackage#getComponentInstance_CompdefOrSys()
* @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
* @generated
*/
- ComponentDefinition getCompdef();
+ ComponentOrSystem getCompdefOrSys();
/**
* Returns the value of the '<em><b>Port</b></em>' reference list.
@@ -109,20 +108,4 @@
*/
EList<ComponentPort> getPort();
- /**
- * Returns the value of the '<em><b>Activities</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.papyrus.robotics.profile.robotics.components.Activity}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Activities</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>Activities</em>' reference list.
- * @see org.eclipse.papyrus.robotics.profile.robotics.components.ComponentsPackage#getComponentInstance_Activities()
- * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
- * @generated
- */
- EList<Activity> getActivities();
-
} // ComponentInstance
diff --git a/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/ComponentOrSystem.java b/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/ComponentOrSystem.java
new file mode 100644
index 0000000..bb7fc23
--- /dev/null
+++ b/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/ComponentOrSystem.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c) 2019 CEA LIST
+ *
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ */
+package org.eclipse.papyrus.robotics.profile.robotics.components;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.robotics.bpc.profile.bpc.Block;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Component Or System</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.robotics.profile.robotics.components.ComponentOrSystem#getServices <em>Services</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.robotics.profile.robotics.components.ComponentsPackage#getComponentOrSystem()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ComponentOrSystem extends Block {
+ /**
+ * Returns the value of the '<em><b>Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.robotics.profile.robotics.components.ComponentService}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Services</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>Services</em>' reference list.
+ * @see org.eclipse.papyrus.robotics.profile.robotics.components.ComponentsPackage#getComponentOrSystem_Services()
+ * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<ComponentService> getServices();
+
+} // ComponentOrSystem
diff --git a/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/ComponentsPackage.java b/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/ComponentsPackage.java
index cf0d136..7c25093 100644
--- a/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/ComponentsPackage.java
+++ b/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/ComponentsPackage.java
@@ -331,6 +331,160 @@
int ACTIVITY_PORT_OPERATION_COUNT = BPCPackage.PORT_OPERATION_COUNT + 0;
/**
+ * The meta object id for the '{@link org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentOrSystemImpl <em>Component Or System</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentOrSystemImpl
+ * @see org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentsPackageImpl#getComponentOrSystem()
+ * @generated
+ */
+ int COMPONENT_OR_SYSTEM = 3;
+
+ /**
+ * The feature id for the '<em><b>Property</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_OR_SYSTEM__PROPERTY = BPCPackage.BLOCK__PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Instance uid</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_OR_SYSTEM__INSTANCE_UID = BPCPackage.BLOCK__INSTANCE_UID;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_OR_SYSTEM__DESCRIPTION = BPCPackage.BLOCK__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Authorship</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_OR_SYSTEM__AUTHORSHIP = BPCPackage.BLOCK__AUTHORSHIP;
+
+ /**
+ * The feature id for the '<em><b>Provenance</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_OR_SYSTEM__PROVENANCE = BPCPackage.BLOCK__PROVENANCE;
+
+ /**
+ * The feature id for the '<em><b>Model uid</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_OR_SYSTEM__MODEL_UID = BPCPackage.BLOCK__MODEL_UID;
+
+ /**
+ * The feature id for the '<em><b>Metamodel uid</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_OR_SYSTEM__METAMODEL_UID = BPCPackage.BLOCK__METAMODEL_UID;
+
+ /**
+ * The feature id for the '<em><b>Port</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_OR_SYSTEM__PORT = BPCPackage.BLOCK__PORT;
+
+ /**
+ * The feature id for the '<em><b>Connector</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_OR_SYSTEM__CONNECTOR = BPCPackage.BLOCK__CONNECTOR;
+
+ /**
+ * The feature id for the '<em><b>Collection</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_OR_SYSTEM__COLLECTION = BPCPackage.BLOCK__COLLECTION;
+
+ /**
+ * The feature id for the '<em><b>Block</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_OR_SYSTEM__BLOCK = BPCPackage.BLOCK__BLOCK;
+
+ /**
+ * The feature id for the '<em><b>Relation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_OR_SYSTEM__RELATION = BPCPackage.BLOCK__RELATION;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_OR_SYSTEM__BASE_CLASS = BPCPackage.BLOCK__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_OR_SYSTEM__SERVICES = BPCPackage.BLOCK_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Component Or System</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_OR_SYSTEM_FEATURE_COUNT = BPCPackage.BLOCK_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Component Or System</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPONENT_OR_SYSTEM_OPERATION_COUNT = BPCPackage.BLOCK_OPERATION_COUNT + 0;
+
+ /**
* The meta object id for the '{@link org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentDefinitionImpl <em>Component Definition</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -347,7 +501,7 @@
* @generated
* @ordered
*/
- int COMPONENT_DEFINITION__PROPERTY = BPCPackage.BLOCK__PROPERTY;
+ int COMPONENT_DEFINITION__PROPERTY = COMPONENT_OR_SYSTEM__PROPERTY;
/**
* The feature id for the '<em><b>Instance uid</b></em>' attribute.
@@ -356,7 +510,7 @@
* @generated
* @ordered
*/
- int COMPONENT_DEFINITION__INSTANCE_UID = BPCPackage.BLOCK__INSTANCE_UID;
+ int COMPONENT_DEFINITION__INSTANCE_UID = COMPONENT_OR_SYSTEM__INSTANCE_UID;
/**
* The feature id for the '<em><b>Description</b></em>' attribute.
@@ -365,7 +519,7 @@
* @generated
* @ordered
*/
- int COMPONENT_DEFINITION__DESCRIPTION = BPCPackage.BLOCK__DESCRIPTION;
+ int COMPONENT_DEFINITION__DESCRIPTION = COMPONENT_OR_SYSTEM__DESCRIPTION;
/**
* The feature id for the '<em><b>Authorship</b></em>' attribute.
@@ -374,7 +528,7 @@
* @generated
* @ordered
*/
- int COMPONENT_DEFINITION__AUTHORSHIP = BPCPackage.BLOCK__AUTHORSHIP;
+ int COMPONENT_DEFINITION__AUTHORSHIP = COMPONENT_OR_SYSTEM__AUTHORSHIP;
/**
* The feature id for the '<em><b>Provenance</b></em>' attribute.
@@ -383,7 +537,7 @@
* @generated
* @ordered
*/
- int COMPONENT_DEFINITION__PROVENANCE = BPCPackage.BLOCK__PROVENANCE;
+ int COMPONENT_DEFINITION__PROVENANCE = COMPONENT_OR_SYSTEM__PROVENANCE;
/**
* The feature id for the '<em><b>Model uid</b></em>' attribute.
@@ -392,7 +546,7 @@
* @generated
* @ordered
*/
- int COMPONENT_DEFINITION__MODEL_UID = BPCPackage.BLOCK__MODEL_UID;
+ int COMPONENT_DEFINITION__MODEL_UID = COMPONENT_OR_SYSTEM__MODEL_UID;
/**
* The feature id for the '<em><b>Metamodel uid</b></em>' attribute.
@@ -401,7 +555,7 @@
* @generated
* @ordered
*/
- int COMPONENT_DEFINITION__METAMODEL_UID = BPCPackage.BLOCK__METAMODEL_UID;
+ int COMPONENT_DEFINITION__METAMODEL_UID = COMPONENT_OR_SYSTEM__METAMODEL_UID;
/**
* The feature id for the '<em><b>Port</b></em>' reference list.
@@ -410,7 +564,7 @@
* @generated
* @ordered
*/
- int COMPONENT_DEFINITION__PORT = BPCPackage.BLOCK__PORT;
+ int COMPONENT_DEFINITION__PORT = COMPONENT_OR_SYSTEM__PORT;
/**
* The feature id for the '<em><b>Connector</b></em>' reference list.
@@ -419,7 +573,7 @@
* @generated
* @ordered
*/
- int COMPONENT_DEFINITION__CONNECTOR = BPCPackage.BLOCK__CONNECTOR;
+ int COMPONENT_DEFINITION__CONNECTOR = COMPONENT_OR_SYSTEM__CONNECTOR;
/**
* The feature id for the '<em><b>Collection</b></em>' reference list.
@@ -428,7 +582,7 @@
* @generated
* @ordered
*/
- int COMPONENT_DEFINITION__COLLECTION = BPCPackage.BLOCK__COLLECTION;
+ int COMPONENT_DEFINITION__COLLECTION = COMPONENT_OR_SYSTEM__COLLECTION;
/**
* The feature id for the '<em><b>Block</b></em>' reference list.
@@ -437,7 +591,7 @@
* @generated
* @ordered
*/
- int COMPONENT_DEFINITION__BLOCK = BPCPackage.BLOCK__BLOCK;
+ int COMPONENT_DEFINITION__BLOCK = COMPONENT_OR_SYSTEM__BLOCK;
/**
* The feature id for the '<em><b>Relation</b></em>' reference list.
@@ -446,7 +600,7 @@
* @generated
* @ordered
*/
- int COMPONENT_DEFINITION__RELATION = BPCPackage.BLOCK__RELATION;
+ int COMPONENT_DEFINITION__RELATION = COMPONENT_OR_SYSTEM__RELATION;
/**
* The feature id for the '<em><b>Base Class</b></em>' reference.
@@ -455,7 +609,7 @@
* @generated
* @ordered
*/
- int COMPONENT_DEFINITION__BASE_CLASS = BPCPackage.BLOCK__BASE_CLASS;
+ int COMPONENT_DEFINITION__BASE_CLASS = COMPONENT_OR_SYSTEM__BASE_CLASS;
/**
* The feature id for the '<em><b>Services</b></em>' reference list.
@@ -464,7 +618,7 @@
* @generated
* @ordered
*/
- int COMPONENT_DEFINITION__SERVICES = BPCPackage.BLOCK_FEATURE_COUNT + 0;
+ int COMPONENT_DEFINITION__SERVICES = COMPONENT_OR_SYSTEM__SERVICES;
/**
* The feature id for the '<em><b>Parameter</b></em>' reference.
@@ -473,7 +627,7 @@
* @generated
* @ordered
*/
- int COMPONENT_DEFINITION__PARAMETER = BPCPackage.BLOCK_FEATURE_COUNT + 1;
+ int COMPONENT_DEFINITION__PARAMETER = COMPONENT_OR_SYSTEM_FEATURE_COUNT + 0;
/**
* The feature id for the '<em><b>Activities</b></em>' reference list.
@@ -482,7 +636,7 @@
* @generated
* @ordered
*/
- int COMPONENT_DEFINITION__ACTIVITIES = BPCPackage.BLOCK_FEATURE_COUNT + 2;
+ int COMPONENT_DEFINITION__ACTIVITIES = COMPONENT_OR_SYSTEM_FEATURE_COUNT + 1;
/**
* The number of structural features of the '<em>Component Definition</em>' class.
@@ -491,7 +645,7 @@
* @generated
* @ordered
*/
- int COMPONENT_DEFINITION_FEATURE_COUNT = BPCPackage.BLOCK_FEATURE_COUNT + 3;
+ int COMPONENT_DEFINITION_FEATURE_COUNT = COMPONENT_OR_SYSTEM_FEATURE_COUNT + 2;
/**
* The number of operations of the '<em>Component Definition</em>' class.
@@ -500,7 +654,7 @@
* @generated
* @ordered
*/
- int COMPONENT_DEFINITION_OPERATION_COUNT = BPCPackage.BLOCK_OPERATION_COUNT + 0;
+ int COMPONENT_DEFINITION_OPERATION_COUNT = COMPONENT_OR_SYSTEM_OPERATION_COUNT + 0;
/**
* The meta object id for the '{@link org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentPortImpl <em>Component Port</em>}' class.
@@ -510,7 +664,7 @@
* @see org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentsPackageImpl#getComponentPort()
* @generated
*/
- int COMPONENT_PORT = 3;
+ int COMPONENT_PORT = 4;
/**
* The feature id for the '<em><b>Property</b></em>' reference list.
@@ -646,7 +800,7 @@
* @see org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentsPackageImpl#getComponentInstance()
* @generated
*/
- int COMPONENT_INSTANCE = 4;
+ int COMPONENT_INSTANCE = 5;
/**
* The feature id for the '<em><b>Property</b></em>' reference list.
@@ -730,13 +884,13 @@
int COMPONENT_INSTANCE__BASE_PROPERTY = BPCPackage.ENTITY_FEATURE_COUNT + 1;
/**
- * The feature id for the '<em><b>Compdef</b></em>' reference.
+ * The feature id for the '<em><b>Compdef Or Sys</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int COMPONENT_INSTANCE__COMPDEF = BPCPackage.ENTITY_FEATURE_COUNT + 2;
+ int COMPONENT_INSTANCE__COMPDEF_OR_SYS = BPCPackage.ENTITY_FEATURE_COUNT + 2;
/**
* The feature id for the '<em><b>Port</b></em>' reference list.
@@ -748,22 +902,13 @@
int COMPONENT_INSTANCE__PORT = BPCPackage.ENTITY_FEATURE_COUNT + 3;
/**
- * The feature id for the '<em><b>Activities</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int COMPONENT_INSTANCE__ACTIVITIES = BPCPackage.ENTITY_FEATURE_COUNT + 4;
-
- /**
* The number of structural features of the '<em>Component Instance</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int COMPONENT_INSTANCE_FEATURE_COUNT = BPCPackage.ENTITY_FEATURE_COUNT + 5;
+ int COMPONENT_INSTANCE_FEATURE_COUNT = BPCPackage.ENTITY_FEATURE_COUNT + 4;
/**
* The number of operations of the '<em>Component Instance</em>' class.
@@ -782,7 +927,7 @@
* @see org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentsPackageImpl#getComponentService()
* @generated
*/
- int COMPONENT_SERVICE = 5;
+ int COMPONENT_SERVICE = 6;
/**
* The feature id for the '<em><b>Property</b></em>' reference list.
@@ -900,7 +1045,7 @@
* @see org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentsPackageImpl#getServiceConfiguration()
* @generated
*/
- int SERVICE_CONFIGURATION = 6;
+ int SERVICE_CONFIGURATION = 7;
/**
* The feature id for the '<em><b>Property</b></em>' reference list.
@@ -1000,7 +1145,7 @@
* @see org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentsPackageImpl#getSystem()
* @generated
*/
- int SYSTEM = 7;
+ int SYSTEM = 8;
/**
* The feature id for the '<em><b>Property</b></em>' reference list.
@@ -1009,7 +1154,7 @@
* @generated
* @ordered
*/
- int SYSTEM__PROPERTY = BPCPackage.BLOCK__PROPERTY;
+ int SYSTEM__PROPERTY = COMPONENT_OR_SYSTEM__PROPERTY;
/**
* The feature id for the '<em><b>Instance uid</b></em>' attribute.
@@ -1018,7 +1163,7 @@
* @generated
* @ordered
*/
- int SYSTEM__INSTANCE_UID = BPCPackage.BLOCK__INSTANCE_UID;
+ int SYSTEM__INSTANCE_UID = COMPONENT_OR_SYSTEM__INSTANCE_UID;
/**
* The feature id for the '<em><b>Description</b></em>' attribute.
@@ -1027,7 +1172,7 @@
* @generated
* @ordered
*/
- int SYSTEM__DESCRIPTION = BPCPackage.BLOCK__DESCRIPTION;
+ int SYSTEM__DESCRIPTION = COMPONENT_OR_SYSTEM__DESCRIPTION;
/**
* The feature id for the '<em><b>Authorship</b></em>' attribute.
@@ -1036,7 +1181,7 @@
* @generated
* @ordered
*/
- int SYSTEM__AUTHORSHIP = BPCPackage.BLOCK__AUTHORSHIP;
+ int SYSTEM__AUTHORSHIP = COMPONENT_OR_SYSTEM__AUTHORSHIP;
/**
* The feature id for the '<em><b>Provenance</b></em>' attribute.
@@ -1045,7 +1190,7 @@
* @generated
* @ordered
*/
- int SYSTEM__PROVENANCE = BPCPackage.BLOCK__PROVENANCE;
+ int SYSTEM__PROVENANCE = COMPONENT_OR_SYSTEM__PROVENANCE;
/**
* The feature id for the '<em><b>Model uid</b></em>' attribute.
@@ -1054,7 +1199,7 @@
* @generated
* @ordered
*/
- int SYSTEM__MODEL_UID = BPCPackage.BLOCK__MODEL_UID;
+ int SYSTEM__MODEL_UID = COMPONENT_OR_SYSTEM__MODEL_UID;
/**
* The feature id for the '<em><b>Metamodel uid</b></em>' attribute.
@@ -1063,7 +1208,7 @@
* @generated
* @ordered
*/
- int SYSTEM__METAMODEL_UID = BPCPackage.BLOCK__METAMODEL_UID;
+ int SYSTEM__METAMODEL_UID = COMPONENT_OR_SYSTEM__METAMODEL_UID;
/**
* The feature id for the '<em><b>Port</b></em>' reference list.
@@ -1072,7 +1217,7 @@
* @generated
* @ordered
*/
- int SYSTEM__PORT = BPCPackage.BLOCK__PORT;
+ int SYSTEM__PORT = COMPONENT_OR_SYSTEM__PORT;
/**
* The feature id for the '<em><b>Connector</b></em>' reference list.
@@ -1081,7 +1226,7 @@
* @generated
* @ordered
*/
- int SYSTEM__CONNECTOR = BPCPackage.BLOCK__CONNECTOR;
+ int SYSTEM__CONNECTOR = COMPONENT_OR_SYSTEM__CONNECTOR;
/**
* The feature id for the '<em><b>Collection</b></em>' reference list.
@@ -1090,7 +1235,7 @@
* @generated
* @ordered
*/
- int SYSTEM__COLLECTION = BPCPackage.BLOCK__COLLECTION;
+ int SYSTEM__COLLECTION = COMPONENT_OR_SYSTEM__COLLECTION;
/**
* The feature id for the '<em><b>Block</b></em>' reference list.
@@ -1099,7 +1244,7 @@
* @generated
* @ordered
*/
- int SYSTEM__BLOCK = BPCPackage.BLOCK__BLOCK;
+ int SYSTEM__BLOCK = COMPONENT_OR_SYSTEM__BLOCK;
/**
* The feature id for the '<em><b>Relation</b></em>' reference list.
@@ -1108,7 +1253,7 @@
* @generated
* @ordered
*/
- int SYSTEM__RELATION = BPCPackage.BLOCK__RELATION;
+ int SYSTEM__RELATION = COMPONENT_OR_SYSTEM__RELATION;
/**
* The feature id for the '<em><b>Base Class</b></em>' reference.
@@ -1117,7 +1262,16 @@
* @generated
* @ordered
*/
- int SYSTEM__BASE_CLASS = BPCPackage.BLOCK__BASE_CLASS;
+ int SYSTEM__BASE_CLASS = COMPONENT_OR_SYSTEM__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SYSTEM__SERVICES = COMPONENT_OR_SYSTEM__SERVICES;
/**
* The feature id for the '<em><b>Instances</b></em>' reference list.
@@ -1126,7 +1280,7 @@
* @generated
* @ordered
*/
- int SYSTEM__INSTANCES = BPCPackage.BLOCK_FEATURE_COUNT + 0;
+ int SYSTEM__INSTANCES = COMPONENT_OR_SYSTEM_FEATURE_COUNT + 0;
/**
* The feature id for the '<em><b>Task</b></em>' reference list.
@@ -1135,7 +1289,7 @@
* @generated
* @ordered
*/
- int SYSTEM__TASK = BPCPackage.BLOCK_FEATURE_COUNT + 1;
+ int SYSTEM__TASK = COMPONENT_OR_SYSTEM_FEATURE_COUNT + 1;
/**
* The number of structural features of the '<em>System</em>' class.
@@ -1144,7 +1298,7 @@
* @generated
* @ordered
*/
- int SYSTEM_FEATURE_COUNT = BPCPackage.BLOCK_FEATURE_COUNT + 2;
+ int SYSTEM_FEATURE_COUNT = COMPONENT_OR_SYSTEM_FEATURE_COUNT + 2;
/**
* The number of operations of the '<em>System</em>' class.
@@ -1153,7 +1307,7 @@
* @generated
* @ordered
*/
- int SYSTEM_OPERATION_COUNT = BPCPackage.BLOCK_OPERATION_COUNT + 0;
+ int SYSTEM_OPERATION_COUNT = COMPONENT_OR_SYSTEM_OPERATION_COUNT + 0;
/**
* The meta object id for the '{@link org.eclipse.papyrus.robotics.profile.robotics.components.impl.ActivityInstanceImpl <em>Activity Instance</em>}' class.
@@ -1163,7 +1317,7 @@
* @see org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentsPackageImpl#getActivityInstance()
* @generated
*/
- int ACTIVITY_INSTANCE = 8;
+ int ACTIVITY_INSTANCE = 9;
/**
* The feature id for the '<em><b>Base Property</b></em>' reference.
@@ -1200,7 +1354,7 @@
* @see org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentsPackageImpl#getActivityConfiguration()
* @generated
*/
- int ACTIVITY_CONFIGURATION = 9;
+ int ACTIVITY_CONFIGURATION = 10;
/**
* The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
@@ -1237,7 +1391,7 @@
* @see org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentsPackageImpl#getComponentDefinitionModel()
* @generated
*/
- int COMPONENT_DEFINITION_MODEL = 10;
+ int COMPONENT_DEFINITION_MODEL = 11;
/**
* The feature id for the '<em><b>Property</b></em>' reference list.
@@ -1373,7 +1527,7 @@
* @see org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentsPackageImpl#getSystemComponentArchitectureModel()
* @generated
*/
- int SYSTEM_COMPONENT_ARCHITECTURE_MODEL = 11;
+ int SYSTEM_COMPONENT_ARCHITECTURE_MODEL = 12;
/**
* The feature id for the '<em><b>Property</b></em>' reference list.
@@ -1474,7 +1628,7 @@
* @see org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentsPackageImpl#getPeriodicTimer()
* @generated
*/
- int PERIODIC_TIMER = 12;
+ int PERIODIC_TIMER = 13;
/**
* The feature id for the '<em><b>Property</b></em>' reference list.
@@ -1685,17 +1839,6 @@
EClass getComponentDefinition();
/**
- * Returns the meta object for the reference list '{@link org.eclipse.papyrus.robotics.profile.robotics.components.ComponentDefinition#getServices <em>Services</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Services</em>'.
- * @see org.eclipse.papyrus.robotics.profile.robotics.components.ComponentDefinition#getServices()
- * @see #getComponentDefinition()
- * @generated
- */
- EReference getComponentDefinition_Services();
-
- /**
* Returns the meta object for the reference '{@link org.eclipse.papyrus.robotics.profile.robotics.components.ComponentDefinition#getParameter <em>Parameter</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1718,6 +1861,27 @@
EReference getComponentDefinition_Activities();
/**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.robotics.profile.robotics.components.ComponentOrSystem <em>Component Or System</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Component Or System</em>'.
+ * @see org.eclipse.papyrus.robotics.profile.robotics.components.ComponentOrSystem
+ * @generated
+ */
+ EClass getComponentOrSystem();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.robotics.profile.robotics.components.ComponentOrSystem#getServices <em>Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Services</em>'.
+ * @see org.eclipse.papyrus.robotics.profile.robotics.components.ComponentOrSystem#getServices()
+ * @see #getComponentOrSystem()
+ * @generated
+ */
+ EReference getComponentOrSystem_Services();
+
+ /**
* Returns the meta object for class '{@link org.eclipse.papyrus.robotics.profile.robotics.components.ComponentPort <em>Component Port</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1815,15 +1979,15 @@
EReference getComponentInstance_Base_Property();
/**
- * Returns the meta object for the reference '{@link org.eclipse.papyrus.robotics.profile.robotics.components.ComponentInstance#getCompdef <em>Compdef</em>}'.
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.robotics.profile.robotics.components.ComponentInstance#getCompdefOrSys <em>Compdef Or Sys</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Compdef</em>'.
- * @see org.eclipse.papyrus.robotics.profile.robotics.components.ComponentInstance#getCompdef()
+ * @return the meta object for the reference '<em>Compdef Or Sys</em>'.
+ * @see org.eclipse.papyrus.robotics.profile.robotics.components.ComponentInstance#getCompdefOrSys()
* @see #getComponentInstance()
* @generated
*/
- EReference getComponentInstance_Compdef();
+ EReference getComponentInstance_CompdefOrSys();
/**
* Returns the meta object for the reference list '{@link org.eclipse.papyrus.robotics.profile.robotics.components.ComponentInstance#getPort <em>Port</em>}'.
@@ -1837,17 +2001,6 @@
EReference getComponentInstance_Port();
/**
- * Returns the meta object for the reference list '{@link org.eclipse.papyrus.robotics.profile.robotics.components.ComponentInstance#getActivities <em>Activities</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Activities</em>'.
- * @see org.eclipse.papyrus.robotics.profile.robotics.components.ComponentInstance#getActivities()
- * @see #getComponentInstance()
- * @generated
- */
- EReference getComponentInstance_Activities();
-
- /**
* Returns the meta object for class '{@link org.eclipse.papyrus.robotics.profile.robotics.components.ComponentService <em>Component Service</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2170,14 +2323,6 @@
EClass COMPONENT_DEFINITION = eINSTANCE.getComponentDefinition();
/**
- * The meta object literal for the '<em><b>Services</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference COMPONENT_DEFINITION__SERVICES = eINSTANCE.getComponentDefinition_Services();
-
- /**
* The meta object literal for the '<em><b>Parameter</b></em>' reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2194,6 +2339,24 @@
EReference COMPONENT_DEFINITION__ACTIVITIES = eINSTANCE.getComponentDefinition_Activities();
/**
+ * The meta object literal for the '{@link org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentOrSystemImpl <em>Component Or System</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentOrSystemImpl
+ * @see org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentsPackageImpl#getComponentOrSystem()
+ * @generated
+ */
+ EClass COMPONENT_OR_SYSTEM = eINSTANCE.getComponentOrSystem();
+
+ /**
+ * The meta object literal for the '<em><b>Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference COMPONENT_OR_SYSTEM__SERVICES = eINSTANCE.getComponentOrSystem_Services();
+
+ /**
* The meta object literal for the '{@link org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentPortImpl <em>Component Port</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2270,12 +2433,12 @@
EReference COMPONENT_INSTANCE__BASE_PROPERTY = eINSTANCE.getComponentInstance_Base_Property();
/**
- * The meta object literal for the '<em><b>Compdef</b></em>' reference feature.
+ * The meta object literal for the '<em><b>Compdef Or Sys</b></em>' reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- EReference COMPONENT_INSTANCE__COMPDEF = eINSTANCE.getComponentInstance_Compdef();
+ EReference COMPONENT_INSTANCE__COMPDEF_OR_SYS = eINSTANCE.getComponentInstance_CompdefOrSys();
/**
* The meta object literal for the '<em><b>Port</b></em>' reference list feature.
@@ -2286,14 +2449,6 @@
EReference COMPONENT_INSTANCE__PORT = eINSTANCE.getComponentInstance_Port();
/**
- * The meta object literal for the '<em><b>Activities</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference COMPONENT_INSTANCE__ACTIVITIES = eINSTANCE.getComponentInstance_Activities();
-
- /**
* The meta object literal for the '{@link org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentServiceImpl <em>Component Service</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/System.java b/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/System.java
index 25f31ad..3be6c35 100644
--- a/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/System.java
+++ b/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/System.java
@@ -12,8 +12,6 @@
package org.eclipse.papyrus.robotics.profile.robotics.components;
import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.papyrus.robotics.bpc.profile.bpc.Block;
import org.eclipse.papyrus.robotics.profile.robotics.behavior.Task;
/**
@@ -33,7 +31,7 @@
* @model
* @generated
*/
-public interface System extends Block {
+public interface System extends ComponentOrSystem {
/**
* Returns the value of the '<em><b>Instances</b></em>' reference list.
* The list contents are of type {@link org.eclipse.papyrus.robotics.profile.robotics.components.ComponentInstance}.
diff --git a/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/impl/ComponentDefinitionImpl.java b/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/impl/ComponentDefinitionImpl.java
index 6556c21..9c4db45 100644
--- a/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/impl/ComponentDefinitionImpl.java
+++ b/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/impl/ComponentDefinitionImpl.java
@@ -14,17 +14,13 @@
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.common.util.UniqueEList;
import org.eclipse.emf.ecore.EClass;
-import org.eclipse.papyrus.robotics.bpc.profile.bpc.impl.BlockImpl;
import org.eclipse.papyrus.robotics.profile.robotics.components.Activity;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentDefinition;
-import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentService;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentsPackage;
import org.eclipse.papyrus.robotics.profile.robotics.parameters.Parameter;
import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.Port;
import org.eclipse.uml2.uml.StructuredClassifier;
-import org.eclipse.uml2.uml.Type;
import org.eclipse.uml2.uml.util.UMLUtil;
/**
@@ -35,14 +31,13 @@
* The following features are implemented:
* </p>
* <ul>
- * <li>{@link org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentDefinitionImpl#getServices <em>Services</em>}</li>
* <li>{@link org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentDefinitionImpl#getParameter <em>Parameter</em>}</li>
* <li>{@link org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentDefinitionImpl#getActivities <em>Activities</em>}</li>
* </ul>
*
* @generated
*/
-public class ComponentDefinitionImpl extends BlockImpl implements ComponentDefinition {
+public class ComponentDefinitionImpl extends ComponentOrSystemImpl implements ComponentDefinition {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -87,28 +82,6 @@
*
* @generated NOT
*/
- public EList<ComponentService> getServices() {
- EList<ComponentService> serviceList = new UniqueEList<ComponentService>();
- if (getBase_Class() != null) {
- for (Port port : getBase_Class().getOwnedPorts()) {
- Type type = port.getType();
- if (type != null) {
- ComponentService service = UMLUtil.getStereotypeApplication(type, ComponentService.class);
- if (service != null) {
- serviceList.add(service);
- }
- }
- }
- }
- return serviceList;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated NOT
- */
public Parameter getParameter() {
Parameter param = null;
if (getBase_Class() != null) {
diff --git a/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/impl/ComponentInstanceImpl.java b/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/impl/ComponentInstanceImpl.java
index b6a736d..47941c7 100644
--- a/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/impl/ComponentInstanceImpl.java
+++ b/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/impl/ComponentInstanceImpl.java
@@ -18,9 +18,8 @@
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.papyrus.robotics.bpc.profile.bpc.impl.EntityImpl;
-import org.eclipse.papyrus.robotics.profile.robotics.components.Activity;
-import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentDefinition;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentInstance;
+import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentOrSystem;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentPort;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentsPackage;
import org.eclipse.papyrus.robotics.profile.robotics.parameters.ParameterInstance;
@@ -41,9 +40,8 @@
* <ul>
* <li>{@link org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentInstanceImpl#getParamInstance <em>Param Instance</em>}</li>
* <li>{@link org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentInstanceImpl#getBase_Property <em>Base Property</em>}</li>
- * <li>{@link org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentInstanceImpl#getCompdef <em>Compdef</em>}</li>
+ * <li>{@link org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentInstanceImpl#getCompdefOrSys <em>Compdef Or Sys</em>}</li>
* <li>{@link org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentInstanceImpl#getPort <em>Port</em>}</li>
- * <li>{@link org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentInstanceImpl#getActivities <em>Activities</em>}</li>
* </ul>
*
* @generated
@@ -146,9 +144,9 @@
* <!-- end-user-doc -->
* @generated
*/
- public ComponentDefinition getCompdef() {
- ComponentDefinition compdef = basicGetCompdef();
- return compdef != null && compdef.eIsProxy() ? (ComponentDefinition)eResolveProxy((InternalEObject)compdef) : compdef;
+ public ComponentOrSystem getCompdefOrSys() {
+ ComponentOrSystem compdefOrSys = basicGetCompdefOrSys();
+ return compdefOrSys != null && compdefOrSys.eIsProxy() ? (ComponentOrSystem)eResolveProxy((InternalEObject)compdefOrSys) : compdefOrSys;
}
/**
@@ -156,11 +154,11 @@
* <!-- end-user-doc -->
* @generated NOT
*/
- public ComponentDefinition basicGetCompdef() {
+ public ComponentOrSystem basicGetCompdefOrSys() {
if (getBase_Property() != null) {
Type type = getBase_Property().getType();
if (type != null) {
- return UMLUtil.getStereotypeApplication(type, ComponentDefinition.class);
+ return UMLUtil.getStereotypeApplication(type, ComponentOrSystem.class);
}
}
return null;
@@ -173,7 +171,7 @@
*/
@SuppressWarnings({ "unchecked", "rawtypes" })
public EList<ComponentPort> getPort() {
- ComponentDefinition definition = getCompdef();
+ ComponentOrSystem definition = getCompdefOrSys();
if (definition != null) {
// CompDef.ports subsets BCP ports
return (EList) definition.getPort();
@@ -184,19 +182,6 @@
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @generated NOT
- */
- public EList<Activity> getActivities() {
- ComponentDefinition definition = getCompdef();
- if (definition != null) {
- return definition.getActivities();
- }
- return new BasicEList<Activity>();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
* @generated
*/
@Override
@@ -208,13 +193,11 @@
case ComponentsPackage.COMPONENT_INSTANCE__BASE_PROPERTY:
if (resolve) return getBase_Property();
return basicGetBase_Property();
- case ComponentsPackage.COMPONENT_INSTANCE__COMPDEF:
- if (resolve) return getCompdef();
- return basicGetCompdef();
+ case ComponentsPackage.COMPONENT_INSTANCE__COMPDEF_OR_SYS:
+ if (resolve) return getCompdefOrSys();
+ return basicGetCompdefOrSys();
case ComponentsPackage.COMPONENT_INSTANCE__PORT:
return getPort();
- case ComponentsPackage.COMPONENT_INSTANCE__ACTIVITIES:
- return getActivities();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -261,12 +244,10 @@
return basicGetParamInstance() != null;
case ComponentsPackage.COMPONENT_INSTANCE__BASE_PROPERTY:
return base_Property != null;
- case ComponentsPackage.COMPONENT_INSTANCE__COMPDEF:
- return basicGetCompdef() != null;
+ case ComponentsPackage.COMPONENT_INSTANCE__COMPDEF_OR_SYS:
+ return basicGetCompdefOrSys() != null;
case ComponentsPackage.COMPONENT_INSTANCE__PORT:
return !getPort().isEmpty();
- case ComponentsPackage.COMPONENT_INSTANCE__ACTIVITIES:
- return !getActivities().isEmpty();
}
return super.eIsSet(featureID);
}
diff --git a/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/impl/ComponentOrSystemImpl.java b/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/impl/ComponentOrSystemImpl.java
new file mode 100644
index 0000000..ce90dba
--- /dev/null
+++ b/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/impl/ComponentOrSystemImpl.java
@@ -0,0 +1,108 @@
+/**
+ * Copyright (c) 2019 CEA LIST
+ *
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ */
+package org.eclipse.papyrus.robotics.profile.robotics.components.impl;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.UniqueEList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.robotics.bpc.profile.bpc.impl.BlockImpl;
+import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentOrSystem;
+import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentService;
+import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentsPackage;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Component Or System</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.robotics.profile.robotics.components.impl.ComponentOrSystemImpl#getServices <em>Services</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ComponentOrSystemImpl extends BlockImpl implements ComponentOrSystem {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComponentOrSystemImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ComponentsPackage.Literals.COMPONENT_OR_SYSTEM;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<ComponentService> getServices() {
+ EList<ComponentService> serviceList = new UniqueEList<ComponentService>();
+ if (getBase_Class() != null) {
+ for (Port port : getBase_Class().getOwnedPorts()) {
+ Type type = port.getType();
+ if (type != null) {
+ ComponentService service = UMLUtil.getStereotypeApplication(type, ComponentService.class);
+ if (service != null) {
+ serviceList.add(service);
+ }
+ }
+ }
+ }
+ return serviceList;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ComponentsPackage.COMPONENT_OR_SYSTEM__SERVICES:
+ return getServices();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ComponentsPackage.COMPONENT_OR_SYSTEM__SERVICES:
+ return !getServices().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ComponentOrSystemImpl
diff --git a/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/impl/ComponentsPackageImpl.java b/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/impl/ComponentsPackageImpl.java
index 9ab9b01..4df979a 100644
--- a/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/impl/ComponentsPackageImpl.java
+++ b/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/impl/ComponentsPackageImpl.java
@@ -33,6 +33,7 @@
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentDefinition;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentDefinitionModel;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentInstance;
+import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentOrSystem;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentPort;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentService;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentsFactory;
@@ -91,6 +92,13 @@
* <!-- end-user-doc -->
* @generated
*/
+ private EClass componentOrSystemEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
private EClass componentPortEClass = null;
/**
@@ -324,7 +332,7 @@
* <!-- end-user-doc -->
* @generated
*/
- public EReference getComponentDefinition_Services() {
+ public EReference getComponentDefinition_Parameter() {
return (EReference)componentDefinitionEClass.getEStructuralFeatures().get(0);
}
@@ -333,7 +341,7 @@
* <!-- end-user-doc -->
* @generated
*/
- public EReference getComponentDefinition_Parameter() {
+ public EReference getComponentDefinition_Activities() {
return (EReference)componentDefinitionEClass.getEStructuralFeatures().get(1);
}
@@ -342,8 +350,17 @@
* <!-- end-user-doc -->
* @generated
*/
- public EReference getComponentDefinition_Activities() {
- return (EReference)componentDefinitionEClass.getEStructuralFeatures().get(2);
+ public EClass getComponentOrSystem() {
+ return componentOrSystemEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getComponentOrSystem_Services() {
+ return (EReference)componentOrSystemEClass.getEStructuralFeatures().get(0);
}
/**
@@ -486,7 +503,7 @@
* <!-- end-user-doc -->
* @generated
*/
- public EReference getComponentInstance_Compdef() {
+ public EReference getComponentInstance_CompdefOrSys() {
return (EReference)componentInstanceEClass.getEStructuralFeatures().get(2);
}
@@ -504,15 +521,6 @@
* <!-- end-user-doc -->
* @generated
*/
- public EReference getComponentInstance_Activities() {
- return (EReference)componentInstanceEClass.getEStructuralFeatures().get(4);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
public EClass getSystem() {
return systemEClass;
}
@@ -697,10 +705,12 @@
createEReference(activityPortEClass, ACTIVITY_PORT__FUNCTIONS);
componentDefinitionEClass = createEClass(COMPONENT_DEFINITION);
- createEReference(componentDefinitionEClass, COMPONENT_DEFINITION__SERVICES);
createEReference(componentDefinitionEClass, COMPONENT_DEFINITION__PARAMETER);
createEReference(componentDefinitionEClass, COMPONENT_DEFINITION__ACTIVITIES);
+ componentOrSystemEClass = createEClass(COMPONENT_OR_SYSTEM);
+ createEReference(componentOrSystemEClass, COMPONENT_OR_SYSTEM__SERVICES);
+
componentPortEClass = createEClass(COMPONENT_PORT);
createEReference(componentPortEClass, COMPONENT_PORT__BASE_PORT);
createEReference(componentPortEClass, COMPONENT_PORT__PROVIDES);
@@ -711,9 +721,8 @@
componentInstanceEClass = createEClass(COMPONENT_INSTANCE);
createEReference(componentInstanceEClass, COMPONENT_INSTANCE__PARAM_INSTANCE);
createEReference(componentInstanceEClass, COMPONENT_INSTANCE__BASE_PROPERTY);
- createEReference(componentInstanceEClass, COMPONENT_INSTANCE__COMPDEF);
+ createEReference(componentInstanceEClass, COMPONENT_INSTANCE__COMPDEF_OR_SYS);
createEReference(componentInstanceEClass, COMPONENT_INSTANCE__PORT);
- createEReference(componentInstanceEClass, COMPONENT_INSTANCE__ACTIVITIES);
componentServiceEClass = createEClass(COMPONENT_SERVICE);
createEReference(componentServiceEClass, COMPONENT_SERVICE__BASE_CLASS);
@@ -786,12 +795,13 @@
// Add supertypes to classes
activityEClass.getESuperTypes().add(theBPCPackage.getBlock());
activityPortEClass.getESuperTypes().add(theBPCPackage.getPort());
- componentDefinitionEClass.getESuperTypes().add(theBPCPackage.getBlock());
+ componentDefinitionEClass.getESuperTypes().add(this.getComponentOrSystem());
+ componentOrSystemEClass.getESuperTypes().add(theBPCPackage.getBlock());
componentPortEClass.getESuperTypes().add(theBPCPackage.getPort());
componentInstanceEClass.getESuperTypes().add(theBPCPackage.getEntity());
componentServiceEClass.getESuperTypes().add(theBPCPackage.getEntity());
serviceConfigurationEClass.getESuperTypes().add(theBPCPackage.getEntity());
- systemEClass.getESuperTypes().add(theBPCPackage.getBlock());
+ systemEClass.getESuperTypes().add(this.getComponentOrSystem());
componentDefinitionModelEClass.getESuperTypes().add(theBPCPackage.getEntity());
systemComponentArchitectureModelEClass.getESuperTypes().add(theBPCPackage.getEntity());
periodicTimerEClass.getESuperTypes().add(theBPCPackage.getBlock());
@@ -805,10 +815,12 @@
initEReference(getActivityPort_Functions(), theFunctionsPackage.getFunction(), null, "functions", null, 0, -1, ActivityPort.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
initEClass(componentDefinitionEClass, ComponentDefinition.class, "ComponentDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEReference(getComponentDefinition_Services(), this.getComponentService(), null, "services", null, 0, -1, ComponentDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
initEReference(getComponentDefinition_Parameter(), theParametersPackage.getParameter(), null, "parameter", null, 0, 1, ComponentDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
initEReference(getComponentDefinition_Activities(), this.getActivity(), null, "activities", null, 0, -1, ComponentDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+ initEClass(componentOrSystemEClass, ComponentOrSystem.class, "ComponentOrSystem", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getComponentOrSystem_Services(), this.getComponentService(), null, "services", null, 0, -1, ComponentOrSystem.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
initEClass(componentPortEClass, ComponentPort.class, "ComponentPort", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEReference(getComponentPort_Base_Port(), theUMLPackage.getPort(), null, "base_Port", null, 1, 1, ComponentPort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
initEReference(getComponentPort_Provides(), theServicesPackage.getServiceDefinition(), null, "provides", null, 0, 1, ComponentPort.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
@@ -819,9 +831,8 @@
initEClass(componentInstanceEClass, ComponentInstance.class, "ComponentInstance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEReference(getComponentInstance_ParamInstance(), theParametersPackage.getParameterInstance(), null, "paramInstance", null, 0, 1, ComponentInstance.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
initEReference(getComponentInstance_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 1, 1, ComponentInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
- initEReference(getComponentInstance_Compdef(), this.getComponentDefinition(), null, "compdef", null, 0, 1, ComponentInstance.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+ initEReference(getComponentInstance_CompdefOrSys(), this.getComponentOrSystem(), null, "compdefOrSys", null, 0, 1, ComponentInstance.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
initEReference(getComponentInstance_Port(), this.getComponentPort(), null, "port", null, 0, -1, ComponentInstance.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
- initEReference(getComponentInstance_Activities(), this.getActivity(), null, "activities", null, 0, -1, ComponentInstance.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
initEClass(componentServiceEClass, ComponentService.class, "ComponentService", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEReference(getComponentService_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, ComponentService.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
diff --git a/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/impl/SystemImpl.java b/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/impl/SystemImpl.java
index ce3c62f..9d846f0 100644
--- a/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/impl/SystemImpl.java
+++ b/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/impl/SystemImpl.java
@@ -16,7 +16,6 @@
import org.eclipse.emf.common.util.UniqueEList;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.util.EObjectResolvingEList;
-import org.eclipse.papyrus.robotics.bpc.profile.bpc.impl.BlockImpl;
import org.eclipse.papyrus.robotics.profile.robotics.behavior.Task;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentInstance;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentsPackage;
@@ -37,7 +36,7 @@
*
* @generated
*/
-public class SystemImpl extends BlockImpl implements org.eclipse.papyrus.robotics.profile.robotics.components.System {
+public class SystemImpl extends ComponentOrSystemImpl implements org.eclipse.papyrus.robotics.profile.robotics.components.System {
/**
* The cached value of the '{@link #getTask() <em>Task</em>}' reference list.
* <!-- begin-user-doc -->
diff --git a/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/util/ComponentsAdapterFactory.java b/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/util/ComponentsAdapterFactory.java
index 4f68de2..e5628d9 100644
--- a/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/util/ComponentsAdapterFactory.java
+++ b/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/util/ComponentsAdapterFactory.java
@@ -28,6 +28,7 @@
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentDefinition;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentDefinitionModel;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentInstance;
+import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentOrSystem;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentPort;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentService;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentsPackage;
@@ -104,6 +105,10 @@
return createComponentDefinitionAdapter();
}
@Override
+ public Adapter caseComponentOrSystem(ComponentOrSystem object) {
+ return createComponentOrSystemAdapter();
+ }
+ @Override
public Adapter caseComponentPort(ComponentPort object) {
return createComponentPortAdapter();
}
@@ -218,6 +223,20 @@
}
/**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.robotics.profile.robotics.components.ComponentOrSystem <em>Component Or System</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.robotics.profile.robotics.components.ComponentOrSystem
+ * @generated
+ */
+ public Adapter createComponentOrSystemAdapter() {
+ return null;
+ }
+
+ /**
* Creates a new adapter for an object of class '{@link org.eclipse.papyrus.robotics.profile.robotics.components.ComponentPort <em>Component Port</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
diff --git a/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/util/ComponentsSwitch.java b/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/util/ComponentsSwitch.java
index 1dd100a..4e38d90 100644
--- a/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/util/ComponentsSwitch.java
+++ b/plugins/customization/org.eclipse.papyrus.robotics.profile/src-gen/org/eclipse/papyrus/robotics/profile/robotics/components/util/ComponentsSwitch.java
@@ -26,6 +26,7 @@
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentDefinition;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentDefinitionModel;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentInstance;
+import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentOrSystem;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentPort;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentService;
import org.eclipse.papyrus.robotics.profile.robotics.components.ComponentsPackage;
@@ -109,11 +110,20 @@
case ComponentsPackage.COMPONENT_DEFINITION: {
ComponentDefinition componentDefinition = (ComponentDefinition)theEObject;
T result = caseComponentDefinition(componentDefinition);
+ if (result == null) result = caseComponentOrSystem(componentDefinition);
if (result == null) result = caseBlock(componentDefinition);
if (result == null) result = caseEntity(componentDefinition);
if (result == null) result = defaultCase(theEObject);
return result;
}
+ case ComponentsPackage.COMPONENT_OR_SYSTEM: {
+ ComponentOrSystem componentOrSystem = (ComponentOrSystem)theEObject;
+ T result = caseComponentOrSystem(componentOrSystem);
+ if (result == null) result = caseBlock(componentOrSystem);
+ if (result == null) result = caseEntity(componentOrSystem);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
case ComponentsPackage.COMPONENT_PORT: {
ComponentPort componentPort = (ComponentPort)theEObject;
T result = caseComponentPort(componentPort);
@@ -146,6 +156,7 @@
case ComponentsPackage.SYSTEM: {
org.eclipse.papyrus.robotics.profile.robotics.components.System system = (org.eclipse.papyrus.robotics.profile.robotics.components.System)theEObject;
T result = caseSystem(system);
+ if (result == null) result = caseComponentOrSystem(system);
if (result == null) result = caseBlock(system);
if (result == null) result = caseEntity(system);
if (result == null) result = defaultCase(theEObject);
@@ -235,6 +246,21 @@
}
/**
+ * Returns the result of interpreting the object as an instance of '<em>Component Or System</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>Component Or System</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseComponentOrSystem(ComponentOrSystem object) {
+ return null;
+ }
+
+ /**
* Returns the result of interpreting the object as an instance of '<em>Component Port</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
diff --git a/plugins/customization/org.eclipse.papyrus.robotics.properties/properties/compdef/ui/SingleComponentInstance.xwt b/plugins/customization/org.eclipse.papyrus.robotics.properties/properties/compdef/ui/SingleComponentInstance.xwt
index 17f1027..1367268 100644
--- a/plugins/customization/org.eclipse.papyrus.robotics.properties/properties/compdef/ui/SingleComponentInstance.xwt
+++ b/plugins/customization/org.eclipse.papyrus.robotics.properties/properties/compdef/ui/SingleComponentInstance.xwt
@@ -12,13 +12,10 @@
<Composite.layout>
<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
</Composite.layout>
- <pprms:ComponentTypeDialog input="{Binding}" customLabel="Comp. definition"
+ <pprms:ComponentTypeDialog input="{Binding}" customLabel="Comp.def or system"
property="UML:TypedElement:type"></pprms:ComponentTypeDialog>
<pprms:RobMultiReference input="{Binding}"
property="robotics:components:ComponentInstance:port"
readOnly="true" customLabel="Ports"></pprms:RobMultiReference>
- <pprms:RobMultiReference input="{Binding}"
- property="robotics:components:ComponentInstance:activities"
- readOnly="true" customLabel="Activities"></pprms:RobMultiReference>
</Composite>
</Composite>
\ No newline at end of file
diff --git a/plugins/customization/org.eclipse.papyrus.robotics.properties/properties/datatype/ui/SingleAttribute.xwt b/plugins/customization/org.eclipse.papyrus.robotics.properties/properties/datatype/ui/SingleAttribute.xwt
index 1acaaa5..55c9fb1 100644
--- a/plugins/customization/org.eclipse.papyrus.robotics.properties/properties/datatype/ui/SingleAttribute.xwt
+++ b/plugins/customization/org.eclipse.papyrus.robotics.properties/properties/datatype/ui/SingleAttribute.xwt
@@ -2,6 +2,7 @@
<Composite xmlns="http://www.eclipse.org/xwt/presentation"
xmlns:j="clr-namespace:java.lang" xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
+ xmlns:pprms="clr-namespace:org.eclipse.papyrus.robotics.properties.widgets"
xmlns:uml="clr-namespace:org.eclipse.papyrus.uml.properties.widgets"
xmlns:x="http://www.eclipse.org/xwt">
<Composite.layout>
@@ -11,7 +12,7 @@
<Composite.layout>
<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
</Composite.layout>
- <ppe:ReferenceDialog input="{Binding}" property="UML:TypedElement:type"></ppe:ReferenceDialog>
+ <pprms:DataTypeRefDialog input="{Binding}" property="UML:TypedElement:type"></pprms:DataTypeRefDialog>
<uml:MultiplicityDialog input="{Binding}"
property="Multiplicity:multiplicity"></uml:MultiplicityDialog>
</Composite>
diff --git a/plugins/customization/org.eclipse.papyrus.robotics.properties/src/org/eclipse/papyrus/robotics/properties/widgets/DataTypeRefDialog.java b/plugins/customization/org.eclipse.papyrus.robotics.properties/src/org/eclipse/papyrus/robotics/properties/widgets/DataTypeRefDialog.java
new file mode 100644
index 0000000..8d74919
--- /dev/null
+++ b/plugins/customization/org.eclipse.papyrus.robotics.properties/src/org/eclipse/papyrus/robotics/properties/widgets/DataTypeRefDialog.java
@@ -0,0 +1,32 @@
+/*****************************************************************************
+ * Copyright (c) 2021 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Ansgar Radermacher (CEA LIST) ansgar.radermacher@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.robotics.properties.widgets;
+
+import org.eclipse.papyrus.robotics.core.utils.FileExtensions;
+import org.eclipse.papyrus.robotics.profile.robotics.commobject.DataType;
+import org.eclipse.swt.widgets.Composite;
+
+public class DataTypeRefDialog extends ReferenceWoAddDialog {
+
+ public DataTypeRefDialog(Composite parent, int style) {
+ super(parent, style);
+ }
+
+ @Override
+ protected org.eclipse.papyrus.infra.widgets.editors.ReferenceDialog createReferenceDialog(Composite parent, int style) {
+ return new RoboticsReferenceDialog(parent, style, DataType.class, FileExtensions.SERVICEDEF_UML);
+ }
+}
diff --git a/plugins/customization/org.eclipse.papyrus.robotics.properties/src/org/eclipse/papyrus/robotics/properties/widgets/RoboticsReferenceDialog.java b/plugins/customization/org.eclipse.papyrus.robotics.properties/src/org/eclipse/papyrus/robotics/properties/widgets/RoboticsReferenceDialog.java
index 7fbe8c6..5a4bec4 100644
--- a/plugins/customization/org.eclipse.papyrus.robotics.properties/src/org/eclipse/papyrus/robotics/properties/widgets/RoboticsReferenceDialog.java
+++ b/plugins/customization/org.eclipse.papyrus.robotics.properties/src/org/eclipse/papyrus/robotics/properties/widgets/RoboticsReferenceDialog.java
@@ -1,3 +1,18 @@
+/*****************************************************************************
+ * Copyright (c) 2019, 2020 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Ansgar Radermacher (CEA LIST) ansgar.radermacher@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
package org.eclipse.papyrus.robotics.properties.widgets;
import org.eclipse.core.databinding.observable.value.IObservableValue;
@@ -11,20 +26,38 @@
import org.eclipse.papyrus.robotics.core.utils.ScanUtils;
import org.eclipse.swt.widgets.Composite;
+/**
+ * Robotics reference dialog. Supposed to be overridden by sub-classes
+ * that define the extension and stereotype to look for.
+ * Attention wrt. naming: this is rather an editor, not a dialog referenced from XWT.
+ */
public class RoboticsReferenceDialog extends ReferenceDialog {
protected Class<? extends EObject> stereotypeFilter;
-
+
protected String extension;
protected EObject context;
+ /**
+ *
+ * Constructor.
+ *
+ * @param parent
+ * the graphical parent composite
+ * @param style
+ * the SWT style
+ * @param stereotypeFilter
+ * an optional stereotype filter (maybe null)
+ * @param extension
+ * the file extension to scan for
+ */
public RoboticsReferenceDialog(Composite parent, int style, Class<? extends EObject> stereotypeFilter, String extension) {
super(parent, style);
this.stereotypeFilter = stereotypeFilter;
this.extension = extension;
}
-
+
@Override
public void setModelObservable(@SuppressWarnings("rawtypes") IObservableValue modelProperty) {
super.setModelObservable(modelProperty);
@@ -33,9 +66,15 @@
if (contextObj instanceof EObject) {
context = (EObject) contextObj;
// create robotics content provider
- EncapsulatedContentProvider roboticProvider = new RoboticsContentProvider(
- context, contentProvider, stereotypeFilter, extension);
- setContentProvider(roboticProvider);
+ EncapsulatedContentProvider roboticsProvider;
+ if (stereotypeFilter != null) {
+ roboticsProvider = new RoboticsContentProvider(
+ context, contentProvider, stereotypeFilter, extension);
+ } else {
+ roboticsProvider = new RoboticsContentProvider(
+ context, contentProvider, extension);
+ }
+ setContentProvider(roboticsProvider);
}
}