diff options
Diffstat (limited to 'extraplugins')
59 files changed, 1515 insertions, 1743 deletions
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/build.acceleo b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/build.acceleo index 3bf89823b72..b4a22fdacc3 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/build.acceleo +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/build.acceleo @@ -18,7 +18,7 @@ <acceleoCompiler sourceFolder="${target.folder}" outputFolder="${target.folder}" - dependencies="${target.folder}/../../org.eclipse.papyrus.fcm.profile;${target.folder}/../../org.eclipse.papyrus.infra.core.sasheditor;${target.folder}/../../org.eclipse.papyrus.infra.core.sasheditor.di;${target.folder}/../../org.eclipse.papyrus.qompass.designer.vsl;${target.folder}/../../org.eclipse.papyrus.cpp.profile;${target.folder}/../../org.eclipse.papyrus.acceleo;${target.folder}/../../org.eclipse.papyrus.uml.tools.utils;${target.folder}/../../org.eclipse.papyrus.infra.widgets.toolbox;" + dependencies="${target.folder}/../../org.eclipse.papyrus.fcm.profile;${target.folder}/../../org.eclipse.papyrus.infra.core.sasheditor;${target.folder}/../../org.eclipse.papyrus.infra.core.sasheditor.di;${target.folder}/../../org.eclipse.papyrus.qompass.designer.vsl;${target.folder}/../../org.eclipse.papyrus.cpp.profile;${target.folder}/../../org.eclipse.papyrus.acceleo;${target.folder}/../../org.eclipse.papyrus.infra.widgets.toolbox;" binaryResource="false" packagesToRegister=""> </acceleoCompiler> diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/ElementFilter.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/ElementFilter.java new file mode 100644 index 00000000000..297433c35a6 --- /dev/null +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/ElementFilter.java @@ -0,0 +1,7 @@ +package org.eclipse.papyrus.qompass.designer.core; + +import org.eclipse.uml2.uml.Element; + +public interface ElementFilter { + public boolean acceptElement(Element element); +} diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/Messages.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/Messages.java index 71098035433..8f0a90b7f06 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/Messages.java +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/Messages.java @@ -30,6 +30,21 @@ public class Messages extends NLS { public static String LWContainerTrafo_CannotApplyRule; + public static String ConnectorBinding_CannotFindBinding; + public static String ConnectorBinding_CannotFindBindingForPort; + public static String ConnectorBinding_CannotFindConsistentBinding; + public static String ConnectorBinding_ConnectorsPort; + public static String ConnectorBinding_FormalAlreadyBound; + public static String ConnectorBinding_InfoActualReturnIntfIs; + public static String ConnectorBinding_InfoConnPortConnectedVia; + public static String ConnectorBinding_InfoConnectsPort; + public static String ConnectorBinding_InfoCreateBoundPackage; + + public static String ConnectorBinding_InfoMatchOtherEnd; + + public static String ConnectorBinding_InfoProvidedPortTypeMatches; + public static String ConnectorBinding_NoTemplateSignature; + public static String ConnectorReification_CannotFindMatchingPort; public static String ConnectorReification_CouldNotBind; public static String ConnectorReification_CouldNotConnectPort; @@ -45,6 +60,10 @@ public class Messages extends NLS { public static String LanguageSupport_LanguageNotSupported; + public static String TemplateUtils_InfoCreateBoundPackage; + public static String TemplateUtils_InfoGetActualFrom; + public static String TemplateUtils_NoTemplateSignature; + public static String TemplateInstantiation_TemplateIsNull; public static String TemplateInstantiationListener_TrafoException; @@ -54,7 +73,6 @@ public class Messages extends NLS { public static String ContainerTrafo_CannotApplyRule; public static String ContainerTrafo_CannotFindDelegationConn; - public static String ContainerTrafo_InfoMoveSlots; public static String ContainerTrafo_InterceptionRuleButNoInterceptor; public static String InstantiateDepPlan_AcceleoErrors; @@ -88,6 +106,8 @@ public class Messages extends NLS { public static String DepPlanUtils_CannotFindAttribute; public static String DepPlanUtils_ConfigOfPropertyFailed; + + public static String UpdateUtils_CannotApplyFCMstereo; static { // initialize resource bundle diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/EnumService.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/EnumService.java index 113925fdb9e..562f6cd4275 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/EnumService.java +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/EnumService.java @@ -33,6 +33,8 @@ import org.eclipse.uml2.uml.UMLPackage; */ public class EnumService { + private static final String GLOBALENUMS = "globalenums"; //$NON-NLS-1$ + public static void init() { enumHash.clear(); } @@ -134,7 +136,7 @@ public class EnumService { } public static void createEnumPackage(Package root) { - enumPkg = root.createNestedPackage("globalenums"); + enumPkg = root.createNestedPackage(GLOBALENUMS); } public static Package enumPkg; diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.java index ba5d57fcf0a..d63fd1b3655 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.java +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.java @@ -55,6 +55,8 @@ import org.eclipse.uml2.uml.util.UMLUtil; public class UMLTool { + private static final String UNDERSCORE = "_"; //$NON-NLS-1$ + /** * @param operation * @return all in and inout parameters of an operation @@ -115,8 +117,8 @@ public class UMLTool { * Unlike varName2, replace scoping signs as well */ public static String varName(String umlName) { - umlName = umlName.replace(".", "_"); - umlName = umlName.replace("::", "_"); + umlName = umlName.replace(".", UNDERSCORE); //$NON-NLS-1$ + umlName = umlName.replace(Namespace.SEPARATOR, UNDERSCORE); return varName2(umlName); } @@ -137,10 +139,10 @@ public class UMLTool { * @return */ public static String varName2(String umlName) { - umlName = umlName.replace(" ", "_"); - umlName = umlName.replace("-", "_"); - umlName = umlName.replace("+", "_"); - umlName = umlName.replace("?", "_"); + umlName = umlName.replace(" ", UNDERSCORE); //$NON-NLS-1$ + umlName = umlName.replace("-", UNDERSCORE); //$NON-NLS-1$ + umlName = umlName.replace("+", UNDERSCORE); //$NON-NLS-1$ + umlName = umlName.replace("?", UNDERSCORE); //$NON-NLS-1$ return umlName; } @@ -320,7 +322,7 @@ public class UMLTool { if(resource instanceof XMLResource) { XMLResource xmlResource = (XMLResource)resource; - return "\"" + xmlResource.getURIFragment(element) + "\""; + return "\"" + xmlResource.getURIFragment(element) + "\""; //$NON-NLS-1$//$NON-NLS-2$ } return null; } @@ -376,7 +378,7 @@ public class UMLTool { public static String encodeID(String uri) { // _ becomes escape character. original _ is __, '-' becomes _M return uri. - replace("_", "__"). //$NON-NLS-1$ //$NON-NLS-2$ + replace(UNDERSCORE, UNDERSCORE + UNDERSCORE). replace("-", "_M"); //$NON-NLS-1$ //$NON-NLS-2$ } diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/AllocUtils.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/AllocUtils.java index 8d92db8ab03..ef288caaf17 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/AllocUtils.java +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/AllocUtils.java @@ -128,15 +128,15 @@ public class AllocUtils { } /** - * This method returns a list of nodes when given an instance. + * This method returns a list of nodes (or threads) to which the passed instance is allocated. * It is based on MARTE Allocation (a stereotyped abstraction) which is a generic * mechanism to deploy UML elements to nodes. * * @param instanceOrThread - * The instance that should be deployed + * The instance for which we like to know the allocation information * @return */ - public static EList<InstanceSpecification> getNodesOrThreads(NamedElement instanceOrThread) { + public static EList<InstanceSpecification> getNodesOrThreads(InstanceSpecification instanceOrThread) { EList<InstanceSpecification> nodeList = new UniqueEList<InstanceSpecification>(); for(DirectedRelationship relationship : instanceOrThread.getSourceDirectedRelationships(UMLPackage.eINSTANCE.getAbstraction())) { @@ -153,22 +153,22 @@ public class AllocUtils { } /** - * This method returns a list of nodes when given an instance. - * It is based on MARTE Allocation (a stereotyped abstraction) which is a generic - * mechanism to deploy UML elements to nodes. - * + * This method returns a list of nodes to which the passed instance is allocated. If + * the instance is allocated directly to a node, this node is returned. If the instance + * is allocated to a thread, the allocation of the thread to a node is returned. + * * @param instanceOrThread * The instance that should be deployed * @return */ - public static EList<InstanceSpecification> getNodes(NamedElement instanceOrThread) { + public static EList<InstanceSpecification> getNodes(InstanceSpecification instanceOrThread) { EList<InstanceSpecification> nodeList = new UniqueEList<InstanceSpecification>(); EList<InstanceSpecification> nodeOrThreads = getNodesOrThreads(instanceOrThread); for(InstanceSpecification nodeOrThread : nodeOrThreads) { Classifier nodeOrThreadC = DepUtils.getClassifier(nodeOrThread); if(StereotypeUtil.isApplied(nodeOrThreadC, SwSchedulableResource.class)) { - // tread case that instance is allocated to a thread + // treat case that instance is allocated to a thread // follow allocation of Thread nodeList.add(getNode(nodeOrThread)); } diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/DepCreation.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/DepCreation.java index 01db2d31628..097c759a165 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/DepCreation.java +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/DepCreation.java @@ -270,15 +270,16 @@ public class DepCreation { createSlot(is, partIS, attribute); } - } else if(StereotypeUtil.isApplied(attribute, - ConfigurationProperty.class) + } + else if(StereotypeUtil.isApplied(attribute, ConfigurationProperty.class) && createSlotsForConfigValues) { // is a configuration property, create slot // TODO: implicit assumption that configuration attributes // are not components createSlotForConfigProp(is, attribute); } - } else if(type instanceof Class) { + } + else if(type instanceof Class) { // no composition - only create slot, if a singleton // (otherwise, it's not clear with which instance the slot // should be associated) @@ -374,13 +375,10 @@ public class DepCreation { throws TransformationException { // create an instance specification for the composite InstanceSpecification is = null; - if(name != null) { - // donn't create instance specification for root element (detectable via the empty name) - is = (InstanceSpecification)platform.createPackagedElement(name, - UMLPackage.eINSTANCE.getInstanceSpecification()); - is.getClassifiers().add(implementation); - } - + is = (InstanceSpecification)platform.createPackagedElement(name, + UMLPackage.eINSTANCE.getInstanceSpecification()); + is.getClassifiers().add(implementation); + // add connector and container implementations for(Property attribute : implementation.getAllAttributes()) { @@ -396,8 +394,6 @@ public class DepCreation { if(type instanceof Class) { // should be a node, but do not require it Class cl = (Class)type; - // hack: ad-hoc replication support. Better solution via - // Design patterns int upper = attribute.getUpper(); String infix = ""; //$NON-NLS-1$ // TODO: check validation constraints @@ -543,7 +539,6 @@ public class DepCreation { * specification * @return The value specifications for the passed source property or null */ - public static ValueSpecification getNearestValue( Stack<InstanceSpecification> isStack, Property source) { Stack<InstanceSpecification> copy = new Stack<InstanceSpecification>(); @@ -561,7 +556,7 @@ public class DepCreation { /** * Helper for getNearestValue: search for an instance specification that has * source as defining feature. Start at the passed instance specification, - * but do not recursed into elements that are contained in the stack. + * but do not recurse into elements that are contained in the stack. * * @param isStack * A stack of instance specifications corresponding to a path diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/DepUtils.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/DepUtils.java index dc3a3df1a88..2c709c0a7bc 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/DepUtils.java +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/DepUtils.java @@ -14,6 +14,7 @@ import org.eclipse.papyrus.FCM.ImplementationGroup; import org.eclipse.papyrus.FCM.ImplementationProperties; import org.eclipse.papyrus.FCM.InteractionComponent; import org.eclipse.papyrus.FCM.Target; +import org.eclipse.papyrus.qompass.designer.core.ElementFilter; import org.eclipse.papyrus.qompass.designer.core.Utils; import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil; import org.eclipse.uml2.common.util.UML2Util; @@ -306,9 +307,7 @@ public class DepUtils { * @return the associated slot or null, if it does not exist */ public static Slot getSlot(InstanceSpecification is, Property property) { - Iterator<Slot> slots = is.getSlots().iterator(); - while(slots.hasNext()) { - Slot slot = slots.next(); + for (Slot slot : is.getSlots()) { if(slot.getDefiningFeature() == property) { return slot; } @@ -370,8 +369,8 @@ public class DepUtils { } /** - * Return an instance specification that refers to the composite in which the - * passed instance is contained + * Return a slot for a given instance specification. The slot is the first one in a list of slots + * whose value points to the passed instance. * * @param is * an instance that is contained within an composite (i.e. that @@ -380,7 +379,6 @@ public class DepUtils { */ public static Slot getParentSlot(InstanceSpecification is) { for(Slot slot : getReferencingSlots(is)) { - // no trigger is referencing the event any more, delete call event if(slot.getDefiningFeature() instanceof Property) { if(((Property)slot.getDefiningFeature()).getAggregation() == AggregationKind.COMPOSITE_LITERAL) { return slot; @@ -460,4 +458,24 @@ public class DepUtils { return null; } } + + /** + * Get all instances within a package that comply with a filter criterion. Recurse into sub-packages. + * @param pkg Starting package for search + * @param instanceList list of instances + * @param filter filter criterion. + */ + public static void getAllInstances(Package pkg, EList<InstanceSpecification> instanceList, ElementFilter filter) { + for(PackageableElement el : pkg.getPackagedElements()) { + if(el instanceof Package) { + getAllInstances((Package)el, instanceList, filter); + } + else if(el instanceof InstanceSpecification) { + InstanceSpecification instance = (InstanceSpecification)el; + if (filter.acceptElement(instance)) { + instanceList.add(instance); + } + } + } + } } diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/DeployConstants.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/DeployConstants.java index 1ac85cefc79..70c94ba5a99 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/DeployConstants.java +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/deployment/DeployConstants.java @@ -5,8 +5,10 @@ public class DeployConstants { public static final String singletonPrefix = "singleton_"; //$NON-NLS-1$ public static final String COMPONENT_MODEL = "ComponentModel"; //$NON-NLS-1$ public static final String depPlanFolder = "deployment"; //$NON-NLS-1$ + public static final String depPlanFolderHw = "platform"; //$NON-NLS-1$ + public static final String DepPlanPostfix = "DepPlan"; //$NON-NLS-1$ + public static final String DepPlanPostfixHw = "Platform"; //$NON-NLS-1$ public static final String MAIN_INSTANCE = "mainInstance"; //$NON-NLS-1$ public static final String SEP_CHAR = "."; //$NON-NLS-1$ public static final String AUTO_POSTFIX = "_auto"; //$NON-NLS-1$ - public static final String DepPlanPostfix = "DepPlan"; //$NON-NLS-1$ } diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/messages.properties b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/messages.properties index ccd9c89ef52..c237acc8ada 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/messages.properties +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/messages.properties @@ -14,6 +14,22 @@ Description_NoAvail=not available LWContainerTrafo_CannotApplyRule=Cannot apply container rule <%s>, since the type of one of its parts is undefined. Check for unresolved proxies in imports +TemplateUtils_InfoCreateBoundPackage=create bound package (fixed binding): %s within %s +TemplateUtils_InfoGetActualFrom=TemplateInstantiation.getActualFromBinding: substitution formal = %s +TemplateUtils_NoTemplateSignature=no template signature found for %s + +ConnectorBinding_InfoConnPortConnectedVia=connector port <%s> is connected via <%s> +ConnectorBinding_CannotFindBinding=error: can not find a binding for formal parameter %s in the context of composite %s, connector %s and (connector) template %s. +ConnectorBinding_CannotFindBindingForPort=Cannot find a binding for port %s of connector %s. +ConnectorBinding_CannotFindConsistentBinding=cannot find a consistent binding for port %s of connector %s (in %s). Formal already bound to type %s +ConnectorBinding_ConnectorsPort=connects port, otherInterface = %s +ConnectorBinding_FormalAlreadyBound=Formal already bound to type %s +ConnectorBinding_InfoActualReturnIntfIs=actual return interface: %s +ConnectorBinding_InfoConnectsPort=connects port, otherInterface = %s +ConnectorBinding_InfoCreateBoundPackage=create bound package %s within %s +ConnectorBinding_InfoMatchOtherEnd=matchOtherEnd: port %s +ConnectorBinding_InfoProvidedPortTypeMatches=getActual: provided port type matches, port %s. +ConnectorBinding_NoTemplateSignature=ConnectorBinding: no template signature found for %s ConnectorReification_CannotFindMatchingPort=Connector reification: cannot find a matching port on reified connector %s for port %s. This should not happen and indicates an internal tool chain error. ConnectorReification_CouldNotBind=could not bind connector implementation template <%s> ConnectorReification_CouldNotConnectPort=Error: could not connect connector port <%s>. @@ -37,7 +53,6 @@ CompTypeTrafos_CannotFindType=Can not find type <%s>. Thus, unable to create sui ContainerTrafo_CannotApplyRule=Cannot apply container rule <%s>, since the type of one of its parts is undefined. Check for unresolved proxies in imports ContainerTrafo_CannotFindDelegationConn=(during interceptor transformation for container): cannot find existing delegation connector -ContainerTrafo_InfoMoveSlots=Move slots for instance %s ContainerTrafo_InterceptionRuleButNoInterceptor=The part %s in rule %s has an interceptionRule, but is not typed with an interaction component InstantiateDepPlan_AcceleoErrors=Acceleo errors occured InstantiateDepPlan_AcceleoErrorsCheckLog=Acceleo errors occured during code generation. Please check the error log @@ -68,3 +83,4 @@ CompImplSync_InfoSyncViaType=syncViaType => implementation %s DepPlanUtils_CannotFindAttribute=cannot find attribute %s in classifier %s DepPlanUtils_ConfigOfPropertyFailed=configuration of property %s failed: type is not a string +UpdateUtils_CannotApplyFCMstereo=cannot apply FCM stereotype. Check whether profile is applied diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/ConnectorBinding.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/ConnectorBinding.java index e63e1592482..888cb0d89da 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/ConnectorBinding.java +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/ConnectorBinding.java @@ -22,6 +22,7 @@ import org.eclipse.emf.common.util.EList; import org.eclipse.papyrus.qompass.designer.core.ConnectorUtils; import org.eclipse.papyrus.qompass.designer.core.CreationUtils; import org.eclipse.papyrus.qompass.designer.core.Log; +import org.eclipse.papyrus.qompass.designer.core.Messages; import org.eclipse.papyrus.qompass.designer.core.PortUtils; import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationContext; import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationException; @@ -84,7 +85,7 @@ public class ConnectorBinding { // with whom this port is connected, i.e. examine all connectorEnds // The type of the connected port determines the binding. Log.log(Status.INFO, Log.TEMPLATE_BINDING, String.format( - "matchOtherEnd: port %s", port.getName())); //$NON-NLS-1$ + "", port.getName())); //$NON-NLS-1$ for(ConnectorEnd connEnd : connector.getEnds()) { // the connector end targets a port of a part or the composite (in case of delegation) @@ -102,16 +103,16 @@ public class ConnectorBinding { } else { otherInterface = PortUtils.getProvided(otherPort); } - Log.log(Status.INFO, Log.TEMPLATE_BINDING, String.format("connects port, otherInterface = %s", otherInterface)); + Log.log(Status.INFO, Log.TEMPLATE_BINDING, String.format(Messages.ConnectorBinding_ConnectorsPort, otherInterface)); if(otherInterface != null) { if(actual == null) { actual = otherInterface; Log.log(Status.INFO, Log.TEMPLATE_BINDING, String.format( - "actual return interface: %s", actual.getQualifiedName())); + Messages.ConnectorBinding_InfoActualReturnIntfIs, actual.getQualifiedName())); } else if(actual != otherInterface) { throw new TransformationException(String.format( - "cannot find a consistent binding for port %s of connector. Formal already bound to type %s", - port.getName(), connector.getName(), actual.getName())); + Messages.ConnectorBinding_CannotFindConsistentBinding, + port.getName(), connector.getName(), connector.getNamespace().getName(), actual.getName())); } } } @@ -125,7 +126,7 @@ public class ConnectorBinding { // with whom this port is connected, i.e. examine all connectors of the // composite. The type of the connected port determines the binding. Log.log(Status.INFO, Log.TEMPLATE_BINDING, String.format( - "matchOtherEnd: port %s", port.getName())); //$NON-NLS-1$ + Messages.ConnectorBinding_InfoMatchOtherEnd, port.getName())); for(Connector connector : partConnector.getClass_().getOwnedConnectors()) { if(ConnectorUtils.connectsPart(connector, partConnector)) { @@ -145,16 +146,16 @@ public class ConnectorBinding { } else { otherInterface = PortUtils.getProvided(otherPort); } - Log.log(Status.INFO, Log.TEMPLATE_BINDING, String.format("connects port, otherInterface = %s", otherInterface)); + Log.log(Status.INFO, Log.TEMPLATE_BINDING, String.format(Messages.ConnectorBinding_InfoConnectsPort, otherInterface)); if(otherInterface != null) { if(actual == null) { actual = otherInterface; Log.log(Status.INFO, Log.TEMPLATE_BINDING, String.format( - "actual return interface: %s", actual.getQualifiedName())); + Messages.ConnectorBinding_InfoActualReturnIntfIs, actual.getQualifiedName())); } else if(actual != otherInterface) { throw new TransformationException(String.format( - "cannot find a consistent binding for port %s of connector %s. Formal already bound to type %s", - port.getName(), connector.getName(), actual.getName())); + Messages.ConnectorBinding_CannotFindConsistentBinding, + port.getName(), connector.getName(), connector.getNamespace().getName(), actual.getName())); } } } @@ -221,7 +222,7 @@ public class ConnectorBinding { // with whom this port is connected, i.e. examine all ends of the // connector. The type of the connected port determines the binding. Log.log(Status.INFO, Log.TEMPLATE_BINDING, String.format( - "getActual: provided port type matches, port %s.", port.getName())); //$NON-NLS-1$ + Messages.ConnectorBinding_InfoProvidedPortTypeMatches, port.getName())); boolean found = false; if(partOrConnector instanceof Property) { @@ -259,7 +260,7 @@ public class ConnectorBinding { protected static String createErrorMsg(Port port, Feature partOrConnector) { String errorMsg = String.format( - "Cannot find a binding for port %s of connector %s.", + Messages.ConnectorBinding_CannotFindBindingForPort, port.getName(), partOrConnector.getName()); for(Classifier cl : partOrConnector.getFeaturingClassifiers()) { errorMsg += " of class '" + cl.getName() + "'"; //$NON-NLS-1$ //$NON-NLS-2$ @@ -280,7 +281,7 @@ public class ConnectorBinding { Port otherPort = (Port)connElem; Log.log(Status.INFO, Log.TEMPLATE_BINDING, String.format( - " getActual, connector port <%s> is connected via <%s>", + Messages.ConnectorBinding_InfoConnPortConnectedVia, port.getName(), partOrConnector.getName())); Type otherType = otherPort.getType(); @@ -305,10 +306,10 @@ public class ConnectorBinding { if(actual == null) { actual = otherType; Log.log(Status.INFO, Log.TEMPLATE_BINDING, String.format( - "actual return interface: %s", actual.getQualifiedName())); + Messages.ConnectorBinding_InfoActualReturnIntfIs, actual.getQualifiedName())); } else if(actual != otherType) { - throw new TransformationException(errorMsg + " " + String.format( - "Formal already bound to type %s", actual.getName())); + throw new TransformationException(errorMsg + " " + String.format( //$NON-NLS-1$ + Messages.ConnectorBinding_FormalAlreadyBound, actual.getName())); } } } @@ -342,7 +343,7 @@ public class ConnectorBinding { // not a template. This is not an exception, caller need to handle "null" a return // value indicating that no template instantiation needs to be done. Log.log(Status.INFO, Log.TEMPLATE_BINDING, String.format( - "ConnectorBinding: no template signature found for %s", template.getName())); + Messages.ConnectorBinding_NoTemplateSignature, template.getName())); return null; } @@ -397,7 +398,7 @@ public class ConnectorBinding { name = name + "_" + ((NamedElement)actual).getName(); //$NON-NLS-1$ } else { String reason = String.format( - "error: can not find a binding for formal parameter %s in the context of composite %s, connector %s and (connector) template %s.", + Messages.ConnectorBinding_CannotFindBinding, ((NamedElement)formal).getName(), composite.getName(), connector.getName(), template.getName()); throw new TransformationException(reason); } @@ -418,7 +419,7 @@ public class ConnectorBinding { boundPackage = ((Package)owner).createNestedPackage(name); Log.log(Status.INFO, Log.TEMPLATE_BINDING, String.format( - "create bound package %s within %s", name, owner.getName())); + Messages.ConnectorBinding_InfoCreateBoundPackage, name, owner.getName())); } TemplateBinding binding = boundPackage.getTemplateBinding(signature); diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/TemplateUtils.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/TemplateUtils.java index 9656d86df3f..410a5f35a37 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/TemplateUtils.java +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/TemplateUtils.java @@ -21,6 +21,7 @@ import org.eclipse.emf.common.util.BasicEList; import org.eclipse.emf.common.util.EList; import org.eclipse.papyrus.qompass.designer.core.CreationUtils; import org.eclipse.papyrus.qompass.designer.core.Log; +import org.eclipse.papyrus.qompass.designer.core.Messages; import org.eclipse.papyrus.qompass.designer.core.transformations.Copy; import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationException; import org.eclipse.uml2.uml.Classifier; @@ -123,10 +124,9 @@ public class TemplateUtils { TemplateSignature signature = getSignature(template); if(signature == null) { // not a template, retain original name - Log.log(Status.INFO, Log.TEMPLATE_BINDING, - "no template signature found" + (template instanceof NamedElement ? - " for " + ((NamedElement)template).getName() : - "")); + Log.log(Status.INFO, Log.TEMPLATE_BINDING, String.format( + Messages.TemplateUtils_NoTemplateSignature, (template instanceof NamedElement ? + ((NamedElement)template).getName() : "undef"))); //$NON-NLS-1$ return null; } @@ -157,9 +157,8 @@ public class TemplateUtils { // class does not exist yet, needs to be created. boundPackage = ((Package)owner).createNestedPackage(name); - Log.log(Status.INFO, Log.TEMPLATE_BINDING, - "create bound package (fixed binding): " + name - + " within " + owner.getName()); + Log.log(Status.INFO, Log.TEMPLATE_BINDING, String.format( + Messages.TemplateUtils_InfoCreateBoundPackage, name, owner.getName())); } TemplateBinding binding = boundPackage.getTemplateBinding(signature); @@ -244,8 +243,8 @@ public class TemplateUtils { for(TemplateParameterSubstitution substitution : binding.getParameterSubstitutions()) { ParameterableElement pe = substitution.getFormal().getParameteredElement(); if(pe == formal) { - Log.log(Status.INFO, Log.TEMPLATE_INSTANTIATION, - "TemplateInstantiation.getActualFromBinding: substitution formal = " + pe); + Log.log(Status.INFO, Log.TEMPLATE_INSTANTIATION, String.format( + Messages.TemplateUtils_InfoGetActualFrom, pe)); return (Classifier)substitution.getActual(); } } @@ -256,8 +255,8 @@ public class TemplateUtils { TemplateBinding binding, String formalName) { for(TemplateParameterSubstitution substitution : binding.getParameterSubstitutions()) { ParameterableElement pe = substitution.getFormal().getParameteredElement(); - Log.log(Status.INFO, Log.TEMPLATE_INSTANTIATION, - "TemplateInstantiation.getActualFromBinding: substitution formal = " + pe); + Log.log(Status.INFO, Log.TEMPLATE_INSTANTIATION, String.format( + Messages.TemplateUtils_InfoGetActualFrom, pe)); if((pe instanceof NamedElement) && ((NamedElement)pe).getName().equals(formalName)) { return (Classifier)substitution.getActual(); diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/ConnectorReification.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/ConnectorReification.java index 5ba73c5cb29..8c385174d53 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/ConnectorReification.java +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/ConnectorReification.java @@ -184,7 +184,8 @@ public class ConnectorReification { * connector element within the source model * @param tmIS * target model instance specification of the composite in which the reified connector - * (the part typed with the instantiated interaction component) should be created + * (the part typed with the instantiated interaction component) should be created. + * The instance is only used to find a suitable implementation. * @param args * addtion args for the Acceleo transformation * @return the created part within tmComponent @@ -463,13 +464,12 @@ public class ConnectorReification { // find instance that is associated with other part. for(Slot slot : compositeIS.getSlots()) { if(slot.getDefiningFeature() == otherPart) { - InstanceSpecification containedInstance = DepUtils - .getInstance(slot); + InstanceSpecification containedInstance = DepUtils.getInstance(slot); // TODO: too complicated, if the non-connector is a composite as well, it must be clearly allocated EList<InstanceSpecification> nodes = AllocUtils.getAllNodesForPort( containedInstance, otherPort); - AllocUtils.propagateNodesViaPort(DepUtils - .getInstance(partSlot), myPort, nodes); + AllocUtils.propagateNodesViaPort( + DepUtils.getInstance(partSlot), myPort, nodes); break; } } diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/CopyTo.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/CopyTo.java index 04a4f27a410..d96b5a62a6f 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/CopyTo.java +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/CopyTo.java @@ -7,7 +7,7 @@ import org.eclipse.uml2.uml.Element; /** * This class enables the copy from a source to a given target element. * It assumes that a copy has already been created, but will just not copy it... - * Unlike the @see Copy class, the element might be copied to a different placed + * Unlike the @see Copy class, the element might be copied to a different place */ public class CopyTo { /** diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/InstantiateDepPlan.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/InstantiateDepPlan.java index 69cb1fa0bd9..1703501c2fa 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/InstantiateDepPlan.java +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/InstantiateDepPlan.java @@ -111,10 +111,10 @@ public class InstantiateDepPlan { boolean generateCACOnly = (genOptions & GenerationOptions.CAC_ONLY) != 0; AcceleoDriver.clearErrors(); - Package cdp; + Package smCDP; Configuration configuration = null; if(cdpOrConfig instanceof Package) { - cdp = (Package)cdpOrConfig; + smCDP = (Package)cdpOrConfig; RuleManagement.setConfiguration(null); } else if(StereotypeUtil.isApplied(cdpOrConfig, Configuration.class)) { @@ -132,7 +132,7 @@ public class InstantiateDepPlan { }); return; } - cdp = fcmCDP.getBase_Package(); + smCDP = fcmCDP.getBase_Package(); RuleManagement.setConfiguration(configuration); } else { return; @@ -140,7 +140,7 @@ public class InstantiateDepPlan { try { EnumService.init(); - InstanceSpecification rootIS = DepUtils.getMainInstance(cdp); + InstanceSpecification rootIS = DepUtils.getMainInstance(smCDP); // Package copyCDP = dt.getCopyCDT (selectedCDP); EList<InstanceSpecification> nodes = AllocUtils.getAllNodes(rootIS); @@ -160,7 +160,7 @@ public class InstantiateDepPlan { } // 1a: create a new model (and applies same profiles / imports) - Model existingModel = cdp.getModel(); + Model existingModel = smCDP.getModel(); TransformationContext.sourceRoot = existingModel; tmpMM = createTargetModel(existingModel, monitor, existingModel.getName(), true); tmpModel = tmpMM.getModel(); @@ -190,7 +190,7 @@ public class InstantiateDepPlan { // obtain reference to CDP in target model // tmpCopy.createShallowContainer(rootIS); - Package tmCDP = (Package)tmpCopy.get(cdp); + Package tmCDP = (Package)tmpCopy.get(smCDP); ContainerTrafo.init(); MainModelTrafo mainModelTrafo = new MainModelTrafo(tmpCopy, tmCDP); @@ -231,7 +231,7 @@ public class InstantiateDepPlan { if(configuration != null) { modelName += "_" + configuration.getBase_Class().getName(); //$NON-NLS-1$ } else { - modelName += "_" + cdp.getName(); //$NON-NLS-1$ + modelName += "_" + smCDP.getName(); //$NON-NLS-1$ } ModelManagement genMM = createTargetModel(existingModel, monitor, MapUtil.rootModelName, false); Model genModel = genMM.getModel(); diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/UpdateUtils.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/UpdateUtils.java index 88a590a6082..241d4711342 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/UpdateUtils.java +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/transformations/UpdateUtils.java @@ -19,6 +19,7 @@ import java.util.Iterator; import org.eclipse.emf.common.util.BasicEList; import org.eclipse.emf.common.util.EList; import org.eclipse.papyrus.FCM.DerivedElement; +import org.eclipse.papyrus.qompass.designer.core.Messages; import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil; import org.eclipse.uml2.uml.Element; import org.eclipse.uml2.uml.NamedElement; @@ -67,7 +68,7 @@ public class UpdateUtils { de.setSource(source); } else { - throw new TransformationRTException("cannot apply FCM stereotype. Check whether profile is applied"); + throw new TransformationRTException(Messages.UpdateUtils_CannotApplyFCMstereo); } } diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/META-INF/MANIFEST.MF b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/META-INF/MANIFEST.MF index a5eb0cfb211..935f9860a62 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/META-INF/MANIFEST.MF +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/META-INF/MANIFEST.MF @@ -43,3 +43,4 @@ Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: %providerName
Bundle-Localization: plugin
+Export-Package: org.eclipse.papyrus.qompass.designer.ui.handlers
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/src/org/eclipse/papyrus/qompass/designer/ui/dialogs/AllocationDialog.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/src/org/eclipse/papyrus/qompass/designer/ui/dialogs/AllocationDialog.java index b76f719b1f6..debfcb26bab 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/src/org/eclipse/papyrus/qompass/designer/ui/dialogs/AllocationDialog.java +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/src/org/eclipse/papyrus/qompass/designer/ui/dialogs/AllocationDialog.java @@ -24,6 +24,7 @@ import org.eclipse.papyrus.FCM.DeploymentPlan; import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource; import org.eclipse.papyrus.infra.widgets.toolbox.utils.DialogUtils; import org.eclipse.papyrus.qompass.designer.core.CommandSupport; +import org.eclipse.papyrus.qompass.designer.core.ElementFilter; import org.eclipse.papyrus.qompass.designer.core.Utils; import org.eclipse.papyrus.qompass.designer.core.commands.AddMarteAndFcmProfile; import org.eclipse.papyrus.qompass.designer.core.deployment.AllocUtils; @@ -50,27 +51,13 @@ import org.eclipse.uml2.uml.Package; import org.eclipse.uml2.uml.util.UMLUtil; /** - * Select a connector type and implementation (group) - * TODO: show information about the used connector [usage, implem properties, ...] - * similar help for ports? + * Allocate elements in a deployment plan to a node or thread * - * @author ansgar - * - */ - -/* - * ListSelectionDialog lsd = new ListSelectionDialog(window.getShell(), list, new ArrayContentProvider(), new LabelProvider(), - * "ListSelectionDialog Message"); - * lsd.setInitialSelections(list.toArray()); - * lsd.setTitle("Select # of Nobel Prize Nominations :"); - * lsd.open(); */ public class AllocationDialog extends SelectionStatusDialog { private DeploymentPlan m_cdp; - // protected EList<Package> visitedPackages; - // protected FilteredList fRules; private Tree fTree; private Label fLabel; @@ -85,10 +72,34 @@ public class AllocationDialog extends SelectionStatusDialog { super(parent); // m_cdp = cdp; m_cdp = UMLUtil.getStereotypeApplication(cdp, DeploymentPlan.class); - visitedPackages = new BasicEList<Package>(); nodeOrThreadList = new BasicEList<InstanceSpecification>(); nodeOrThreadList.add(null); // dummy entry for no allocation - getAllNodesOrThreads(cdp.getModel(), nodeOrThreadList); + DepUtils.getAllInstances(cdp.getModel(), nodeOrThreadList, new ElementFilter() { + + public boolean acceptElement(Element element) { + if (element instanceof InstanceSpecification) { + InstanceSpecification instance = (InstanceSpecification) element; + if (instance.getName() == null) { + // donn't allocate to root element (detectable via the empty name) + return false; + } + Classifier cl = DepUtils.getClassifier(instance); + if(cl instanceof Class) { + if(StereotypeUtil.isApplied(cl, SwSchedulableResource.class)) { + // threads are valid allocation targets. Therefore, threads are always added to + // list, even if within a deployment plan. + return true; + } + if (StereotypeUtil.isApplied(instance.getNearestPackage(), DeploymentPlan.class)) { + // instance is part of a deployment plan => don't add to list. + return false; + } + return true; + } + } + return false; + } + }); } /** @@ -174,7 +185,7 @@ public class AllocationDialog extends SelectionStatusDialog { InstanceSpecification is = (InstanceSpecification)data; String name = is.getName(); - int index = name.lastIndexOf("."); + int index = name.lastIndexOf("."); //$NON-NLS-1$ if(index != -1) { name = name.substring(index + 1); } @@ -182,26 +193,26 @@ public class AllocationDialog extends SelectionStatusDialog { Classifier cl = DepUtils.getClassifier(is); String nodeName; if(explicitNodeOrThread == null) { - nodeName = "-"; + nodeName = "-"; //$NON-NLS-1$ } else { nodeName = getAllocName(explicitNodeOrThread); } if(cl instanceof Class) { if(BootLoaderGen.hasUnconnectedStartRoutine(null, (Class)cl, null)) { - nodeName += " (main)"; + nodeName += " (main)"; //$NON-NLS-1$ } } EList<InstanceSpecification> implicitNodes = AllocUtils.getAllNodesOrThreadsParent(is); implicitNodes.addAll(AllocUtils.getAllNodesOrThreadsParent(is)); - String list = ""; + String list = ""; //$NON-NLS-1$ for(InstanceSpecification node : implicitNodes) { - if(list.equals("")) { + if(list.equals("")) { //$NON-NLS-1$ list = getAllocName(node); } else { - list += ", " + getAllocName(node); + list += ", " + getAllocName(node); //$NON-NLS-1$ } } - ti.setText(new String[]{ name, nodeName, "[" + list + "]" }); + ti.setText(new String[]{ name, nodeName, "[" + list + "]" }); //$NON-NLS-1$//$NON-NLS-2$ } } @@ -294,28 +305,4 @@ public class AllocationDialog extends SelectionStatusDialog { AllocUtils.updateAllocation(is, oldNode, newNode); } } - - void getAllNodesOrThreads(Package pkg, EList<InstanceSpecification> nodeList) { - for(Element el : pkg.getMembers()) { - if(el instanceof Package) { - if(!visitedPackages.contains(el)) { - visitedPackages.add((Package)el); - getAllNodesOrThreads((Package)el, nodeList); - } - } else if(el instanceof InstanceSpecification) { - Classifier cl = DepUtils.getClassifier((InstanceSpecification)el); - if(cl != null) { - if((cl instanceof Class) || (StereotypeUtil.isApplied(cl, SwSchedulableResource.class))) { - // check that instances are not part of a deployment plan - // [TODO:] check that owner of instance is a platform definition - if(!StereotypeUtil.isApplied(el.getOwner(), DeploymentPlan.class)) { - nodeList.add((InstanceSpecification)el); - } - } - } - } - } - } - - private EList<Package> visitedPackages; } diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/src/org/eclipse/papyrus/qompass/designer/ui/dialogs/ConfigureInstanceDialog.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/src/org/eclipse/papyrus/qompass/designer/ui/dialogs/ConfigureInstanceDialog.java index 43e26f29a01..cb7d43f6274 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/src/org/eclipse/papyrus/qompass/designer/ui/dialogs/ConfigureInstanceDialog.java +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/src/org/eclipse/papyrus/qompass/designer/ui/dialogs/ConfigureInstanceDialog.java @@ -31,11 +31,11 @@ import org.eclipse.papyrus.FCM.ContainerRule; import org.eclipse.papyrus.infra.widgets.toolbox.utils.DialogUtils; import org.eclipse.papyrus.qompass.designer.core.ConfigUtils; import org.eclipse.papyrus.qompass.designer.core.Description; +import org.eclipse.papyrus.qompass.designer.core.ElementFilter; import org.eclipse.papyrus.qompass.designer.core.Utils; import org.eclipse.papyrus.qompass.designer.core.deployment.DepCreation; import org.eclipse.papyrus.qompass.designer.core.deployment.DepPlanUtils; import org.eclipse.papyrus.qompass.designer.core.deployment.DepUtils; -import org.eclipse.papyrus.qompass.designer.core.deployment.DeployConstants; import org.eclipse.papyrus.qompass.designer.core.sync.DepPlanSync; import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationException; import org.eclipse.swt.SWT; @@ -62,7 +62,6 @@ import org.eclipse.uml2.uml.LiteralBoolean; import org.eclipse.uml2.uml.LiteralInteger; import org.eclipse.uml2.uml.LiteralString; import org.eclipse.uml2.uml.Package; -import org.eclipse.uml2.uml.PackageableElement; import org.eclipse.uml2.uml.Property; import org.eclipse.uml2.uml.Slot; import org.eclipse.uml2.uml.Type; @@ -157,9 +156,51 @@ public class ConfigureInstanceDialog extends SelectionStatusDialog { return false; } - /** - * retrieve the instance list. Returns false, if no deploymentplan could be found. + * A filter class that selects instances associated with the selected feature or component + */ + class InstanceFilter implements ElementFilter { + + private String featureCandidateName; + + public boolean acceptElement(Element element) { + if(element instanceof InstanceSpecification) { + InstanceSpecification instance = (InstanceSpecification)element; + if(m_feature instanceof Property) { + EList<Slot> slots = DepUtils.getReferencingSlots(instance); + for (Slot slot : slots) { + if(slot.getDefiningFeature() == m_feature) { + return true; + } + } + } + else if(m_feature instanceof Connector) { + // Connector instances cannot be found via a slot. Since a connector is not a structural feature, + // it cannot be referenced via the "definingFeature" property of a slot. Therefore, the deployment + // plan creation (@see DepCreation.createDepPlan) simply omits slots, but still creates instances + // for the interaction components referenced by an FCM connector. + // TODO: the following code relies on specific order of instances and might not always work. + Element owner = m_feature.getOwner(); + if(DepUtils.getImplementation(instance) == owner) { + // instance is for owner of feature: examine name + featureCandidateName = instance.getName() + "." + m_feature.getName(); //$NON-NLS-1$ + } + else if(featureCandidateName != null) { + if(featureCandidateName.equals(instance.getName())) { + return true; + } + } + } else if(DepUtils.getImplementation(instance) == m_component) { + return true; + } + } + return false; + } + } + + + /** + * retrieve the instance list. Returns false, if no deployment plan could be found. * * @return */ @@ -167,7 +208,9 @@ public class ConfigureInstanceDialog extends SelectionStatusDialog { visitedPackages = new BasicEList<Package>(); m_instanceList = new BasicEList<InstanceSpecification>(); - getInstances(m_instanceList); + ElementFilter filter = new InstanceFilter(); + DepUtils.getAllInstances(m_model, m_instanceList, filter); + if(m_instanceList.size() == 0) { Shell shell = new Shell(); if(DepPlanUtils.getAllDepPlans(m_model).size() == 0) { @@ -179,7 +222,8 @@ public class ConfigureInstanceDialog extends SelectionStatusDialog { "The list of available instances is empty. Synchronize deployment plans?")) { DepPlanSync.syncAllDepPlans(m_model); visitedPackages = new BasicEList<Package>(); - getInstances(m_instanceList); + DepUtils.getAllInstances(m_model, m_instanceList, filter); + if(m_instanceList.size() == 0) { MessageDialog.openInformation(shell, "Instance configuration", "There are still no instances available\n. Check whether you created already a deployment plan for your system. Check as well, if the parts in your a composite use \"composite\" as aggregation kind. (Results of deployment plan synchronizations will be unrolled)"); @@ -453,54 +497,11 @@ public class ConfigureInstanceDialog extends SelectionStatusDialog { private String getValueLabel(Property attribute) { String label = valueLabelPrefix; if(attribute.getDefault() != null) { - return label + " " + String.format("(default = %s)", attribute.getDefault()); //$NON-NLS-1$ + return label + " " + String.format("(default = %s)", attribute.getDefault()); //$NON-NLS-1$ //$NON-NLS-2$ } return label; } - // TODO(?): need a generic utility function for getting all elements obeying a - // certain criteria from a model - void getInstances(EList<InstanceSpecification> instanceList) { - Package deploymentPlans = Utils.getRoot(m_model, DeployConstants.depPlanFolder); - String featureCandidateName = null; - if(deploymentPlans == null) { - return; - } - for(PackageableElement deploymentPlan : deploymentPlans - .getPackagedElements()) { - if(deploymentPlan instanceof Package) { - for(PackageableElement instance : ((Package)deploymentPlan).getPackagedElements()) { - if(instance instanceof InstanceSpecification) { - InstanceSpecification candidate = (InstanceSpecification)instance; - if(m_feature instanceof Property) { - for(Slot slot : candidate.getSlots()) { - if(slot.getDefiningFeature() == m_feature) { - instanceList - .add(DepUtils.getInstance(slot)); - } - } - } else if(m_feature instanceof Connector) { - // Connector cannot be found directly, since there is no slot in containing composite (defining - // feature is a structural-feature, not a feature): find via name. - Element owner = m_feature.getOwner(); - if(DepUtils.getImplementation(candidate) == owner) { - // instance is for owner of feature: examine name - featureCandidateName = candidate.getName() + "." + m_feature.getName(); //$NON-NLS-1$ - } - else if(featureCandidateName != null) { - if(featureCandidateName.equals(candidate.getName())) { - instanceList.add(candidate); - } - } - } else if(DepUtils.getImplementation(candidate) == m_component) { - instanceList.add(candidate); - } - } - } - } - } - } - private EList<Property> getConfigAttributes(Classifier component) { EList<Property> list = new BasicEList<Property>(); // add properties of component diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/src/org/eclipse/papyrus/qompass/designer/ui/handlers/CreatePlatformHandler.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/src/org/eclipse/papyrus/qompass/designer/ui/handlers/CreatePlatformHandler.java index 5cf8b6d2739..6eb386d22b2 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/src/org/eclipse/papyrus/qompass/designer/ui/handlers/CreatePlatformHandler.java +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/src/org/eclipse/papyrus/qompass/designer/ui/handlers/CreatePlatformHandler.java @@ -20,6 +20,7 @@ import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.papyrus.qompass.designer.core.CommandSupport; import org.eclipse.papyrus.qompass.designer.core.Utils; import org.eclipse.papyrus.qompass.designer.core.deployment.DepCreation; +import org.eclipse.papyrus.qompass.designer.core.deployment.DeployConstants; import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationException; import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationRTException; import org.eclipse.swt.widgets.Shell; @@ -55,12 +56,12 @@ public class CreatePlatformHandler extends CmdHandler { public void run() { // execute with transaction support - platform = Utils.getRoot(selectedComposite, "PlatformModel");//$NON-NLS-1$ + platform = Utils.getRoot(selectedComposite, DeployConstants.depPlanFolderHw); } }); - final String newPlatform = selectedComposite.getName() + "Platform"; //$NON-NLS-1$ - + final String newPlatform = selectedComposite.getName() + DeployConstants.DepPlanPostfixHw; + try { if(platform.getMember(newPlatform) != null) { Shell shell = new Shell(); diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.vsl/src/org/eclipse/papyrus/qompass/designer/vsl/ParseVSL.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.vsl/src/org/eclipse/papyrus/qompass/designer/vsl/ParseVSL.java index e3b26d9ff05..14bd6a9545d 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.vsl/src/org/eclipse/papyrus/qompass/designer/vsl/ParseVSL.java +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.vsl/src/org/eclipse/papyrus/qompass/designer/vsl/ParseVSL.java @@ -18,9 +18,13 @@ import com.google.inject.Injector; public class ParseVSL { + private static final String UNIT = "unit"; //$NON-NLS-1$ + + private static final String VALUE = "value"; //$NON-NLS-1$ + private Injector injector; - private static final String SYNTHETIC_SCHEME = "synthetic"; + private static final String SYNTHETIC_SCHEME = "synthetic"; //$NON-NLS-1$ /** @@ -41,7 +45,7 @@ public class ParseVSL { IGrammarAccess grammarAccess = injector.getInstance(IGrammarAccess.class); XtextResource xtextResource = (XtextResource)resourceFactory.createResource( - URI.createURI(SYNTHETIC_SCHEME + ":/" + grammarAccess.getGrammar().getName() + ".vsl")); + URI.createURI(SYNTHETIC_SCHEME + ":/" + grammarAccess.getGrammar().getName() + ".vsl")); //$NON-NLS-1$ //$NON-NLS-2$ try { xtextResource.load(new StringInputStream(expression, xtextResource.getEncoding()), Collections.emptyMap()); @@ -74,8 +78,8 @@ public class ParseVSL { public static int getSizeFromVSL(String nfpDatasize) { if(nfpDatasize != null) { - String unit = MarteUtils.getValueFromTuple(nfpDatasize, "unit"); - String value = MarteUtils.getValueFromTuple(nfpDatasize, "value"); + String unit = MarteUtils.getValueFromTuple(nfpDatasize, UNIT); + String value = MarteUtils.getValueFromTuple(nfpDatasize, VALUE); return Float.valueOf(value).intValue() * getMultiplicatorFromSizeUnit(unit); } return 0; @@ -92,8 +96,8 @@ public class ParseVSL { */ public static long getDurationFromVSL(String nfpDuration) { if(nfpDuration != null) { - String unit = MarteUtils.getValueFromTuple(nfpDuration, "unit"); - String value = MarteUtils.getValueFromTuple(nfpDuration, "value"); + String unit = MarteUtils.getValueFromTuple(nfpDuration, UNIT); + String value = MarteUtils.getValueFromTuple(nfpDuration, VALUE); return Float.valueOf(value).intValue() * getMultiplicatorFromTimeUnit(unit); } return 0; @@ -107,8 +111,8 @@ public class ParseVSL { */ public static long getFrequencyFromVSL(String nfpFrequency) { if(nfpFrequency != null) { - String unit = MarteUtils.getValueFromTuple(nfpFrequency, "unit"); - String value = MarteUtils.getValueFromTuple(nfpFrequency, "value"); + String unit = MarteUtils.getValueFromTuple(nfpFrequency, UNIT); + String value = MarteUtils.getValueFromTuple(nfpFrequency, VALUE); return (int)(Float.valueOf(value) * getMultiplicatorFromFrequencyUnit(unit)); } return 0; @@ -116,7 +120,7 @@ public class ParseVSL { public static long getPeriodFromArrivalPattern(String arrivalPattern) { if(arrivalPattern != null) { - String period = MarteUtils.getValueFromTuple(arrivalPattern, "period"); + String period = MarteUtils.getValueFromTuple(arrivalPattern, "period"); //$NON-NLS-1$ return getDurationFromVSL(period); } return 0; @@ -134,7 +138,7 @@ public class ParseVSL { return 1024 * 1024 * 1024; } else { // do not support bits here. - throw new RuntimeException("Error parsing VSL expression, unexpected size unit (expecting byte, kb, mb, or gb): '" + unit + "'"); + throw new RuntimeException(String.format(Messages.ParseVSL_ErrorInExp_SIZE, unit)); } } @@ -156,7 +160,7 @@ public class ParseVSL { } else if(tuk == TimeUnitKind.MIN) { return 60 * 1000 * 1000; } else { - throw new RuntimeException("Error parsing VSL expression, unexpected duration unit (expecting us, ms, s or min): '" + unit + "'"); + throw new RuntimeException(String.format(Messages.ParseVSL_ErrorInExp_TIME, unit)); } } @@ -174,7 +178,7 @@ public class ParseVSL { return 1 / 60; } else { // do not support bits here. - throw new RuntimeException("Error parsing VSL expression, unexpected frequency unit (expecting Hz, KHz, MHz, GHz or rpm: '" + unit + "'"); + throw new RuntimeException(String.format(Messages.ParseVSL_ErrotInExp_FREQ, unit)); } } } diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/iconfigurators/AnimServiceConfigurator.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/iconfigurators/AnimServiceConfigurator.java new file mode 100644 index 00000000000..64a82385204 --- /dev/null +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/iconfigurators/AnimServiceConfigurator.java @@ -0,0 +1,68 @@ +/***************************************************************************** + * Copyright (c) 2013 CEA LIST. + * + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Ansgar Radermacher ansgar.radermacher@cea.fr + * + *****************************************************************************/ + +package org.eclipse.papyrus.qompass.modellibs.core.iconfigurators; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.papyrus.qompass.designer.core.deployment.AllocUtils; +import org.eclipse.papyrus.qompass.designer.core.extensions.IInstanceConfigurator; +import org.eclipse.papyrus.qompass.designer.core.transformations.ContainerContext; +import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationRTException; +import org.eclipse.uml2.uml.InstanceSpecification; +import org.eclipse.uml2.uml.NamedElement; +import org.eclipse.uml2.uml.Property; + +/** + * Configurator for the Eclipse animation server. This instance is systematically + * allocated to a node named "Eclipse" call event (for a state machine): it sets the + * portID attribute of the call event interceptor. The interceptor uses this + * attribute to initialize the portID attribute within the produced CallEvent + * data structure. + * + * @author ansgar + * + */ +public class AnimServiceConfigurator implements IInstanceConfigurator { + + public final static String eclipseAnimService = "Eclipse"; //$NON-NLS-1$ + + /** + * Configure the instance of a CallEvent interceptor. The configuration parameter is the + * index of the port which gets intercepted. It is obtained via an enumeration + * + * @see org.eclipse.papyrus.qompass.designer.core.extensions.IInstanceConfigurator#configureInstance(org.eclipse.uml2.uml.InstanceSpecification, + * org.eclipse.uml2.uml.InstanceSpecification, org.eclipse.uml2.uml.Port) + * + * @param instance + * the instance that should be configured + * @param componentPart + * the part representing this instance + * @param context + * container context + */ + public void configureInstance(InstanceSpecification instance, Property componentPart, ContainerContext context) + { + EList<InstanceSpecification> nodes = AllocUtils.getAllNodesOrThreadsParent(context.smIS); + if (nodes.size() > 0) { + InstanceSpecification node = nodes.get(0); + NamedElement animService = node.getNearestPackage().getMember(eclipseAnimService); + if (animService instanceof InstanceSpecification) { + AllocUtils.allocate(instance, (InstanceSpecification)animService); + return; + } + } + throw new TransformationRTException(String.format("Cannot find node <%s> in platform definition", eclipseAnimService)); + } + +} diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/iconfigurators/CallEventConfigurator.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/iconfigurators/CallEventConfigurator.java index 147ab53e11b..a342c2a9fbb 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/iconfigurators/CallEventConfigurator.java +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/iconfigurators/CallEventConfigurator.java @@ -12,9 +12,8 @@ * *****************************************************************************/ -package org.eclipse.papyrus.qompass.modellibs.core; +package org.eclipse.papyrus.qompass.modellibs.core.iconfigurators; -import org.eclipse.papyrus.qompass.designer.core.acceleo.UMLTool; import org.eclipse.papyrus.qompass.designer.core.deployment.DepPlanUtils; import org.eclipse.papyrus.qompass.designer.core.extensions.IInstanceConfigurator; import org.eclipse.papyrus.qompass.designer.core.transformations.ContainerContext; @@ -32,7 +31,7 @@ import org.eclipse.uml2.uml.Property; */ public class CallEventConfigurator implements IInstanceConfigurator { - public final static String portAttribute = "portID"; + public final static String portAttribute = "portID"; //$NON-NLS-1$ /** * Configure the instance of a CallEvent interceptor. The configuration parameter is the @@ -52,8 +51,8 @@ public class CallEventConfigurator implements IInstanceConfigurator { { if(context != null) { // make sure that there is an enum par port - String literalName = "port_" + UMLTool.varName(context.port); - // literalName = "0"; + // String literalName = "port_" + UMLTool.varName(context.port); //$NON-NLS-1$ + // the associated enumeration is declared by the statemachine (which is included by the bootloader as well) DepPlanUtils.configureProperty(instance, portAttribute, 0); diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/mappingrules/AMIcallback.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/mappingrules/AMIcallback.java new file mode 100644 index 00000000000..05c33faa99d --- /dev/null +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/mappingrules/AMIcallback.java @@ -0,0 +1,159 @@ +package org.eclipse.papyrus.qompass.modellibs.core.mappingrules; + +import java.util.Iterator; + +import org.eclipse.papyrus.FCM.Port; +import org.eclipse.papyrus.FCM.util.IMappingRule; +import org.eclipse.papyrus.FCM.util.MapUtil; +import org.eclipse.uml2.uml.Interface; +import org.eclipse.uml2.uml.Operation; +import org.eclipse.uml2.uml.Parameter; +import org.eclipse.uml2.uml.ParameterDirectionKind; +import org.eclipse.uml2.uml.Type; + + +public class AMIcallback implements IMappingRule { + + public Interface getProvided(Port p, boolean update) { + Type type = p.getBase_Port().getType(); + if(!(type instanceof Interface)) + return null; + + Interface typingInterface = (Interface)type; + Interface derivedInterface = MapUtil.getOrCreateDerivedInterface(p, "_reply_", type, update); + if (!update) { + return derivedInterface; + } + + for(Operation operation : typingInterface.getOwnedOperations()) { + String name = operation.getName(); + + if(AMIpoll.hasOutParameters(operation)) { + + // check whether operation already exists. Create, if not + Operation derivedOperation = derivedInterface.getOperation(name, null, null); + if(derivedOperation == null) { + derivedOperation = derivedInterface.createOwnedOperation(name, null, null); + } + + // each non-in parameter is in the poll operation. + for(Parameter parameter : operation.getOwnedParameters()) { + if(parameter.getDirection() != ParameterDirectionKind.IN_LITERAL) { + + String paramName = parameter.getName(); + Type paramType = parameter.getType(); + if(derivedOperation.getOwnedParameter(paramName, paramType) == null) { + Parameter newParameter = + derivedOperation.createOwnedParameter(parameter.getName(), parameter.getType()); + newParameter.setDirection(ParameterDirectionKind.IN_LITERAL); + newParameter.setLower(parameter.getLower()); + newParameter.setUpper(parameter.getUpper()); + } + } + } + + // remove those parameters that exist in derived, but not original interface. + Iterator<Parameter> derivedParameters = derivedOperation.getOwnedParameters().iterator(); + while(derivedParameters.hasNext()) { + Parameter parameter = derivedParameters.next(); + String paramName = parameter.getName(); + Type paramType = parameter.getType(); + if(operation.getOwnedParameter(paramName, paramType) == null) { + // not on in original interface, remove from derived as well + derivedParameters.remove(); + } + } + } + } + + // check whether operations in derived interface exist in original interface + // (remove, if not) + Iterator<Operation> derivedOperations = derivedInterface.getOwnedOperations().iterator(); + while(derivedOperations.hasNext()) { + Operation derivedOperation = derivedOperations.next(); + String name = derivedOperation.getName(); + if(name == null) { + continue; + } + if(typingInterface.getOperation(name, null, null) == null) { + // not in typing interface, remove + derivedOperations.remove(); + } + } + return derivedInterface; + } + + public Interface getRequired(Port p, boolean update) { + Type type = p.getBase_Port().getType(); + if(!(type instanceof Interface)) + return null; + + Interface typingInterface = (Interface)type; + Interface derivedInterface = MapUtil.getOrCreateDerivedInterface(p, "_req_", type, update); //$NON-NLS-1$ + if (!update) { + return derivedInterface; + } + + for(Operation operation : typingInterface.getOwnedOperations()) { + String name = operation.getName(); + + // check whether operation already exists. Create, if not + Operation derivedOperation = derivedInterface.getOperation(name, null, null); + if(derivedOperation == null) { + derivedOperation = derivedInterface.createOwnedOperation(name, null, null); + } + + // request operation contains only in and inout parameters + for(Parameter parameter : operation.getOwnedParameters()) { + if((parameter.getDirection() == ParameterDirectionKind.IN_LITERAL) || + (parameter.getDirection() == ParameterDirectionKind.INOUT_LITERAL)) { + + String paramName = parameter.getName(); + Type paramType = parameter.getType(); + if(derivedOperation.getOwnedParameter(paramName, paramType) == null) { + Parameter newParameter = + derivedOperation.createOwnedParameter(parameter.getName(), parameter.getType()); + newParameter.setDirection(parameter.getDirection()); + newParameter.setLower(parameter.getLower()); + newParameter.setUpper(parameter.getUpper()); + } + } + } + + // remove those parameters that exist in derived, but not original interface. + Iterator<Parameter> derivedParameters = derivedOperation.getOwnedParameters().iterator(); + while(derivedParameters.hasNext()) { + Parameter parameter = derivedParameters.next(); + String paramName = parameter.getName(); + Type paramType = parameter.getType(); + if(operation.getOwnedParameter(paramName, paramType) == null) { + // not on in original interface, remove from derived as well + derivedParameters.remove(); + } + } + } + + // check whether operations in derived interface exist in original interface + // (remove, if not) + Iterator<Operation> derivedOperations = derivedInterface.getOwnedOperations().iterator(); + while(derivedOperations.hasNext()) { + Operation derivedOperation = derivedOperations.next(); + String name = derivedOperation.getName(); + if(name == null) { + continue; + } + if(typingInterface.getOperation(name, null, null) == null) { + // not in typing interface, remove + derivedOperations.remove(); + } + } + + return derivedInterface; + } + + public boolean needsUpdate(Port p) { + // TODO: insufficient condition + return (getRequired(p, false) == null) || + (getProvided(p, false) == null); + } +} diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/mappingrules/AMIpoll.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/mappingrules/AMIpoll.java new file mode 100644 index 00000000000..53e395b0077 --- /dev/null +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/mappingrules/AMIpoll.java @@ -0,0 +1,158 @@ +/***************************************************************************** + * Copyright (c) 2013 CEA LIST. + * + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Ansgar Radermacher ansgar.radermacher@cea.fr + * + *****************************************************************************/ + +package org.eclipse.papyrus.qompass.modellibs.core.mappingrules; + +import java.util.Iterator; + +import org.eclipse.papyrus.FCM.Port; +import org.eclipse.papyrus.FCM.util.IMappingRule; +import org.eclipse.papyrus.FCM.util.MapUtil; +import org.eclipse.uml2.uml.Interface; +import org.eclipse.uml2.uml.Operation; +import org.eclipse.uml2.uml.Parameter; +import org.eclipse.uml2.uml.ParameterDirectionKind; +import org.eclipse.uml2.uml.Type; + + +/** + * Implement a CORBA AMI style polling interface + * This is defined in the CORBA 3 standard in section 22.6.2 + * A difference is that we do not return the poller object, but the client uses the original port. + * This has the consequence that it is not possible to make multiple asynchronous requests. + * + * A second difference is that we do not keep the normal methods in the same interface and prefix the + * new ones. (which would probably be a good idea). + * + * @author ansgar + * + */ +public class AMIpoll implements IMappingRule { + + + public Interface getProvided(Port p, boolean update) { + return null; + } + + public Interface getRequired(Port p, boolean update) { + Type type = p.getBase_Port().getType(); + if(!(type instanceof Interface)) + return null; + + Interface typingInterface = (Interface)type; + Interface derivedInterface = MapUtil.getOrCreateDerivedInterface(p, "_", type, update); //$NON-NLS-1$ + if (!update) { + return derivedInterface; + } + + for(Operation operation : typingInterface.getOwnedOperations()) { + String name = operation.getName(); + + // check whether operation already exists. Create, if not + Operation derivedOperation = derivedInterface.getOperation(name, null, null); + if(derivedOperation == null) { + derivedOperation = derivedInterface.createOwnedOperation(name, null, null); + } + + if(hasOutParameters(operation)) { + String pollName = name + "Poll"; //$NON-NLS-1$ + Operation derivedPollOperation = derivedInterface.getOperation(pollName, null, null); + if(derivedPollOperation == null) { + derivedPollOperation = derivedInterface.createOwnedOperation(pollName, null, null); + } + + // each non-in parameter is in the poll operation. + derivedPollOperation.createOwnedParameter("timeout", null); //$NON-NLS-1$ + + for(Parameter parameter : operation.getOwnedParameters()) { + if(parameter.getDirection() != ParameterDirectionKind.IN_LITERAL) { + + String paramName = parameter.getName(); + Type paramType = parameter.getType(); + if(derivedPollOperation.getOwnedParameter(paramName, paramType) == null) { + Parameter newParameter = + derivedPollOperation.createOwnedParameter(parameter.getName(), parameter.getType()); + newParameter.setDirection(parameter.getDirection()); + newParameter.setLower(parameter.getLower()); + newParameter.setUpper(parameter.getUpper()); + } + } + } + } + // each in and inout parameter is in the request operation. + for(Parameter parameter : operation.getOwnedParameters()) { + if((parameter.getDirection() == ParameterDirectionKind.IN_LITERAL) || + (parameter.getDirection() == ParameterDirectionKind.INOUT_LITERAL)) { + + String paramName = parameter.getName(); + Type paramType = parameter.getType(); + if(derivedOperation.getOwnedParameter(paramName, paramType) == null) { + Parameter newParameter = + derivedOperation.createOwnedParameter(parameter.getName(), parameter.getType()); + newParameter.setDirection(parameter.getDirection()); + newParameter.setLower(parameter.getLower()); + newParameter.setUpper(parameter.getUpper()); + } + } + } + // remove those parameters that exist in derived, but not original interface. + Iterator<Parameter> derivedParameters = derivedOperation.getOwnedParameters().iterator(); + while(derivedParameters.hasNext()) { + Parameter parameter = derivedParameters.next(); + String paramName = parameter.getName(); + Type paramType = parameter.getType(); + if((!paramName.equals("timeout")) && //$NON-NLS-1$ + (operation.getOwnedParameter(paramName, paramType) == null)) { + // not on in original interface, remove from derived as well + derivedParameters.remove(); + } + } + } + + // check whether operations in derived interface exist in original interface + // (remove, if not) + Iterator<Operation> derivedOperations = derivedInterface.getOwnedOperations().iterator(); + while(derivedOperations.hasNext()) { + Operation derivedOperation = derivedOperations.next(); + String name = derivedOperation.getName(); + if(name == null) { + continue; + } + if(name.endsWith("Poll")) { //$NON-NLS-1$ + // remove Poll postfix + name = name.substring(0, name.length() - 4); + } + if(typingInterface.getOperation(name, null, null) == null) { + // not in typing interface, remove + derivedOperations.remove(); + } + } + + return derivedInterface; + } + + public static boolean hasOutParameters(Operation operation) { + for(Parameter parameter : operation.getOwnedParameters()) { + if(parameter.getDirection() != ParameterDirectionKind.IN_LITERAL) { + return true; + } + } + return false; + } + + public boolean needsUpdate(Port p) { + // TODO: insufficient condition + return (getRequired(p, false) == null); + } +} diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/mappingrules/PullConsumer.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/mappingrules/PullConsumer.java index df6d02d5e56..0010236de70 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/mappingrules/PullConsumer.java +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/src/org/eclipse/papyrus/qompass/modellibs/core/mappingrules/PullConsumer.java @@ -93,7 +93,7 @@ public class PullConsumer implements IMappingRule { Element owner = umlPort.getOwner(); String ownerStr = ""; //$NON-NLS-1$ if(owner instanceof NamedElement) { - ownerStr = " of class " + ((NamedElement)owner).getQualifiedName(); + ownerStr = " of class " + ((NamedElement)owner).getQualifiedName(); //$NON-NLS-1$ } Log.log(Status.INFO, Log.CALC_PORTKIND, p.getKind().getBase_Class().getName() + " => GetRequired on " + umlPort.getName() + ownerStr); diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/tmpModel/ClientServerTimerTmp.uml b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/tmpModel/ClientServerTimerTmp.uml deleted file mode 100644 index dff0d18210d..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/tmpModel/ClientServerTimerTmp.uml +++ /dev/null @@ -1,290 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<xmi:XMI xmi:version="20110701" xmlns:xmi="http://www.omg.org/spec/XMI/20110701" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Alloc="http://www.eclipse.org/papyrus/Alloc/1" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/Alloc/1 http://www.eclipse.org/papyrus/MARTE/1#//Alloc"> - <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="ClientServerTimer"> - <packageImport xmi:id="_Z4LvQBqvEeOvgeTpolSdGg"> - <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/> - </packageImport> - <packageImport xmi:id="_Z4MWUBqvEeOvgeTpolSdGg"> - <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/core.uml#_O6TiIDLUEd26WNosUASSSw"/> - </packageImport> - <packageImport xmi:id="_Z4M9YBqvEeOvgeTpolSdGg"> - <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/corba.uml#_DtQEwDLdEd2_U4efLnjQIw"/> - </packageImport> - <packagedElement xmi:type="uml:Package" xmi:id="_Z4NkcBqvEeOvgeTpolSdGg" name="globalenums"/> - <packagedElement xmi:type="uml:Package" xmi:id="_Z4TEABqvEeOvgeTpolSdGg" name="deployment"> - <packagedElement xmi:type="uml:Package" xmi:id="_Z4TEARqvEeOvgeTpolSdGg" name="linux"> - <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_Z4TrEBqvEeOvgeTpolSdGg" clientDependency="_aD2zwBqvEeOvgeTpolSdGg" name="mySystem" classifier="_bYJagDLiEd2RVeNawwNNzg"> - <slot xmi:id="_aEGEUBqvEeOvgeTpolSdGg" definingFeature="_gV1cgDLiEd2RVeNawwNNzg"> - <value xmi:type="uml:InstanceValue" xmi:id="_aEGEURqvEeOvgeTpolSdGg" instance="_aEBL0BqvEeOvgeTpolSdGg"/> - </slot> - <slot xmi:id="_aEHScBqvEeOvgeTpolSdGg" definingFeature="_i-I7gDLiEd2RVeNawwNNzg"> - <value xmi:type="uml:InstanceValue" xmi:id="_aEH5gBqvEeOvgeTpolSdGg" instance="_aEGrYBqvEeOvgeTpolSdGg"/> - </slot> - <slot xmi:id="_aEOnMBqvEeOvgeTpolSdGg" definingFeature="_lKtZUCjYEeGFbebITJYb9g"> - <value xmi:type="uml:InstanceValue" xmi:id="_aEOnMRqvEeOvgeTpolSdGg" instance="_aEH5gRqvEeOvgeTpolSdGg"/> - </slot> - </packagedElement> - <packagedElement xmi:type="uml:Abstraction" xmi:id="_aD2zwBqvEeOvgeTpolSdGg" name="allocate mySystem to linux" client="_Z4TrEBqvEeOvgeTpolSdGg" supplier="_6EgaIDa3EeGBl4WmUxMhOA"/> - <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_aEBL0BqvEeOvgeTpolSdGg" name="mySystem.server" classifier="_oqZNUDLaEd2qeKRLMdIx_A"/> - <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_aEGrYBqvEeOvgeTpolSdGg" name="mySystem.client" classifier="_IfjoETLbEd2qeKRLMdIx_A"/> - <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_aEH5gRqvEeOvgeTpolSdGg" name="mySystem.timer"> - <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_-X6zMCjZEeGFbebITJYb9g"/> - <slot xmi:id="_aEK80hqvEeOvgeTpolSdGg"> - <definingFeature xmi:type="uml:Property" href="pathmap://QML_CORE/core.uml#_ARs_UCjaEeGFbebITJYb9g"/> - <value xmi:type="uml:InstanceValue" xmi:id="_aELj4BqvEeOvgeTpolSdGg" instance="_aEJHoBqvEeOvgeTpolSdGg"/> - </slot> - <slot xmi:id="_aEOAIBqvEeOvgeTpolSdGg"> - <definingFeature xmi:type="uml:Property" href="pathmap://QML_CORE/core.uml#_RMqEkCjaEeGFbebITJYb9g"/> - <value xmi:type="uml:InstanceValue" xmi:id="_aEOAIRqvEeOvgeTpolSdGg" instance="_aEMK8BqvEeOvgeTpolSdGg"/> - </slot> - </packagedElement> - <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_aEJHoBqvEeOvgeTpolSdGg" name="mySystem.timer.timer"> - <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_9V8OQCjYEeGFbebITJYb9g"/> - <slot xmi:id="_aEK80BqvEeOvgeTpolSdGg"> - <definingFeature xmi:type="uml:Property" href="pathmap://QML_CORE/core.uml#_tmNeoCjbEeGFbebITJYb9g"/> - <value xmi:type="uml:LiteralInteger" xmi:id="_aEK80RqvEeOvgeTpolSdGg" name="value for periodLength" value="250"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> - </value> - </slot> - </packagedElement> - <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_aEMK8BqvEeOvgeTpolSdGg" name="mySystem.timer.thread"> - <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_SiY_AP-EEd6628OhKk_dpg"/> - </packagedElement> - </packagedElement> - </packagedElement> - <packagedElement xmi:type="uml:Package" xmi:id="_Z4USIBqvEeOvgeTpolSdGg" name="ComponentModel"> - <packagedElement xmi:type="uml:Package" xmi:id="_Z4USIRqvEeOvgeTpolSdGg" name="System"> - <packagedElement xmi:type="uml:Class" xmi:id="_bYJagDLiEd2RVeNawwNNzg" name="System_impl"> - <ownedAttribute xmi:id="_gV1cgDLiEd2RVeNawwNNzg" name="server" type="_oqZNUDLaEd2qeKRLMdIx_A" isUnique="false" aggregation="composite"/> - <ownedAttribute xmi:id="_i-I7gDLiEd2RVeNawwNNzg" name="client" visibility="public" type="_IfjoETLbEd2qeKRLMdIx_A" isUnique="false" aggregation="composite"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_d5JgYFl6EeKFQZ_XV_Kn6g" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_d5KugFl6EeKFQZ_XV_Kn6g" value="1"/> - <defaultValue xmi:type="uml:LiteralString" xmi:id="_d5MjsFl6EeKFQZ_XV_Kn6g"> - <value xsi:nil="true"/> - </defaultValue> - </ownedAttribute> - <ownedAttribute xmi:id="_lKtZUCjYEeGFbebITJYb9g" name="timer" visibility="public" aggregation="composite"> - <type xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_-X6zMCjZEeGFbebITJYb9g"/> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ofEtECjYEeGFbebITJYb9g" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ofGiQCjYEeGFbebITJYb9g" value="1"/> - <defaultValue xmi:type="uml:LiteralString" xmi:id="_ofI-gCjYEeGFbebITJYb9g"> - <value xsi:nil="true"/> - </defaultValue> - </ownedAttribute> - <ownedConnector xmi:id="_fXbtMACUEd-PD8FdFs7bpA" name="qpconnector"> - <end xmi:id="_fYI30ACUEd-PD8FdFs7bpA" partWithPort="_i-I7gDLiEd2RVeNawwNNzg" role="_DtWn4DLcEd2qeKRLMdIx_A"/> - <end xmi:id="_fYLUEACUEd-PD8FdFs7bpA" partWithPort="_gV1cgDLiEd2RVeNawwNNzg" role="_4KiE8DLbEd2qeKRLMdIx_A"/> - </ownedConnector> - <ownedConnector xmi:id="_s0Ev4CkDEeGDDbdzqSb4UA" name="Connector1"> - <end xmi:id="_s0FW8CkDEeGDDbdzqSb4UA" partWithPort="_lKtZUCjYEeGFbebITJYb9g"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_s0FW8ikDEeGDDbdzqSb4UA" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_s0FW8SkDEeGDDbdzqSb4UA" value="1"/> - <role xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_3NSGwCkAEeGDDbdzqSb4UA"/> - </end> - <end xmi:id="_s0FW8ykDEeGDDbdzqSb4UA" partWithPort="_i-I7gDLiEd2RVeNawwNNzg" role="_U50WMCkDEeGDDbdzqSb4UA"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_s0FW9SkDEeGDDbdzqSb4UA" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_s0FW9CkDEeGDDbdzqSb4UA" value="1"/> - </end> - </ownedConnector> - </packagedElement> - </packagedElement> - <packagedElement xmi:type="uml:Package" xmi:id="_Z4WuYBqvEeOvgeTpolSdGg" name="Server"> - <packagedElement xmi:type="uml:Class" xmi:id="_oqZNUDLaEd2qeKRLMdIx_A" clientDependency="_YQqH0JYlEd6G9q9hwr11bw" name="CServer_impl"> - <ownedAttribute xmi:type="uml:Port" xmi:id="_4KiE8DLbEd2qeKRLMdIx_A" name="p" type="_cn-H0DLbEd2qeKRLMdIx_A" aggregation="composite"/> - <interfaceRealization xmi:id="_YQqH0JYlEd6G9q9hwr11bw" name="derived realization of ICompute" client="_oqZNUDLaEd2qeKRLMdIx_A" supplier="_cn-H0DLbEd2qeKRLMdIx_A" contract="_cn-H0DLbEd2qeKRLMdIx_A"/> - <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_ML-4AKI5Ed6FqJCjEUrkqQ" name="add" specification="_TbIjUJYlEd6G9q9hwr11bw"> - <language>C/C++</language> - <body>cout << "server: got add request for a=" << a << " and b=" << b << endl; -return a+b;</body> - </ownedBehavior> - <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_I1R3YAcDEeGnrLqQ0OQeAg" name="mult" specification="_4ZEZwHecEd6r18stFZxmFQ"> - <language>C/C++</language> - <body>cout << "server: got mult request for a=" << a << " and b=" << b << endl; -return a*b;</body> - </ownedBehavior> - <ownedOperation xmi:id="_TbIjUJYlEd6G9q9hwr11bw" name="add" method="_ML-4AKI5Ed6FqJCjEUrkqQ"> - <ownedParameter xmi:id="_TbZCAJYlEd6G9q9hwr11bw" name="a"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> - </ownedParameter> - <ownedParameter xmi:id="_TbdTcJYlEd6G9q9hwr11bw" name="b"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> - </ownedParameter> - <ownedParameter xmi:id="_TbkoMJYlEd6G9q9hwr11bw" name="res" direction="return"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> - </ownedParameter> - </ownedOperation> - <ownedOperation xmi:id="_4ZEZwHecEd6r18stFZxmFQ" name="mult" method="_I1R3YAcDEeGnrLqQ0OQeAg"> - <ownedParameter xmi:id="_4ZEZwXecEd6r18stFZxmFQ" name="a"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> - </ownedParameter> - <ownedParameter xmi:id="_4ZEZwnecEd6r18stFZxmFQ" name="b"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> - </ownedParameter> - <ownedParameter xmi:id="_4ZEZw3ecEd6r18stFZxmFQ" name="res" direction="return"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> - </ownedParameter> - </ownedOperation> - </packagedElement> - </packagedElement> - <packagedElement xmi:type="uml:Package" xmi:id="_Z4_nkBqvEeOvgeTpolSdGg" name="Interfaces"> - <packagedElement xmi:type="uml:Interface" xmi:id="_cn-H0DLbEd2qeKRLMdIx_A" name="ICompute"> - <ownedOperation xmi:id="_DGs6wDLgEd28fJKJJnUaeQ" name="add" isAbstract="true"> - <ownedParameter xmi:id="_DGs6wTLgEd28fJKJJnUaeQ" name="a"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6wzLgEd28fJKJJnUaeQ" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6wjLgEd28fJKJJnUaeQ" value="1"/> - <defaultValue xmi:type="uml:LiteralString" xmi:id="_DGs6xDLgEd28fJKJJnUaeQ"> - <value xsi:nil="true"/> - </defaultValue> - </ownedParameter> - <ownedParameter xmi:id="_DGs6xTLgEd28fJKJJnUaeQ" name="b"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6xzLgEd28fJKJJnUaeQ" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6xjLgEd28fJKJJnUaeQ" value="1"/> - <defaultValue xmi:type="uml:LiteralString" xmi:id="_DGs6yDLgEd28fJKJJnUaeQ"> - <value xsi:nil="true"/> - </defaultValue> - </ownedParameter> - <ownedParameter xmi:id="_DGs6yTLgEd28fJKJJnUaeQ" name="res" direction="return"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6yzLgEd28fJKJJnUaeQ" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6yjLgEd28fJKJJnUaeQ" value="1"/> - <defaultValue xmi:type="uml:LiteralString" xmi:id="_DGs6zDLgEd28fJKJJnUaeQ"> - <value xsi:nil="true"/> - </defaultValue> - </ownedParameter> - </ownedOperation> - <ownedOperation xmi:id="_L8EY8DLgEd28fJKJJnUaeQ" name="mult" isAbstract="true"> - <ownedParameter xmi:id="_L8EY8TLgEd28fJKJJnUaeQ" name="a"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY8zLgEd28fJKJJnUaeQ" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY8jLgEd28fJKJJnUaeQ" value="1"/> - <defaultValue xmi:type="uml:LiteralString" xmi:id="_L8EY9DLgEd28fJKJJnUaeQ"> - <value xsi:nil="true"/> - </defaultValue> - </ownedParameter> - <ownedParameter xmi:id="_L8EY9TLgEd28fJKJJnUaeQ" name="b"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY9zLgEd28fJKJJnUaeQ" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY9jLgEd28fJKJJnUaeQ" value="1"/> - <defaultValue xmi:type="uml:LiteralString" xmi:id="_L8EY-DLgEd28fJKJJnUaeQ"> - <value xsi:nil="true"/> - </defaultValue> - </ownedParameter> - <ownedParameter xmi:id="_L8EY-TLgEd28fJKJJnUaeQ" name="res" direction="return"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY-zLgEd28fJKJJnUaeQ" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY-jLgEd28fJKJJnUaeQ" value="1"/> - <defaultValue xmi:type="uml:LiteralString" xmi:id="_L8EY_DLgEd28fJKJJnUaeQ"> - <value xsi:nil="true"/> - </defaultValue> - </ownedParameter> - </ownedOperation> - </packagedElement> - </packagedElement> - <packagedElement xmi:type="uml:Package" xmi:id="_Z-a6IBqvEeOvgeTpolSdGg" name="Client"> - <packagedElement xmi:type="uml:Class" xmi:id="_IfjoETLbEd2qeKRLMdIx_A" clientDependency="_vdcwkKDcEd-t8JNe-ruCrQ _qfhbMCozEeGxrprK9wB9iA" name="CClient_impl"> - <generalization xmi:id="_34FjAPx3Ed6O2oOTPfeAMA"> - <general xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/> - </generalization> - <ownedAttribute xmi:type="uml:Port" xmi:id="_DtWn4DLcEd2qeKRLMdIx_A" name="q" type="_cn-H0DLbEd2qeKRLMdIx_A" aggregation="composite"/> - <ownedAttribute xmi:type="uml:Port" xmi:id="_U50WMCkDEeGDDbdzqSb4UA" name="tick" aggregation="composite"> - <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_Xb-y0AweEd6it_RkGhz_AA"/> - </ownedAttribute> - <interfaceRealization xmi:id="_vdcwkKDcEd-t8JNe-ruCrQ" name="derived realization of IStart" client="_IfjoETLbEd2qeKRLMdIx_A"> - <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/> - <contract href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/> - </interfaceRealization> - <interfaceRealization xmi:id="_qfhbMCozEeGxrprK9wB9iA" name="derived realization of ITick" client="_IfjoETLbEd2qeKRLMdIx_A"> - <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_Xb-y0AweEd6it_RkGhz_AA"/> - <contract href="pathmap://QML_CORE/sysinterfaces.uml#_Xb-y0AweEd6it_RkGhz_AA"/> - </interfaceRealization> - <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_yXNVoKF4Ed6FqJCjEUrkqQ" name="run" specification="_4CRrYHpbEd-X4Z9aZ0cpCQ"> - <language>C/C++</language> - <body>cout << "call via port q: add(2, 3);" << endl; -cout << "result: " << q->add(2, 3) << endl; -cout << "now sleeping 10 seconds" << endl; -sleep(10); -cout << "finishing CClient_impl::run" << endl;</body> - </ownedBehavior> - <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_w5uegCozEeGxrprK9wB9iA" name="tick" specification="_qf6cwCozEeGxrprK9wB9iA"> - <language>C/C++</language> - <body>cout << "call via port tick: mult(4, 5);" << endl; -cout << "result: " << q->mult(4, 5) << endl;</body> - </ownedBehavior> - <ownedOperation xmi:id="_4CRrYHpbEd-X4Z9aZ0cpCQ" name="run" method="_yXNVoKF4Ed6FqJCjEUrkqQ"/> - <ownedOperation xmi:id="_qf6cwCozEeGxrprK9wB9iA" name="tick" method="_w5uegCozEeGxrprK9wB9iA"/> - </packagedElement> - </packagedElement> - </packagedElement> - <packagedElement xmi:type="uml:Package" xmi:id="_aDg1gBqvEeOvgeTpolSdGg" name="PlatformModel"> - <packagedElement xmi:type="uml:Package" xmi:id="_aDg1gRqvEeOvgeTpolSdGg" name="HWArchitectureLinuxPlatform"> - <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_6EgaIDa3EeGBl4WmUxMhOA" name="linux" classifier="_zY9vMDLiEd2RVeNawwNNzg"/> - </packagedElement> - <packagedElement xmi:type="uml:Node" xmi:id="_zY9vMDLiEd2RVeNawwNNzg" name="LinuxHost"/> - </packagedElement> - <profileApplication xmi:id="_Zyy48BqvEeOvgeTpolSdGg"> - <eAnnotations xmi:id="_Zyy48RqvEeOvgeTpolSdGg" source="http://www.eclipse.org/uml2/2.0.0/UML"> - <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#/"/> - </eAnnotations> - <appliedProfile href="pathmap://UML_PROFILES/StandardL2.profile.uml#_0"/> - </profileApplication> - <profileApplication xmi:id="_ZzDXoBqvEeOvgeTpolSdGg"> - <eAnnotations xmi:id="_ZzDXoRqvEeOvgeTpolSdGg" source="http://www.eclipse.org/uml2/2.0.0/UML"> - <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> - </eAnnotations> - <appliedProfile href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/> - </profileApplication> - <profileApplication xmi:id="_ZzakABqvEeOvgeTpolSdGg"> - <eAnnotations xmi:id="_ZzakARqvEeOvgeTpolSdGg" source="http://www.eclipse.org/uml2/2.0.0/UML"> - <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/> - </eAnnotations> - <appliedProfile href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/> - </profileApplication> - <profileApplication xmi:id="_Z4Hd0BqvEeOvgeTpolSdGg"> - <eAnnotations xmi:id="_Z4Hd0RqvEeOvgeTpolSdGg" source="http://www.eclipse.org/uml2/2.0.0/UML"> - <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc"/> - </eAnnotations> - <appliedProfile href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ar8OsAPMEdyuUt-4qHuVvQ"/> - </profileApplication> - <profileApplication xmi:id="_Z4JTABqvEeOvgeTpolSdGg"> - <eAnnotations xmi:id="_Z4JTARqvEeOvgeTpolSdGg" source="http://www.eclipse.org/uml2/2.0.0/UML"> - <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//HLAM"/> - </eAnnotations> - <appliedProfile href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_yNSZIAPMEdyuUt-4qHuVvQ"/> - </profileApplication> - <profileApplication xmi:id="_Z4LIMBqvEeOvgeTpolSdGg"> - <eAnnotations xmi:id="_Z4LIMRqvEeOvgeTpolSdGg" source="http://www.eclipse.org/uml2/2.0.0/UML"> - <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//GCM"/> - </eAnnotations> - <appliedProfile href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_YgAioAPMEdyuUt-4qHuVvQ"/> - </profileApplication> - </uml:Model> - <FCM:RuleApplication xmi:id="_Z4q3cBqvEeOvgeTpolSdGg" base_Class="_oqZNUDLaEd2qeKRLMdIx_A"> - <containerRule href="pathmap://QML_TRACE/tracing.uml#_ISo6gLdwEd-CtfrGQre34Q"/> - </FCM:RuleApplication> - <C_Cpp:Include xmi:id="_Z4454BqvEeOvgeTpolSdGg" body="#include <iostream>
using namespace std;" base_class="_oqZNUDLaEd2qeKRLMdIx_A"/> - <FCM:Port xmi:id="_Z54_cBqvEeOvgeTpolSdGg" base_Port="_4KiE8DLbEd2qeKRLMdIx_A"> - <kind href="pathmap://QML_CORE/core.uml#_wySlkFRxEd6GqrP6fkWBoQ"/> - </FCM:Port> - <FCM:DerivedElement xmi:id="_Z666MBqvEeOvgeTpolSdGg" base_Element="_TbIjUJYlEd6G9q9hwr11bw" source="_DGs6wDLgEd28fJKJJnUaeQ"/> - <FCM:DerivedElement xmi:id="_Z8-vsBqvEeOvgeTpolSdGg" base_Element="_4ZEZwHecEd6r18stFZxmFQ" source="_L8EY8DLgEd28fJKJJnUaeQ"/> - <C_Cpp:Include xmi:id="_Z-sm8BqvEeOvgeTpolSdGg" body="#include <iostream>
using namespace std;

#include <unistd.h>" base_class="_IfjoETLbEd2qeKRLMdIx_A"/> - <FCM:Port xmi:id="_Z_4SsBqvEeOvgeTpolSdGg" base_Port="_DtWn4DLcEd2qeKRLMdIx_A"> - <kind href="pathmap://QML_CORE/core.uml#_9Fif4FRxEd6GqrP6fkWBoQ"/> - </FCM:Port> - <FCM:Port xmi:id="_aAaeMBqvEeOvgeTpolSdGg" base_Port="_U50WMCkDEeGDDbdzqSb4UA"> - <kind href="pathmap://QML_CORE/core.uml#_wySlkFRxEd6GqrP6fkWBoQ"/> - </FCM:Port> - <FCM:DerivedElement xmi:id="_aBhRcBqvEeOvgeTpolSdGg" base_Element="_4CRrYHpbEd-X4Z9aZ0cpCQ"> - <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/> - </FCM:DerivedElement> - <FCM:DerivedElement xmi:id="_aCL_0BqvEeOvgeTpolSdGg" base_Element="_qf6cwCozEeGxrprK9wB9iA"> - <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_asFRoAweEd6it_RkGhz_AA"/> - </FCM:DerivedElement> - <FCM:Target xmi:id="_aDr0oBqvEeOvgeTpolSdGg" base_Node="_zY9vMDLiEd2RVeNawwNNzg"> - <targetArch href="pathmap://QML_CORE/core.uml#_FYOqwF0OEd-12d_h0i1xhQ"/> - <usedOS href="pathmap://QML_CORE/core.uml#_1eULwF0NEd-12d_h0i1xhQ"/> - </FCM:Target> - <Alloc:Allocate xmi:id="_aD_WoBqvEeOvgeTpolSdGg" base_Abstraction="_aD2zwBqvEeOvgeTpolSdGg"/> -</xmi:XMI> diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/tmpModel/HelloWorldTmp.uml b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/tmpModel/HelloWorldTmp.uml deleted file mode 100644 index 86722ad1091..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/tmpModel/HelloWorldTmp.uml +++ /dev/null @@ -1,120 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<xmi:XMI xmi:version="20110701" xmlns:xmi="http://www.omg.org/spec/XMI/20110701" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Alloc="http://www.eclipse.org/papyrus/Alloc/1" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/Alloc/1 http://www.eclipse.org/papyrus/MARTE/1#//Alloc"> - <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="HelloWorld"> - <packageImport xmi:id="_qjz7QhsAEeOvgeTpolSdGg"> - <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/> - </packageImport> - <packageImport xmi:id="_qjz7QxsAEeOvgeTpolSdGg"> - <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/core.uml#_O6TiIDLUEd26WNosUASSSw"/> - </packageImport> - <packageImport xmi:id="_qjz7RBsAEeOvgeTpolSdGg"> - <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/corba.uml#_DtQEwDLdEd2_U4efLnjQIw"/> - </packageImport> - <packagedElement xmi:type="uml:Package" xmi:id="_qj0iUBsAEeOvgeTpolSdGg" name="globalenums"/> - <packagedElement xmi:type="uml:Package" xmi:id="_qj0iURsAEeOvgeTpolSdGg" name="deployment"> - <packagedElement xmi:type="uml:Package" xmi:id="_qj0iUhsAEeOvgeTpolSdGg" name="SystemDepPlan"> - <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_qj0iUxsAEeOvgeTpolSdGg" clientDependency="_qka_QBsAEeOvgeTpolSdGg" name="mainInstance" classifier="_bYJagDLiEd2RVeNawwNNzg"> - <slot xmi:id="_qkhF4BsAEeOvgeTpolSdGg" definingFeature="_gV1cgDLiEd2RVeNawwNNzg"> - <value xmi:type="uml:InstanceValue" xmi:id="_qkhF4RsAEeOvgeTpolSdGg" instance="_qkeCkBsAEeOvgeTpolSdGg"/> - </slot> - </packagedElement> - <packagedElement xmi:type="uml:Abstraction" xmi:id="_qka_QBsAEeOvgeTpolSdGg" name="allocate mainInstance to monoNode" client="_qj0iUxsAEeOvgeTpolSdGg" supplier="_GQ1ekKwHEeCQX8uv_p0Q4A"/> - <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_qkeCkBsAEeOvgeTpolSdGg" name="mainInstance.hello" classifier="_tyiqsc__Ed-TP80eVS-2Rg"> - <slot xmi:id="_qkge0BsAEeOvgeTpolSdGg" definingFeature="_8pupUFTzEeKvFeqt5Q_lqw"> - <value xmi:type="uml:LiteralString" xmi:id="_qkge0RsAEeOvgeTpolSdGg" name="value for message" value=""Test message""> - <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/> - </value> - </slot> - </packagedElement> - </packagedElement> - </packagedElement> - <packagedElement xmi:type="uml:Package" xmi:id="_qj1JYBsAEeOvgeTpolSdGg" name="components"> - <packagedElement xmi:type="uml:Class" xmi:id="_bYJagDLiEd2RVeNawwNNzg" name="System"> - <ownedAttribute xmi:id="_gV1cgDLiEd2RVeNawwNNzg" name="hello" visibility="public" type="_tyiqsc__Ed-TP80eVS-2Rg" isUnique="false" aggregation="composite"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dCT24G6JEeGqWMX2LwdLDw" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dCUd8G6JEeGqWMX2LwdLDw" value="1"/> - <defaultValue xmi:type="uml:LiteralString" xmi:id="_dCWTIG6JEeGqWMX2LwdLDw"> - <value xsi:nil="true"/> - </defaultValue> - </ownedAttribute> - </packagedElement> - <packagedElement xmi:type="uml:Class" xmi:id="_tyiqsc__Ed-TP80eVS-2Rg" clientDependency="_Us15gFTzEeKvFeqt5Q_lqw" name="HelloWorld"> - <generalization xmi:id="_tyiqss__Ed-TP80eVS-2Rg"> - <general xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/> - </generalization> - <ownedAttribute xmi:id="_8pupUFTzEeKvFeqt5Q_lqw" name="message" visibility="public" aggregation="composite"> - <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__HwK8FTzEeKvFeqt5Q_lqw" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__HwyAFTzEeKvFeqt5Q_lqw" value="1"/> - <defaultValue xmi:type="uml:LiteralString" xmi:id="__HynMFTzEeKvFeqt5Q_lqw"> - <value xsi:nil="true"/> - </defaultValue> - </ownedAttribute> - <interfaceRealization xmi:id="_Us15gFTzEeKvFeqt5Q_lqw" name="derived realization of IStart" client="_tyiqsc__Ed-TP80eVS-2Rg"> - <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/> - <contract href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/> - </interfaceRealization> - <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_tyjRwc__Ed-TP80eVS-2Rg" name="run" specification="_UtCt0FTzEeKvFeqt5Q_lqw"> - <language>C/C++</language> - <body>cout << "Hello world: " << message << endl;</body> - </ownedBehavior> - <ownedOperation xmi:id="_UtCt0FTzEeKvFeqt5Q_lqw" name="run" method="_tyjRwc__Ed-TP80eVS-2Rg"/> - </packagedElement> - </packagedElement> - <packagedElement xmi:type="uml:Package" xmi:id="_qkVfsBsAEeOvgeTpolSdGg" name="platform"> - <packagedElement xmi:type="uml:Package" xmi:id="_qkVfsRsAEeOvgeTpolSdGg" name="HWArchitecturePlatform"> - <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_GQ1ekKwHEeCQX8uv_p0Q4A" name="monoNode" classifier="_zY9vMDLiEd2RVeNawwNNzg"/> - </packagedElement> - <packagedElement xmi:type="uml:Node" xmi:id="_zY9vMDLiEd2RVeNawwNNzg" name="MonoNode"/> - </packagedElement> - <profileApplication xmi:id="_qjyGEBsAEeOvgeTpolSdGg"> - <eAnnotations xmi:id="_qjyGERsAEeOvgeTpolSdGg" source="http://www.eclipse.org/uml2/2.0.0/UML"> - <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#/"/> - </eAnnotations> - <appliedProfile href="pathmap://UML_PROFILES/StandardL2.profile.uml#_0"/> - </profileApplication> - <profileApplication xmi:id="_qjytIBsAEeOvgeTpolSdGg"> - <eAnnotations xmi:id="_qjytIRsAEeOvgeTpolSdGg" source="http://www.eclipse.org/uml2/2.0.0/UML"> - <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> - </eAnnotations> - <appliedProfile href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/> - </profileApplication> - <profileApplication xmi:id="_qjytIhsAEeOvgeTpolSdGg"> - <eAnnotations xmi:id="_qjytIxsAEeOvgeTpolSdGg" source="http://www.eclipse.org/uml2/2.0.0/UML"> - <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/> - </eAnnotations> - <appliedProfile href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/> - </profileApplication> - <profileApplication xmi:id="_qjzUMBsAEeOvgeTpolSdGg"> - <eAnnotations xmi:id="_qjzUMRsAEeOvgeTpolSdGg" source="http://www.eclipse.org/uml2/2.0.0/UML"> - <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//GCM"/> - </eAnnotations> - <appliedProfile href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_YgAioAPMEdyuUt-4qHuVvQ"/> - </profileApplication> - <profileApplication xmi:id="_qjzUMhsAEeOvgeTpolSdGg"> - <eAnnotations xmi:id="_qjzUMxsAEeOvgeTpolSdGg" source="http://www.eclipse.org/uml2/2.0.0/UML"> - <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//HLAM"/> - </eAnnotations> - <appliedProfile href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_yNSZIAPMEdyuUt-4qHuVvQ"/> - </profileApplication> - <profileApplication xmi:id="_qjz7QBsAEeOvgeTpolSdGg"> - <eAnnotations xmi:id="_qjz7QRsAEeOvgeTpolSdGg" source="http://www.eclipse.org/uml2/2.0.0/UML"> - <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc"/> - </eAnnotations> - <appliedProfile href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ar8OsAPMEdyuUt-4qHuVvQ"/> - </profileApplication> - </uml:Model> - <FCM:CodeGenOptions xmi:id="_qj3loBsAEeOvgeTpolSdGg" base_Package="_qj1JYBsAEeOvgeTpolSdGg"> - <progLanguage href="pathmap://QML_CORE/core.uml#_5WrSINzEEeKPWMO32vUmzw"/> - </FCM:CodeGenOptions> - <C_Cpp:Include xmi:id="_qj73EBsAEeOvgeTpolSdGg" body="#include <iostream>
using namespace std;" base_class="_tyiqsc__Ed-TP80eVS-2Rg"/> - <FCM:ConfigurationProperty xmi:id="_qkEZ8BsAEeOvgeTpolSdGg" base_Property="_8pupUFTzEeKvFeqt5Q_lqw"/> - <FCM:DerivedElement xmi:id="_qkQnMBsAEeOvgeTpolSdGg" base_Element="_UtCt0FTzEeKvFeqt5Q_lqw"> - <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/> - </FCM:DerivedElement> - <FCM:Target xmi:id="_qkYjABsAEeOvgeTpolSdGg" base_Node="_zY9vMDLiEd2RVeNawwNNzg"> - <targetArch href="pathmap://QML_CORE/core.uml#_FYOqwF0OEd-12d_h0i1xhQ"/> - <usedOS href="pathmap://QML_CORE/core.uml#_1eULwF0NEd-12d_h0i1xhQ"/> - </FCM:Target> - <Alloc:Allocate xmi:id="_qkdbgBsAEeOvgeTpolSdGg" base_Abstraction="_qka_QBsAEeOvgeTpolSdGg"/> -</xmi:XMI> diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/tmpModel/ProducerConsumerTmp.di b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/tmpModel/ProducerConsumerTmp.di deleted file mode 100644 index ae313072c4f..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/tmpModel/ProducerConsumerTmp.di +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<di:SashWindowsMngr xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.eclipse.org/papyrus/0.7.0/sashdi"> - <pageList/> - <sashModel currentSelection="//@sashModel/@windows.0/@children.0"> - <windows> - <children xsi:type="di:TabFolder"/> - </windows> - </sashModel> -</di:SashWindowsMngr> diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/tmpModel/ProducerConsumerTmp.notation b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/tmpModel/ProducerConsumerTmp.notation deleted file mode 100644 index bf9abab340f..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/tmpModel/ProducerConsumerTmp.notation +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/> diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/tmpModel/ProducerConsumerTmp.uml b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/tmpModel/ProducerConsumerTmp.uml deleted file mode 100644 index ad75c145709..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/tmpModel/ProducerConsumerTmp.uml +++ /dev/null @@ -1,466 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<xmi:XMI xmi:version="20110701" xmlns:xmi="http://www.omg.org/spec/XMI/20110701" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Alloc="http://www.eclipse.org/papyrus/Alloc/1" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:GCM="http://www.eclipse.org/papyrus/GCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/Alloc/1 http://www.eclipse.org/papyrus/MARTE/1#//Alloc http://www.eclipse.org/papyrus/GCM/1 http://www.eclipse.org/papyrus/MARTE/1#//GCM"> - <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="ProducerConsumer"> - <packageImport xmi:id="_LVb5cix0EeOWeqhsjwDAlw"> - <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/> - </packageImport> - <packageImport xmi:id="_LVb5cyx0EeOWeqhsjwDAlw"> - <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/core.uml#_O6TiIDLUEd26WNosUASSSw"/> - </packageImport> - <packageImport xmi:id="_LVb5dCx0EeOWeqhsjwDAlw"> - <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/corba.uml#_DtQEwDLdEd2_U4efLnjQIw"/> - </packageImport> - <packageImport xmi:id="_LVcggCx0EeOWeqhsjwDAlw"> - <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/fifo.uml#_ePwqkHLmEd6R5tffIPrlPg"/> - </packageImport> - <packagedElement xmi:type="uml:Package" xmi:id="_LVcggSx0EeOWeqhsjwDAlw" name="globalenums"/> - <packagedElement xmi:type="uml:Package" xmi:id="_LVdHkCx0EeOWeqhsjwDAlw" name="deployment"> - <packagedElement xmi:type="uml:Package" xmi:id="_LVdHkSx0EeOWeqhsjwDAlw" name="monoPull"> - <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_LVdHkix0EeOWeqhsjwDAlw" clientDependency="_LVuNUCx0EeOWeqhsjwDAlw" name="mainInstance" classifier="_bYJagDLiEd2RVeNawwNNzg"> - <slot xmi:id="_LV1iECx0EeOWeqhsjwDAlw" definingFeature="_gV1cgDLiEd2RVeNawwNNzg"> - <value xmi:type="uml:InstanceValue" xmi:id="_LV1iESx0EeOWeqhsjwDAlw" instance="_LV07ACx0EeOWeqhsjwDAlw"/> - </slot> - <slot xmi:id="_LV2JICx0EeOWeqhsjwDAlw" definingFeature="_i-I7gDLiEd2RVeNawwNNzg"> - <value xmi:type="uml:InstanceValue" xmi:id="_LV2JISx0EeOWeqhsjwDAlw" instance="_LV1iEix0EeOWeqhsjwDAlw"/> - </slot> - <slot xmi:id="_LV5zgix0EeOWeqhsjwDAlw" definingFeature="_ei8sYBSoEeOUifYpcO0mcw"> - <value xmi:type="uml:InstanceValue" xmi:id="_LV5zgyx0EeOWeqhsjwDAlw" instance="_LV4lYCx0EeOWeqhsjwDAlw"/> - </slot> - <slot xmi:id="_LYChgCx0EeOWeqhsjwDAlw" definingFeature="p_efVI0E2rEeGl8qrc8BM7vA"> - <value xmi:type="uml:InstanceValue" xmi:id="_LYChgSx0EeOWeqhsjwDAlw" instance="_LYBTYCx0EeOWeqhsjwDAlw"/> - </slot> - </packagedElement> - <packagedElement xmi:type="uml:Abstraction" xmi:id="_LVuNUCx0EeOWeqhsjwDAlw" name="allocate mainInstance to monoNode" client="_LVdHkix0EeOWeqhsjwDAlw" supplier="_GQ1ekKwHEeCQX8uv_p0Q4A"/> - <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_LV07ACx0EeOWeqhsjwDAlw" name="mainInstance.con" classifier="_tyiqsc__Ed-TP80eVS-2Rg"/> - <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_LV1iEix0EeOWeqhsjwDAlw" name="mainInstance.prod" classifier="_IfjoETLbEd2qeKRLMdIx_A"/> - <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_LV2wMCx0EeOWeqhsjwDAlw" name="mainInstance.main"> - <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_SiY_AP-EEd6628OhKk_dpg"/> - </packagedElement> - <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_LV4lYCx0EeOWeqhsjwDAlw" name="mainInstance.pullConThread"> - <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_SiY_AP-EEd6628OhKk_dpg"/> - <slot xmi:id="_LV5zgCx0EeOWeqhsjwDAlw"> - <definingFeature xmi:type="uml:Property" href="pathmap://QML_CORE/core.uml#_rVfYoMGJEd-Mveea1W_olA"/> - <value xmi:type="uml:LiteralInteger" xmi:id="_LV5zgSx0EeOWeqhsjwDAlw" name="value for priority" value="5"> - <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/> - </value> - </slot> - </packagedElement> - <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_LYBTYCx0EeOWeqhsjwDAlw" name="mainInstance.fifoconnector"> - <classifier xmi:type="uml:Class" href="/org.eclipse.papyrus.qompass.modellibs.core/tmpModel/ProducerConsumerTmp.uml#_Y1jF8HPpEd6R5tffIPrlPg"/> - <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/fifo.uml#_Y1jF8HPpEd6R5tffIPrlPg"/> - </packagedElement> - <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_zwUHQLF4EeC9yscvWqW-eg" name="mainInstance.fifoconnector"> - <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/fifo.uml#_Y1jF8HPpEd6R5tffIPrlPg"/> - <slot xmi:id="_zwUHQbF4EeC9yscvWqW-eg"> - <definingFeature xmi:type="uml:Property" href="pathmap://QML_CORE/fifo.uml#_XDRnoHUIEd6R5tffIPrlPg"/> - <value xmi:type="uml:LiteralInteger" xmi:id="_zwUuULF4EeC9yscvWqW-eg" name="value for m_size" value="30"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> - </value> - </slot> - </packagedElement> - </packagedElement> - </packagedElement> - <packagedElement xmi:type="uml:Package" xmi:id="_LVdHkyx0EeOWeqhsjwDAlw" name="components"> - <packagedElement xmi:type="uml:Package" xmi:id="_LVduoCx0EeOWeqhsjwDAlw" name="System"> - <packagedElement xmi:type="uml:Class" xmi:id="_bYJagDLiEd2RVeNawwNNzg" name="SystemPull_impl"> - <ownedAttribute xmi:id="_gV1cgDLiEd2RVeNawwNNzg" clientDependency="_9dY5YBSqEeOUifYpcO0mcw" name="con" visibility="public" type="_tyiqsc__Ed-TP80eVS-2Rg" isUnique="false" aggregation="composite"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dCT24G6JEeGqWMX2LwdLDw" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dCUd8G6JEeGqWMX2LwdLDw" value="1"/> - <defaultValue xmi:type="uml:LiteralString" xmi:id="_dCWTIG6JEeGqWMX2LwdLDw"> - <value xsi:nil="true"/> - </defaultValue> - </ownedAttribute> - <ownedAttribute xmi:id="_ei8sYBSoEeOUifYpcO0mcw" name="pullConThread" visibility="public" aggregation="composite"> - <type xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_SiY_AP-EEd6628OhKk_dpg"/> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mx3OkBSoEeOUifYpcO0mcw" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_myNz4BSoEeOUifYpcO0mcw" value="1"/> - <defaultValue xmi:type="uml:LiteralString" xmi:id="_mzF9oBSoEeOUifYpcO0mcw"> - <value xsi:nil="true"/> - </defaultValue> - </ownedAttribute> - <ownedAttribute xmi:id="_i-I7gDLiEd2RVeNawwNNzg" clientDependency="_--_2EBSqEeOUifYpcO0mcw" name="prod" visibility="public" type="_IfjoETLbEd2qeKRLMdIx_A" isUnique="false" aggregation="composite"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_esReUG6JEeGqWMX2LwdLDw" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_esSscG6JEeGqWMX2LwdLDw" value="1"/> - <defaultValue xmi:type="uml:LiteralString" xmi:id="_esUhoG6JEeGqWMX2LwdLDw"> - <value xsi:nil="true"/> - </defaultValue> - </ownedAttribute> - <ownedAttribute xmi:id="p_efVI0E2rEeGl8qrc8BM7vA" name="fifoconnector" type="_Y1jF8HPpEd6R5tffIPrlPg" aggregation="composite"/> - <ownedConnector xmi:id="_efVI0E2rEeGl8qrc8BM7vA0" name="c fifoconnector 0"> - <end xmi:id="_LX_eMix0EeOWeqhsjwDAlw" partWithPort="_i-I7gDLiEd2RVeNawwNNzg" role="_DtWn4DLcEd2qeKRLMdIx_A"/> - <end xmi:id="_LX_eMyx0EeOWeqhsjwDAlw" partWithPort="p_efVI0E2rEeGl8qrc8BM7vA" role="_xHb7MHLmEd6R5tffIPrlPg"/> - </ownedConnector> - <ownedConnector xmi:id="_efVI0E2rEeGl8qrc8BM7vA1" name="c fifoconnector 1"> - <end xmi:id="_LYAFQSx0EeOWeqhsjwDAlw" partWithPort="_gV1cgDLiEd2RVeNawwNNzg" role="_tyiqs8__Ed-TP80eVS-2Rg"/> - <end xmi:id="_LYAFQix0EeOWeqhsjwDAlw" partWithPort="p_efVI0E2rEeGl8qrc8BM7vA" role="_xcu1wHLmEd6R5tffIPrlPg"/> - </ownedConnector> - <ownedConnector xmi:id="_LYDIkCx0EeOWeqhsjwDAlw" name="alloc to pullConThread"> - <end xmi:id="_LYDIkSx0EeOWeqhsjwDAlw" partWithPort="_gV1cgDLiEd2RVeNawwNNzg"> - <role xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#__SLXgNtxEd6nqsBVkgJEEA"/> - </end> - <end xmi:id="_LYDIkix0EeOWeqhsjwDAlw" partWithPort="_ei8sYBSoEeOUifYpcO0mcw"> - <role xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_ZjdOAP-EEd6628OhKk_dpg"/> - </end> - </ownedConnector> - </packagedElement> - <packagedElement xmi:type="uml:Abstraction" xmi:id="_9dY5YBSqEeOUifYpcO0mcw" name="Allocate" client="_gV1cgDLiEd2RVeNawwNNzg" supplier="_ei8sYBSoEeOUifYpcO0mcw"/> - <packagedElement xmi:type="uml:Abstraction" xmi:id="_--_2EBSqEeOUifYpcO0mcw" name="Allocate" client="_i-I7gDLiEd2RVeNawwNNzg"/> - </packagedElement> - <packagedElement xmi:type="uml:Package" xmi:id="_LVeVsix0EeOWeqhsjwDAlw" name="PullConsumer"> - <packagedElement xmi:type="uml:Class" xmi:id="_tyiqsc__Ed-TP80eVS-2Rg" clientDependency="_DHTiQDF7EeCpQdhNuFCtew" name="PullConsumer_impl"> - <generalization xmi:id="_tyiqss__Ed-TP80eVS-2Rg"> - <general xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_-WNegNtxEd6nqsBVkgJEEA"/> - </generalization> - <ownedAttribute xmi:type="uml:Port" xmi:id="_tyiqs8__Ed-TP80eVS-2Rg" name="p" type="_wFJ3IP91Ed6Jt8e-UqrRdQ" aggregation="composite"/> - <interfaceRealization xmi:id="_DHTiQDF7EeCpQdhNuFCtew" name="derived realization of ILifeCycle" client="_tyiqsc__Ed-TP80eVS-2Rg"> - <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/> - <contract href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/> - </interfaceRealization> - <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_tyjRwc__Ed-TP80eVS-2Rg" name="activate" specification="_tyjRy8__Ed-TP80eVS-2Rg"> - <language>C/C++</language> - <body>cout << "wait for data on port p" << endl; -for (int i = 0; i<25; i++) { - if (p->hasData ()) { - components::interfaces::PubData data = p->pull (); - cout << "received data: x = " << data.x << " y = " << data.y << endl; - } - usleep (100*1000); -} -cout << "finished waiting" << endl; -</body> - </ownedBehavior> - <ownedOperation xmi:id="_tyjRy8__Ed-TP80eVS-2Rg" name="activate" method="_tyjRwc__Ed-TP80eVS-2Rg"/> - <ownedOperation xmi:id="_tyjRzM__Ed-TP80eVS-2Rg" name="deactivate"/> - <ownedOperation xmi:id="_FJPu4CxyEeOMQpc6Y-MAJw" name="configuration_complete"/> - </packagedElement> - </packagedElement> - <packagedElement xmi:type="uml:Package" xmi:id="_LVgK4Sx0EeOWeqhsjwDAlw" name="interfaces"> - <packagedElement xmi:type="uml:DataType" xmi:id="_wFJ3IP91Ed6Jt8e-UqrRdQ" name="PubData"> - <ownedAttribute xmi:id="_yywF0P91Ed6Jt8e-UqrRdQ" name="y" isUnique="false" aggregation="composite"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> - </ownedAttribute> - <ownedAttribute xmi:id="_zUgvEP91Ed6Jt8e-UqrRdQ" name="x" isUnique="false" aggregation="composite"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> - </ownedAttribute> - </packagedElement> - </packagedElement> - <packagedElement xmi:type="uml:Package" xmi:id="_LVlDYCx0EeOWeqhsjwDAlw" name="Producer"> - <packagedElement xmi:type="uml:Class" xmi:id="_IfjoETLbEd2qeKRLMdIx_A" clientDependency="_jkNdADF8EeCpQdhNuFCtew _dNpvUBo4EeONpa5JgejICQ" name="Producer_impl"> - <generalization xmi:id="_34FjAPx3Ed6O2oOTPfeAMA"> - <general xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/> - </generalization> - <ownedAttribute xmi:type="uml:Port" xmi:id="_DtWn4DLcEd2qeKRLMdIx_A" name="q" type="_wFJ3IP91Ed6Jt8e-UqrRdQ" aggregation="composite"/> - <interfaceRealization xmi:id="_jkNdADF8EeCpQdhNuFCtew" name="derived realization of IStart" client="_IfjoETLbEd2qeKRLMdIx_A"> - <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/> - <contract href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/> - </interfaceRealization> - <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_yXNVoKF4Ed6FqJCjEUrkqQ" name="run" specification="_dH4RIKF4Ed6FqJCjEUrkqQ"> - <language>C/C++</language> - <body>cout << "publish a value via port q;" << endl; -components::interfaces::PubData data; -data.x = 2; -data.y = 3; -for (int i = 0; i<20; i++) { - q->push (data); - cout << "." << flush; - // wait 200ms - usleep (200*1000); -} -</body> - </ownedBehavior> - <ownedOperation xmi:id="_dH4RIKF4Ed6FqJCjEUrkqQ" name="run" method="_yXNVoKF4Ed6FqJCjEUrkqQ"/> - </packagedElement> - <packagedElement xmi:type="uml:Dependency" xmi:id="_dNpvUBo4EeONpa5JgejICQ" name="Dependency1" client="_IfjoETLbEd2qeKRLMdIx_A" supplier="_wFJ3IP91Ed6Jt8e-UqrRdQ"/> - </packagedElement> - </packagedElement> - <packagedElement xmi:type="uml:Package" xmi:id="_LVrxECx0EeOWeqhsjwDAlw" name="platform"> - <packagedElement xmi:type="uml:Package" xmi:id="_LVrxESx0EeOWeqhsjwDAlw" name="HWArchitecturePlatform"> - <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_GQ1ekKwHEeCQX8uv_p0Q4A" name="monoNode" classifier="_zY9vMDLiEd2RVeNawwNNzg"/> - </packagedElement> - <packagedElement xmi:type="uml:Node" xmi:id="_zY9vMDLiEd2RVeNawwNNzg" name="MonoNode"/> - </packagedElement> - <packagedElement xmi:type="uml:Package" xmi:id="_LV-sACx0EeOWeqhsjwDAlw" name="DataExchange_PubData"> - <templateBinding xmi:id="_LV-sASx0EeOWeqhsjwDAlw"> - <parameterSubstitution xmi:id="_LV-sAix0EeOWeqhsjwDAlw" actual="_wFJ3IP91Ed6Jt8e-UqrRdQ"> - <formal xmi:type="uml:ClassifierTemplateParameter" href="pathmap://QML_CORE/fifo.uml#_diTcwHLoEd6R5tffIPrlPg"/> - </parameterSubstitution> - <signature href="pathmap://QML_CORE/fifo.uml#_cHY98HLoEd6R5tffIPrlPg"/> - </templateBinding> - <packagedElement xmi:type="uml:Package" xmi:id="_LV_6ICx0EeOWeqhsjwDAlw" name="FIFO"> - <packagedElement xmi:type="uml:Class" xmi:id="_Y1jF8HPpEd6R5tffIPrlPg" clientDependency="_y6XsAF72EeGerN33d-RdRg _LXnDsSx0EeOWeqhsjwDAlw _LXnDsix0EeOWeqhsjwDAlw" name="FIFO_impl"> - <generalization xmi:id="_Z4Oq8HPpEd6R5tffIPrlPg" general="_wh_EwHLmEd6R5tffIPrlPg"/> - <generalization xmi:id="_ws_1gF72EeGerN33d-RdRg"> - <general xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_-WNegNtxEd6nqsBVkgJEEA"/> - </generalization> - <ownedAttribute xmi:id="_6iV9wHUHEd6R5tffIPrlPg" name="m_push_pos" isUnique="false" aggregation="composite"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> - </ownedAttribute> - <ownedAttribute xmi:id="_RlKZIHUIEd6R5tffIPrlPg" name="m_pull_pos" isUnique="false" aggregation="composite"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> - </ownedAttribute> - <ownedAttribute xmi:id="_XDRnoHUIEd6R5tffIPrlPg" name="m_size" isUnique="false" aggregation="composite"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_SUhOUBGcEd-rfYlCjUOxJQ" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_SUpKIBGcEd-rfYlCjUOxJQ" value="1"/> - <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_T1yz0BGcEd-rfYlCjUOxJQ" value="20"/> - </ownedAttribute> - <ownedAttribute xmi:id="_XcO6MHUIEd6R5tffIPrlPg" name="m_filled" isUnique="false" aggregation="composite"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> - </ownedAttribute> - <ownedAttribute xmi:id="_zNeIsBGZEd-rfYlCjUOxJQ" name="m_fifo" visibility="public" type="_wFJ3IP91Ed6Jt8e-UqrRdQ" isUnique="false" aggregation="composite"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q8o1YBGcEd-rfYlCjUOxJQ"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q8vjEBGcEd-rfYlCjUOxJQ" value="*"/> - </ownedAttribute> - <interfaceRealization xmi:id="_y6XsAF72EeGerN33d-RdRg" name="derived realization of ILifeCycle" client="_Y1jF8HPpEd6R5tffIPrlPg"> - <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/> - <contract href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/> - </interfaceRealization> - <interfaceRealization xmi:id="_LXnDsSx0EeOWeqhsjwDAlw" name="derived realization of D_Push_PubData" client="_Y1jF8HPpEd6R5tffIPrlPg" supplier="_LXd5wSx0EeOWeqhsjwDAlw" contract="_LXd5wSx0EeOWeqhsjwDAlw"/> - <interfaceRealization xmi:id="_LXnDsix0EeOWeqhsjwDAlw" name="derived realization of D_PullConsumer_PubData" client="_Y1jF8HPpEd6R5tffIPrlPg" supplier="_LXjZUCx0EeOWeqhsjwDAlw" contract="_LXjZUCx0EeOWeqhsjwDAlw"/> - <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_FjGlgP69Ed6Zw96O-tCw7A" name="pull" specification="_EYx84P68Ed6Zw96O-tCw7A"> - <ownedParameter xmi:id="_LX9pACx0EeOWeqhsjwDAlw" name="ret" type="_wFJ3IP91Ed6Jt8e-UqrRdQ" direction="return"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_LX9pASx0EeOWeqhsjwDAlw" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_LX9pAix0EeOWeqhsjwDAlw" value="1"/> - </ownedParameter> - <language>C/C++</language> - <body>if (m_filled > 0) { - int current_pos = m_pull_pos; - - m_pull_pos ++; - m_filled --; - if (m_pull_pos == m_size) { - m_pull_pos = 0; - } - return m_fifo [current_pos]; -}</body> - </ownedBehavior> - <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_IwXLsP69Ed6Zw96O-tCw7A" name="push" specification="_EYsdUP68Ed6Zw96O-tCw7A"> - <ownedParameter xmi:id="_LX9pAyx0EeOWeqhsjwDAlw" name="data" type="_wFJ3IP91Ed6Jt8e-UqrRdQ"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_LX9pBCx0EeOWeqhsjwDAlw" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_LX9pBSx0EeOWeqhsjwDAlw" value="1"/> - </ownedParameter> - <language>C/C++</language> - <body>// copy passed parameters ... -if (m_filled < m_size) { - m_fifo [m_push_pos] = data; - m_push_pos ++; - m_filled ++; - if (m_push_pos == m_size) { - m_push_pos = 0; - } -}</body> - </ownedBehavior> - <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__Ha0IBJHEd-XjYZ05V-9-Q" name="hasData" specification="_AnQ3QBI9Ed-XjYZ05V-9-Q"> - <ownedParameter xmi:id="_LX-QECx0EeOWeqhsjwDAlw" name="ret" direction="return"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_Bv7l0B-VEd6nGq8wpI2tjg"/> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_LX-QESx0EeOWeqhsjwDAlw" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_LX-QEix0EeOWeqhsjwDAlw" value="1"/> - </ownedParameter> - <language>C/C++</language> - <body>return (m_filled > 0);</body> - </ownedBehavior> - <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_QzOqwK8yEeCXIcykFPsB8Q" name="activate" specification="_5IpEwK8xEeCXIcykFPsB8Q"> - <language>C/C++</language> - <body> -if (m_size == 0) { - cerr << "Warning: size of FIFO is not properly configured (=0!)" << endl; -} -m_fifo = new ProducerConsumer::components::interfaces::PubData[m_size];</body> - </ownedBehavior> - <ownedOperation xmi:id="_EYx84P68Ed6Zw96O-tCw7A" name="pull" method="_FjGlgP69Ed6Zw96O-tCw7A"> - <ownedParameter xmi:id="_EYx84f68Ed6Zw96O-tCw7A" name="ret" type="_wFJ3IP91Ed6Jt8e-UqrRdQ" direction="return"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_EYx84v68Ed6Zw96O-tCw7A" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_EYx84_68Ed6Zw96O-tCw7A" value="1"/> - </ownedParameter> - </ownedOperation> - <ownedOperation xmi:id="_EYsdUP68Ed6Zw96O-tCw7A" name="push" method="_IwXLsP69Ed6Zw96O-tCw7A"> - <ownedParameter xmi:id="_EYtEYP68Ed6Zw96O-tCw7A" name="data" type="_wFJ3IP91Ed6Jt8e-UqrRdQ"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_EYtEYf68Ed6Zw96O-tCw7A" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_EYtEYv68Ed6Zw96O-tCw7A" value="1"/> - </ownedParameter> - </ownedOperation> - <ownedOperation xmi:id="_AnQ3QBI9Ed-XjYZ05V-9-Q" name="hasData" method="__Ha0IBJHEd-XjYZ05V-9-Q"> - <ownedParameter xmi:id="_AtKsIBJXEd-QgZm_R1AKbA" name="ret" direction="return"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_Bv7l0B-VEd6nGq8wpI2tjg"/> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_AtNIYBJXEd-QgZm_R1AKbA" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_AtNvcBJXEd-QgZm_R1AKbA" value="1"/> - </ownedParameter> - </ownedOperation> - <ownedOperation xmi:id="_5IpEwK8xEeCXIcykFPsB8Q" name="activate" method="_QzOqwK8yEeCXIcykFPsB8Q"/> - <ownedOperation xmi:id="_y7cqEF72EeGerN33d-RdRg" name="deactivate"/> - <ownedOperation xmi:id="_LXo44Cx0EeOWeqhsjwDAlw" name="configuration_complete"/> - </packagedElement> - </packagedElement> - <packagedElement xmi:type="uml:Class" xmi:id="_wh_EwHLmEd6R5tffIPrlPg" name="PushPull" isAbstract="true"> - <generalization xmi:id="_6zGSwHLnEd6R5tffIPrlPg" general="_unqQoHLnEd6R5tffIPrlPg"/> - <generalization xmi:id="_9mPv0HLnEd6R5tffIPrlPg" general="_wtZ1IHLnEd6R5tffIPrlPg"/> - </packagedElement> - <packagedElement xmi:type="uml:Class" xmi:id="_unqQoHLnEd6R5tffIPrlPg" name="PushP" isAbstract="true"> - <ownedAttribute xmi:type="uml:Port" xmi:id="_xHb7MHLmEd6R5tffIPrlPg" name="pushP" visibility="public" type="_wFJ3IP91Ed6Jt8e-UqrRdQ" aggregation="composite" isConjugated="true"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_SJlB4DFrEeCz5-DK9j5azg" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_SLJvMDFrEeCz5-DK9j5azg" value="1"/> - <defaultValue xmi:type="uml:LiteralString" xmi:id="_iRXR8P3IEeC1YdT2qA0bjA"> - <value xsi:nil="true"/> - </defaultValue> - </ownedAttribute> - </packagedElement> - <packagedElement xmi:type="uml:Class" xmi:id="_wtZ1IHLnEd6R5tffIPrlPg" name="PullC" isAbstract="true"> - <ownedAttribute xmi:type="uml:Port" xmi:id="_xcu1wHLmEd6R5tffIPrlPg" name="pullC" visibility="public" type="_wFJ3IP91Ed6Jt8e-UqrRdQ" aggregation="composite" isConjugated="true"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VhIMgDFrEeCz5-DK9j5azg" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ViKuUDFrEeCz5-DK9j5azg" value="1"/> - <defaultValue xmi:type="uml:LiteralString" xmi:id="_2az3IC_fEeKl_vDGXh-OPw"> - <value xsi:nil="true"/> - </defaultValue> - </ownedAttribute> - </packagedElement> - </packagedElement> - <packagedElement xmi:type="uml:Package" xmi:id="_LXdSsCx0EeOWeqhsjwDAlw" name="derivedInterfaces"> - <packagedElement xmi:type="uml:Package" xmi:id="_LXdSsSx0EeOWeqhsjwDAlw" name="ProducerConsumer"> - <packagedElement xmi:type="uml:Package" xmi:id="_LXdSsix0EeOWeqhsjwDAlw" name="components"> - <packagedElement xmi:type="uml:Package" xmi:id="_LXd5wCx0EeOWeqhsjwDAlw" name="interfaces"> - <packagedElement xmi:type="uml:Interface" xmi:id="_LXd5wSx0EeOWeqhsjwDAlw" name="D_Push_PubData"> - <ownedOperation xmi:id="_LXiyQSx0EeOWeqhsjwDAlw" name="push"> - <ownedParameter xmi:id="_LXiyQix0EeOWeqhsjwDAlw" name="data" type="_wFJ3IP91Ed6Jt8e-UqrRdQ"/> - </ownedOperation> - </packagedElement> - <packagedElement xmi:type="uml:Interface" xmi:id="_LXjZUCx0EeOWeqhsjwDAlw" name="D_PullConsumer_PubData"> - <ownedOperation xmi:id="_LXmcoSx0EeOWeqhsjwDAlw" name="pull"> - <ownedParameter xmi:id="_LXmcoix0EeOWeqhsjwDAlw" name="ret" type="_wFJ3IP91Ed6Jt8e-UqrRdQ" direction="return"/> - </ownedOperation> - <ownedOperation xmi:id="_LXmcoyx0EeOWeqhsjwDAlw" name="hasData"> - <ownedParameter xmi:id="_LXnDsCx0EeOWeqhsjwDAlw" name="ret" direction="return"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_Bv7l0B-VEd6nGq8wpI2tjg"/> - </ownedParameter> - </ownedOperation> - </packagedElement> - </packagedElement> - </packagedElement> - </packagedElement> - </packagedElement> - <profileApplication xmi:id="_LVZdMCx0EeOWeqhsjwDAlw"> - <eAnnotations xmi:id="_LVZdMSx0EeOWeqhsjwDAlw" source="http://www.eclipse.org/uml2/2.0.0/UML"> - <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#/"/> - </eAnnotations> - <appliedProfile href="pathmap://UML_PROFILES/StandardL2.profile.uml#_0"/> - </profileApplication> - <profileApplication xmi:id="_LVZdMix0EeOWeqhsjwDAlw"> - <eAnnotations xmi:id="_LVZdMyx0EeOWeqhsjwDAlw" source="http://www.eclipse.org/uml2/2.0.0/UML"> - <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> - </eAnnotations> - <appliedProfile href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/> - </profileApplication> - <profileApplication xmi:id="_LVaEQCx0EeOWeqhsjwDAlw"> - <eAnnotations xmi:id="_LVaEQSx0EeOWeqhsjwDAlw" source="http://www.eclipse.org/uml2/2.0.0/UML"> - <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/> - </eAnnotations> - <appliedProfile href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/> - </profileApplication> - <profileApplication xmi:id="_LVaEQix0EeOWeqhsjwDAlw"> - <eAnnotations xmi:id="_LVaEQyx0EeOWeqhsjwDAlw" source="http://www.eclipse.org/uml2/2.0.0/UML"> - <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//GCM"/> - </eAnnotations> - <appliedProfile href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_YgAioAPMEdyuUt-4qHuVvQ"/> - </profileApplication> - <profileApplication xmi:id="_LVarUCx0EeOWeqhsjwDAlw"> - <eAnnotations xmi:id="_LVbSYCx0EeOWeqhsjwDAlw" source="http://www.eclipse.org/uml2/2.0.0/UML"> - <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//HLAM"/> - </eAnnotations> - <appliedProfile href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_yNSZIAPMEdyuUt-4qHuVvQ"/> - </profileApplication> - <profileApplication xmi:id="_LVb5cCx0EeOWeqhsjwDAlw"> - <eAnnotations xmi:id="_LVb5cSx0EeOWeqhsjwDAlw" source="http://www.eclipse.org/uml2/2.0.0/UML"> - <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc"/> - </eAnnotations> - <appliedProfile href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ar8OsAPMEdyuUt-4qHuVvQ"/> - </profileApplication> - </uml:Model> - <Alloc:Allocate xmi:id="_LVeVsSx0EeOWeqhsjwDAlw" base_Abstraction="_9dY5YBSqEeOUifYpcO0mcw"/> - <C_Cpp:Include xmi:id="_11OtwPcaEd-KM6l7lmIPkw" body="#include <unistd.h>
#include <iostream>
using namespace std;" base_class="_tyiqsc__Ed-TP80eVS-2Rg"/> - <GCM:FlowPort xmi:id="_LVgx8Cx0EeOWeqhsjwDAlw" direction="in" base_Port="_tyiqs8__Ed-TP80eVS-2Rg"/> - <FCM:Port xmi:id="_LVgx8Sx0EeOWeqhsjwDAlw" base_Port="_tyiqs8__Ed-TP80eVS-2Rg"> - <kind href="pathmap://QML_CORE/core.uml#_x5mL4FRxEd6GqrP6fkWBoQ"/> - </FCM:Port> - <FCM:DerivedElement xmi:id="_LVhZASx0EeOWeqhsjwDAlw" base_Element="_tyjRy8__Ed-TP80eVS-2Rg"> - <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/> - </FCM:DerivedElement> - <FCM:DerivedElement xmi:id="_LViAESx0EeOWeqhsjwDAlw" base_Element="_tyjRzM__Ed-TP80eVS-2Rg"> - <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/> - </FCM:DerivedElement> - <FCM:DerivedElement xmi:id="_LVinISx0EeOWeqhsjwDAlw" base_Element="_FJPu4CxyEeOMQpc6Y-MAJw"> - <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_ns4qsClUEeO4bs_nkcnKOg"/> - </FCM:DerivedElement> - <Alloc:Allocate xmi:id="_LVkcUyx0EeOWeqhsjwDAlw" base_Abstraction="_--_2EBSqEeOUifYpcO0mcw"/> - <C_Cpp:Include xmi:id="_7SAnAP76Ed6Zw96O-tCw7A" body="#include <unistd.h>
#include <iostream>
using namespace std;" base_class="_IfjoETLbEd2qeKRLMdIx_A"/> - <FCM:Port xmi:id="_LVm4kCx0EeOWeqhsjwDAlw" base_Port="_DtWn4DLcEd2qeKRLMdIx_A"> - <kind href="pathmap://QML_CORE/core.uml#_qOK0cFR1Ed6GqrP6fkWBoQ"/> - </FCM:Port> - <GCM:FlowPort xmi:id="_LVm4kSx0EeOWeqhsjwDAlw" direction="out" base_Port="_DtWn4DLcEd2qeKRLMdIx_A"/> - <FCM:DerivedElement xmi:id="_LVoGsCx0EeOWeqhsjwDAlw" base_Element="_dH4RIKF4Ed6FqJCjEUrkqQ"> - <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/> - </FCM:DerivedElement> - <FCM:Target xmi:id="_LVtmQCx0EeOWeqhsjwDAlw" base_Node="_zY9vMDLiEd2RVeNawwNNzg"> - <targetArch href="pathmap://QML_CORE/core.uml#_FYOqwF0OEd-12d_h0i1xhQ"/> - <usedOS href="pathmap://QML_CORE/core.uml#_1eULwF0NEd-12d_h0i1xhQ"/> - </FCM:Target> - <Alloc:Allocate xmi:id="_LV0T8Cx0EeOWeqhsjwDAlw" base_Abstraction="_LVuNUCx0EeOWeqhsjwDAlw"/> - <FCM:InteractionComponent xmi:id="_xQ_ccHUuEd6R5tffIPrlPg" base_Class="_Y1jF8HPpEd6R5tffIPrlPg"/> - <C_Cpp:Include xmi:id="_fUHyQF8DEeGerN33d-RdRg" body="#include <iostream>
using namespace std;" base_class="_Y1jF8HPpEd6R5tffIPrlPg"/> - <FCM:InteractionComponent xmi:id="_IwT2cP6_Ed6Zw96O-tCw7A" base_Class="_wh_EwHLmEd6R5tffIPrlPg"/> - <FCM:Port xmi:id="_42zlMHLnEd6R5tffIPrlPg" base_Port="_xHb7MHLmEd6R5tffIPrlPg"> - <kind href="pathmap://QML_CORE/core.uml#_qOK0cFR1Ed6GqrP6fkWBoQ"/> - </FCM:Port> - <FCM:Port xmi:id="_57KlMHLnEd6R5tffIPrlPg" base_Port="_xcu1wHLmEd6R5tffIPrlPg"> - <kind href="pathmap://QML_CORE/core.uml#_x5mL4FRxEd6GqrP6fkWBoQ"/> - </FCM:Port> - <FCM:ConfigurationProperty xmi:id="_FxN9cLC0EeCaaIdtw75MLg" base_Property="_XDRnoHUIEd6R5tffIPrlPg"/> - <FCM:DerivedElement xmi:id="_EYzyEP68Ed6Zw96O-tCw7A" base_Element="_EYx84P68Ed6Zw96O-tCw7A" source="_LXmcoSx0EeOWeqhsjwDAlw"/> - <FCM:DerivedElement xmi:id="_0TVb8P6-Ed6Zw96O-tCw7A" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_7HAIIP6-Ed6Zw96O-tCw7A" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_vfETEARNEd-OidZzGKCpzg" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_op6Y4AnOEd-9beZpMGts2w" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_6tSQAAnUEd-co_m_wv4b6A" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_YMw7cBGZEd-rfYlCjUOxJQ" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_t04d8BGaEd-rfYlCjUOxJQ" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_G7QQABGcEd-rfYlCjUOxJQ" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_C5J9cBGlEd-Jq_XWT8Mhpg" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_IAxtYBI7Ed-3zOZ0RGapGA" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_AnPpIBI9Ed-XjYZ05V-9-Q" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_11WOABJWEd-QgZm_R1AKbA" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_C7WOoBQ-Ed-_dI0JopJMvQ" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_kUNw0Bb8Ed-u0pMEAnvpEQ" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_6-1mQBcKEd-Tda7vKXmT2A" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_EYu5kP68Ed6Zw96O-tCw7A" base_Element="_EYsdUP68Ed6Zw96O-tCw7A" source="_LXiyQSx0EeOWeqhsjwDAlw"/> - <FCM:DerivedElement xmi:id="_0TRKgP6-Ed6Zw96O-tCw7A" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_7G9E0P6-Ed6Zw96O-tCw7A" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_vfBPwARNEd-OidZzGKCpzg" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_op38oAnOEd-9beZpMGts2w" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_6tRB4AnUEd-co_m_wv4b6A" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_YMvtUBGZEd-rfYlCjUOxJQ" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_t02owBGaEd-rfYlCjUOxJQ" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_G7PB4BGcEd-rfYlCjUOxJQ" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_C4zYIBGlEd-Jq_XWT8Mhpg" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_IAwfQBI7Ed-3zOZ0RGapGA" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_AnNM4BI9Ed-XjYZ05V-9-Q" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_11TxwBJWEd-QgZm_R1AKbA" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_C7UZcBQ-Ed-_dI0JopJMvQ" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_kUMisBb8Ed-u0pMEAnvpEQ" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_6-zKABcKEd-Tda7vKXmT2A" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_AnVvwBI9Ed-XjYZ05V-9-Q" base_Element="_AnQ3QBI9Ed-XjYZ05V-9-Q" source="_LXmcoyx0EeOWeqhsjwDAlw"/> - <FCM:DerivedElement xmi:id="_11YqQBJWEd-QgZm_R1AKbA" base_Element="_AnQ3QBI9Ed-XjYZ05V-9-Q"/> - <FCM:DerivedElement xmi:id="_C7YD0BQ-Ed-_dI0JopJMvQ" base_Element="_AnQ3QBI9Ed-XjYZ05V-9-Q"/> - <FCM:DerivedElement xmi:id="_kUPmABb8Ed-u0pMEAnvpEQ" base_Element="_AnQ3QBI9Ed-XjYZ05V-9-Q"/> - <FCM:DerivedElement xmi:id="_6-3bcBcKEd-Tda7vKXmT2A" base_Element="_AnQ3QBI9Ed-XjYZ05V-9-Q"/> - <FCM:Template xmi:id="_LXDDACx0EeOWeqhsjwDAlw" base_Element="_5IpEwK8xEeCXIcykFPsB8Q"/> - <FCM:DerivedElement xmi:id="_LXDDASx0EeOWeqhsjwDAlw" base_Element="_5IpEwK8xEeCXIcykFPsB8Q"> - <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/> - </FCM:DerivedElement> - <FCM:DerivedElement xmi:id="_LXbdgCx0EeOWeqhsjwDAlw" base_Element="_y7cqEF72EeGerN33d-RdRg"> - <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/> - </FCM:DerivedElement> - <FCM:DerivedElement xmi:id="_LXiyQCx0EeOWeqhsjwDAlw" base_Element="_LXd5wSx0EeOWeqhsjwDAlw" source="_wFJ3IP91Ed6Jt8e-UqrRdQ"/> - <FCM:DerivedElement xmi:id="_LXmcoCx0EeOWeqhsjwDAlw" base_Element="_LXjZUCx0EeOWeqhsjwDAlw" source="_wFJ3IP91Ed6Jt8e-UqrRdQ"/> - <FCM:DerivedElement xmi:id="_LXsjQCx0EeOWeqhsjwDAlw" base_Element="_LXo44Cx0EeOWeqhsjwDAlw"> - <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_ns4qsClUEeO4bs_nkcnKOg"/> - </FCM:DerivedElement> - <FCM:DeploymentPlan xmi:id="_LVcggix0EeOWeqhsjwDAlw" base_Package="_LVdHkSx0EeOWeqhsjwDAlw"/> -</xmi:XMI> diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/tmpModel/ProducerTwoConsumersTmp.uml b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/tmpModel/ProducerTwoConsumersTmp.uml deleted file mode 100644 index 374740863d7..00000000000 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.modellibs.core/tmpModel/ProducerTwoConsumersTmp.uml +++ /dev/null @@ -1,567 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<xmi:XMI xmi:version="20110701" xmlns:xmi="http://www.omg.org/spec/XMI/20110701" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Alloc="http://www.eclipse.org/papyrus/Alloc/1" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:GCM="http://www.eclipse.org/papyrus/GCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/Alloc/1 http://www.eclipse.org/papyrus/MARTE/1#//Alloc http://www.eclipse.org/papyrus/GCM/1 http://www.eclipse.org/papyrus/MARTE/1#//GCM"> - <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="ProducerTwoConsumers"> - <packageImport xmi:id="_oDu70ixyEeOMQpc6Y-MAJw"> - <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/> - </packageImport> - <packageImport xmi:id="_oDu70yxyEeOMQpc6Y-MAJw"> - <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/core.uml#_O6TiIDLUEd26WNosUASSSw"/> - </packageImport> - <packageImport xmi:id="_oDu71CxyEeOMQpc6Y-MAJw"> - <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/corba.uml#_DtQEwDLdEd2_U4efLnjQIw"/> - </packageImport> - <packageImport xmi:id="_oDu71SxyEeOMQpc6Y-MAJw"> - <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/fifo.uml#_ePwqkHLmEd6R5tffIPrlPg"/> - </packageImport> - <packageImport xmi:id="_oDvi4CxyEeOMQpc6Y-MAJw"> - <importedPackage xmi:type="uml:Model" href="pathmap://QML_TRACE/tracing.uml#_H-ZqYDKeEd-WprEKTCaiMA"/> - </packageImport> - <packagedElement xmi:type="uml:Package" xmi:id="_oDvi4SxyEeOMQpc6Y-MAJw" name="globalenums"/> - <packagedElement xmi:type="uml:Package" xmi:id="_oDwJ8CxyEeOMQpc6Y-MAJw" name="deployment"> - <packagedElement xmi:type="uml:Package" xmi:id="_oDwJ8SxyEeOMQpc6Y-MAJw" name="monoPull"> - <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_oDwJ8ixyEeOMQpc6Y-MAJw" clientDependency="_oD7wICxyEeOMQpc6Y-MAJw" name="mainInstance" classifier="_bYJagDLiEd2RVeNawwNNzg"> - <slot xmi:id="_oEd7oixyEeOMQpc6Y-MAJw" definingFeature="_gV1cgDLiEd2RVeNawwNNzg"> - <value xmi:type="uml:InstanceValue" xmi:id="_oEd7oyxyEeOMQpc6Y-MAJw" instance="_oEV_0ixyEeOMQpc6Y-MAJw"/> - </slot> - <slot xmi:id="_oEeisCxyEeOMQpc6Y-MAJw" definingFeature="_i-I7gDLiEd2RVeNawwNNzg"> - <value xmi:type="uml:InstanceValue" xmi:id="_oEeisSxyEeOMQpc6Y-MAJw" instance="_oEd7pCxyEeOMQpc6Y-MAJw"/> - </slot> - <slot xmi:id="_oEfJxSxyEeOMQpc6Y-MAJw" definingFeature="_-uMo0FuoEeGjjMeADLT5-g"> - <value xmi:type="uml:InstanceValue" xmi:id="_oEfJxixyEeOMQpc6Y-MAJw" instance="_oEfJwCxyEeOMQpc6Y-MAJw"/> - </slot> - <slot xmi:id="_oFt40yxyEeOMQpc6Y-MAJw" definingFeature="_EM2p4FupEeGjjMeADLT5-g"> - <value xmi:type="uml:InstanceValue" xmi:id="_oFt41CxyEeOMQpc6Y-MAJw" instance="_oFt40CxyEeOMQpc6Y-MAJw"/> - </slot> - </packagedElement> - <packagedElement xmi:type="uml:Abstraction" xmi:id="_oD7wICxyEeOMQpc6Y-MAJw" name="allocate mainInstance to monoNode" client="_oDwJ8ixyEeOMQpc6Y-MAJw" supplier="_GQ1ekKwHEeCQX8uv_p0Q4A"/> - <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_oEABkCxyEeOMQpc6Y-MAJw" name="mainInstance.cons1._executor" classifier="_tyiqsc__Ed-TP80eVS-2Rg"> - <slot xmi:id="_oEd7oCxyEeOMQpc6Y-MAJw" definingFeature="_kLNdAF8DEeGerN33d-RdRg"> - <value xmi:type="uml:LiteralString" xmi:id="_oEd7oSxyEeOMQpc6Y-MAJw" name="value for name" value=""cons1""> - <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/> - </value> - </slot> - </packagedElement> - <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_oEV_0ixyEeOMQpc6Y-MAJw" name="mainInstance.cons1" classifier="_cc_tyiqsc__Ed-TP80eVS-2Rg"> - <slot xmi:id="_oEV_0yxyEeOMQpc6Y-MAJw" definingFeature="e_tyiqsc__Ed-TP80eVS-2Rg"> - <value xmi:type="uml:InstanceValue" xmi:id="_oEV_1CxyEeOMQpc6Y-MAJw" instance="_oEABkCxyEeOMQpc6Y-MAJw"/> - </slot> - <slot xmi:id="_oEdUkSxyEeOMQpc6Y-MAJw" definingFeature="p_cc_tyiqsc__Ed-TP80eVS-2Rg1"> - <value xmi:type="uml:InstanceValue" xmi:id="_oEdUkixyEeOMQpc6Y-MAJw" instance="_oEdUkCxyEeOMQpc6Y-MAJw"/> - </slot> - </packagedElement> - <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_oEdUkCxyEeOMQpc6Y-MAJw" name="mainInstance.cons1.intercept lc0"> - <classifier xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_5J9coCXQEeGX6PuSE-DJlQ"/> - <slot xmi:id="_oEdUkyxyEeOMQpc6Y-MAJw"> - <definingFeature xmi:type="uml:Property" href="pathmap://QML_CORE//core.uml#_rVfYoMGJEd-Mveea1W_olA"/> - <value xmi:type="uml:LiteralInteger" xmi:id="_oEdUlCxyEeOMQpc6Y-MAJw" name="value for priority"> - <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/> - </value> - </slot> - </packagedElement> - <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_oEd7pCxyEeOMQpc6Y-MAJw" name="mainInstance.pub" classifier="_IfjoETLbEd2qeKRLMdIx_A"/> - <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_oEeisixyEeOMQpc6Y-MAJw" name="mainInstance.cons2._executor" classifier="_tyiqsc__Ed-TP80eVS-2Rg"> - <slot xmi:id="_oEfJwyxyEeOMQpc6Y-MAJw" definingFeature="_kLNdAF8DEeGerN33d-RdRg"> - <value xmi:type="uml:LiteralString" xmi:id="_oEfJxCxyEeOMQpc6Y-MAJw" name="value for name" value=""cons2""> - <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/> - </value> - </slot> - </packagedElement> - <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_oEfJwCxyEeOMQpc6Y-MAJw" name="mainInstance.cons2" classifier="_cc_tyiqsc__Ed-TP80eVS-2Rg"> - <slot xmi:id="_oEfJwSxyEeOMQpc6Y-MAJw" definingFeature="e_tyiqsc__Ed-TP80eVS-2Rg"> - <value xmi:type="uml:InstanceValue" xmi:id="_oEfJwixyEeOMQpc6Y-MAJw" instance="_oEeisixyEeOMQpc6Y-MAJw"/> - </slot> - </packagedElement> - <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_oFt40CxyEeOMQpc6Y-MAJw" name="mainInstance.fifo" classifier="_Y1jF8HPpEd6R5tffIPrlPg"> - <slot xmi:id="_oFt40SxyEeOMQpc6Y-MAJw"> - <definingFeature xmi:type="uml:Property" href="pathmap://QML_CORE/fifo.uml#_XDRnoHUIEd6R5tffIPrlPg"/> - <value xmi:type="uml:LiteralInteger" xmi:id="_oFt40ixyEeOMQpc6Y-MAJw" name="value for m_size" value="30"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> - </value> - </slot> - </packagedElement> - </packagedElement> - </packagedElement> - <packagedElement xmi:type="uml:Package" xmi:id="_oDwJ8yxyEeOMQpc6Y-MAJw" name="components"> - <packagedElement xmi:type="uml:Package" xmi:id="_oDwJ9CxyEeOMQpc6Y-MAJw" name="System"> - <packagedElement xmi:type="uml:Class" xmi:id="_bYJagDLiEd2RVeNawwNNzg" name="SystemPull_impl"> - <ownedAttribute xmi:id="_gV1cgDLiEd2RVeNawwNNzg" name="cons1" visibility="public" type="_cc_tyiqsc__Ed-TP80eVS-2Rg" isUnique="false" aggregation="composite"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Wn23gFunEeGjjMeADLT5-g" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_WoGIEFunEeGjjMeADLT5-g" value="1"/> - <defaultValue xmi:type="uml:LiteralString" xmi:id="_WoP5EFunEeGjjMeADLT5-g"> - <value xsi:nil="true"/> - </defaultValue> - </ownedAttribute> - <ownedAttribute xmi:id="_i-I7gDLiEd2RVeNawwNNzg" name="pub" type="_IfjoETLbEd2qeKRLMdIx_A" isUnique="false" aggregation="composite"/> - <ownedAttribute xmi:id="_-uMo0FuoEeGjjMeADLT5-g" name="cons2" visibility="public" type="_cc_tyiqsc__Ed-TP80eVS-2Rg" aggregation="composite"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kWRdYFupEeGjjMeADLT5-g" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kWT5oFupEeGjjMeADLT5-g" value="1"/> - <defaultValue xmi:type="uml:LiteralString" xmi:id="_kXMDYFupEeGjjMeADLT5-g"> - <value xsi:nil="true"/> - </defaultValue> - </ownedAttribute> - <ownedAttribute xmi:id="_EM2p4FupEeGjjMeADLT5-g" name="fifo" visibility="public" type="_Y1jF8HPpEd6R5tffIPrlPg" aggregation="composite"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IzF1MFupEeGjjMeADLT5-g" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IzHDUFupEeGjjMeADLT5-g" value="1"/> - <defaultValue xmi:type="uml:LiteralString" xmi:id="_IzI4gFupEeGjjMeADLT5-g"> - <value xsi:nil="true"/> - </defaultValue> - </ownedAttribute> - <ownedConnector xmi:id="_efVI0E2rEeGl8qrc8BM7vA" name="push"> - <end xmi:id="_efVv4E2rEeGl8qrc8BM7vA" partWithPort="_i-I7gDLiEd2RVeNawwNNzg" role="_DtWn4DLcEd2qeKRLMdIx_A"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_efVv4k2rEeGl8qrc8BM7vA" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_efVv4U2rEeGl8qrc8BM7vA" value="1"/> - </end> - <end xmi:id="_efWW8E2rEeGl8qrc8BM7vA" partWithPort="_EM2p4FupEeGjjMeADLT5-g" role="_xHb7MHLmEd6R5tffIPrlPg"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_efWW8k2rEeGl8qrc8BM7vA" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_efWW8U2rEeGl8qrc8BM7vA" value="1"/> - </end> - </ownedConnector> - <ownedConnector xmi:id="_XmCsIFupEeGjjMeADLT5-g" name="pull1"> - <end xmi:id="_XmDTMFupEeGjjMeADLT5-g" partWithPort="_EM2p4FupEeGjjMeADLT5-g" role="_xcu1wHLmEd6R5tffIPrlPg"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XmDTMlupEeGjjMeADLT5-g" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XmDTMVupEeGjjMeADLT5-g" value="1"/> - </end> - <end xmi:id="_XmD6QFupEeGjjMeADLT5-g" partWithPort="_gV1cgDLiEd2RVeNawwNNzg" role="_tyiqs8__Ed-TP80eVS-2Rg"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XmD6QlupEeGjjMeADLT5-g" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XmD6QVupEeGjjMeADLT5-g" value="1"/> - </end> - </ownedConnector> - <ownedConnector xmi:id="_YTirUFupEeGjjMeADLT5-g" name="pull2"> - <end xmi:id="_YTjSYFupEeGjjMeADLT5-g" partWithPort="_EM2p4FupEeGjjMeADLT5-g" role="_xcu1wHLmEd6R5tffIPrlPg"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_YTjSYlupEeGjjMeADLT5-g" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_YTjSYVupEeGjjMeADLT5-g" value="1"/> - </end> - <end xmi:id="_YTjSY1upEeGjjMeADLT5-g" partWithPort="_-uMo0FuoEeGjjMeADLT5-g" role="_tyiqs8__Ed-TP80eVS-2Rg"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_YTjSZVupEeGjjMeADLT5-g" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_YTjSZFupEeGjjMeADLT5-g" value="1"/> - </end> - </ownedConnector> - </packagedElement> - </packagedElement> - <packagedElement xmi:type="uml:Package" xmi:id="_oDwxACxyEeOMQpc6Y-MAJw" name="PullConsumer"> - <packagedElement xmi:type="uml:Class" xmi:id="_tyiqsc__Ed-TP80eVS-2Rg" clientDependency="_DHTiQDF7EeCpQdhNuFCtew" name="PullConsumer_impl"> - <generalization xmi:id="_tyiqss__Ed-TP80eVS-2Rg"> - <general xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_-WNegNtxEd6nqsBVkgJEEA"/> - </generalization> - <ownedAttribute xmi:type="uml:Port" xmi:id="_tyiqs8__Ed-TP80eVS-2Rg" name="p" type="_wFJ3IP91Ed6Jt8e-UqrRdQ" aggregation="composite"/> - <ownedAttribute xmi:id="_kLNdAF8DEeGerN33d-RdRg" name="name"> - <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kLSVgF8DEeGerN33d-RdRg" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kLS8kF8DEeGerN33d-RdRg" value="1"/> - </ownedAttribute> - <interfaceRealization xmi:id="_DHTiQDF7EeCpQdhNuFCtew" name="derived realization of ILifeCycle" client="_tyiqsc__Ed-TP80eVS-2Rg"> - <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/> - <contract href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/> - </interfaceRealization> - <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_tyjRwc__Ed-TP80eVS-2Rg" name="activate" specification="_tyjRy8__Ed-TP80eVS-2Rg"> - <language>C/C++</language> - <body>cout << "wait for data on port p" << endl; -for (int i = 0; i<25; i++) { - if (p->hasData ()) { - components::interfaces::PubData data = p->pull (); - cout << "Componenent " << name << " received data: x = " << data.x << " y = " << data.y << endl; - } - usleep (100*1000); -} -cout << "finished waiting" << endl; -</body> - </ownedBehavior> - <ownedOperation xmi:id="_tyjRy8__Ed-TP80eVS-2Rg" name="activate" method="_tyjRwc__Ed-TP80eVS-2Rg"/> - <ownedOperation xmi:id="_tyjRzM__Ed-TP80eVS-2Rg" name="deactivate"/> - </packagedElement> - <packagedElement xmi:type="uml:Class" xmi:id="_cc_tyiqsc__Ed-TP80eVS-2Rg" name="PullConsumer_impl_cc"> - <ownedAttribute xmi:id="e_tyiqsc__Ed-TP80eVS-2Rg" name="_executor" type="_tyiqsc__Ed-TP80eVS-2Rg" aggregation="composite"/> - <ownedAttribute xmi:type="uml:Port" xmi:id="_oEAooCxyEeOMQpc6Y-MAJw" name="p" type="_wFJ3IP91Ed6Jt8e-UqrRdQ" aggregation="composite"/> - <ownedAttribute xmi:type="uml:Port" xmi:id="_oENc8SxyEeOMQpc6Y-MAJw" name="lc" aggregation="composite"> - <type xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_oENc8ixyEeOMQpc6Y-MAJw" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_oENc8yxyEeOMQpc6Y-MAJw" value="1"/> - </ownedAttribute> - <ownedAttribute xmi:id="p_cc_tyiqsc__Ed-TP80eVS-2Rg1" name="intercept_lc0" aggregation="composite"> - <type xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_5J9coCXQEeGX6PuSE-DJlQ"/> - </ownedAttribute> - <ownedConnector xmi:id="_cc_tyiqsc__Ed-TP80eVS-2Rg0" name="delegation p"> - <end xmi:id="_oEM14SxyEeOMQpc6Y-MAJw" role="_oEAooCxyEeOMQpc6Y-MAJw"/> - <end xmi:id="_oENc8CxyEeOMQpc6Y-MAJw" partWithPort="e_tyiqsc__Ed-TP80eVS-2Rg" role="_tyiqs8__Ed-TP80eVS-2Rg"/> - </ownedConnector> - <ownedConnector xmi:id="_cc_tyiqsc__Ed-TP80eVS-2Rg10" name="c intercept_lc0 0"> - <end xmi:id="_oEcGcixyEeOMQpc6Y-MAJw" role="_oENc8SxyEeOMQpc6Y-MAJw"/> - <end xmi:id="_oEcGcyxyEeOMQpc6Y-MAJw" partWithPort="p_cc_tyiqsc__Ed-TP80eVS-2Rg1"> - <role xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#__SLXgNtxEd6nqsBVkgJEEA"/> - </end> - </ownedConnector> - <ownedConnector xmi:id="_cc_tyiqsc__Ed-TP80eVS-2Rg11" name="c intercept_lc0 1"> - <end xmi:id="_oEctgSxyEeOMQpc6Y-MAJw" partWithPort="e_tyiqsc__Ed-TP80eVS-2Rg"> - <role xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#__SLXgNtxEd6nqsBVkgJEEA"/> - </end> - <end xmi:id="_oEctgixyEeOMQpc6Y-MAJw" partWithPort="p_cc_tyiqsc__Ed-TP80eVS-2Rg1"> - <role xmi:type="uml:Port" href="pathmap://QML_CORE/core.uml#_ZjdOAP-EEd6628OhKk_dpg"/> - </end> - </ownedConnector> - </packagedElement> - </packagedElement> - <packagedElement xmi:type="uml:Package" xmi:id="_oDx_ISxyEeOMQpc6Y-MAJw" name="interfaces"> - <packagedElement xmi:type="uml:DataType" xmi:id="_wFJ3IP91Ed6Jt8e-UqrRdQ" name="PubData"> - <ownedAttribute xmi:id="_yywF0P91Ed6Jt8e-UqrRdQ" name="y" isUnique="false" aggregation="composite"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> - </ownedAttribute> - <ownedAttribute xmi:id="_zUgvEP91Ed6Jt8e-UqrRdQ" name="x" isUnique="false" aggregation="composite"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> - </ownedAttribute> - </packagedElement> - </packagedElement> - <packagedElement xmi:type="uml:Package" xmi:id="_oD1CcCxyEeOMQpc6Y-MAJw" name="Producer"> - <packagedElement xmi:type="uml:Class" xmi:id="_IfjoETLbEd2qeKRLMdIx_A" clientDependency="_jkNdADF8EeCpQdhNuFCtew" name="Producer_impl"> - <generalization xmi:id="_34FjAPx3Ed6O2oOTPfeAMA"> - <general xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_N6fa4JsrEd61Eo3nmu3JhQ"/> - </generalization> - <ownedAttribute xmi:type="uml:Port" xmi:id="_DtWn4DLcEd2qeKRLMdIx_A" name="q" type="_wFJ3IP91Ed6Jt8e-UqrRdQ" aggregation="composite"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_zDR50FuoEeGjjMeADLT5-g" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_zDTH8FuoEeGjjMeADLT5-g" value="1"/> - </ownedAttribute> - <interfaceRealization xmi:id="_jkNdADF8EeCpQdhNuFCtew" name="derived realization of IStart" client="_IfjoETLbEd2qeKRLMdIx_A"> - <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/> - <contract href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/> - </interfaceRealization> - <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_yXNVoKF4Ed6FqJCjEUrkqQ" name="run" specification="_dH4RIKF4Ed6FqJCjEUrkqQ"> - <language>C/C++</language> - <body>cout << "publish a value via port q;" << endl; -components::interfaces::PubData data; -data.x = 2; -data.y = 3; -for (int i = 0; i<20; i++) { - q->push (data); - cout << "." << flush; - // wait 200ms - usleep (200*1000); -} -</body> - </ownedBehavior> - <ownedOperation xmi:id="_dH4RIKF4Ed6FqJCjEUrkqQ" name="run" method="_yXNVoKF4Ed6FqJCjEUrkqQ"/> - </packagedElement> - </packagedElement> - </packagedElement> - <packagedElement xmi:type="uml:Package" xmi:id="_oD6iACxyEeOMQpc6Y-MAJw" name="platform"> - <packagedElement xmi:type="uml:Package" xmi:id="_oD6iASxyEeOMQpc6Y-MAJw" name="HWArchitecturePlatform"> - <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_GQ1ekKwHEeCQX8uv_p0Q4A" name="monoNode" classifier="_zY9vMDLiEd2RVeNawwNNzg"/> - </packagedElement> - <packagedElement xmi:type="uml:Node" xmi:id="_zY9vMDLiEd2RVeNawwNNzg" name="MonoNode"/> - </packagedElement> - <packagedElement xmi:type="uml:Package" xmi:id="_oEg-8CxyEeOMQpc6Y-MAJw" name="DataExchange_PubData"> - <templateBinding xmi:id="_oEg-8SxyEeOMQpc6Y-MAJw"> - <parameterSubstitution xmi:id="_oEg-8ixyEeOMQpc6Y-MAJw" actual="_wFJ3IP91Ed6Jt8e-UqrRdQ"> - <formal xmi:type="uml:ClassifierTemplateParameter" href="pathmap://QML_CORE/fifo.uml#_diTcwHLoEd6R5tffIPrlPg"/> - </parameterSubstitution> - <signature href="pathmap://QML_CORE/fifo.uml#_cHY98HLoEd6R5tffIPrlPg"/> - </templateBinding> - <packagedElement xmi:type="uml:Package" xmi:id="_oEg-8yxyEeOMQpc6Y-MAJw" name="FIFO"> - <packagedElement xmi:type="uml:Class" xmi:id="_Y1jF8HPpEd6R5tffIPrlPg" clientDependency="_y6XsAF72EeGerN33d-RdRg _oFWscCxyEeOMQpc6Y-MAJw _oFWscSxyEeOMQpc6Y-MAJw" name="FIFO_impl"> - <generalization xmi:id="_Z4Oq8HPpEd6R5tffIPrlPg" general="_wh_EwHLmEd6R5tffIPrlPg"/> - <generalization xmi:id="_ws_1gF72EeGerN33d-RdRg"> - <general xmi:type="uml:Class" href="pathmap://QML_CORE/core.uml#_-WNegNtxEd6nqsBVkgJEEA"/> - </generalization> - <ownedAttribute xmi:id="_6iV9wHUHEd6R5tffIPrlPg" name="m_push_pos" isUnique="false" aggregation="composite"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> - </ownedAttribute> - <ownedAttribute xmi:id="_RlKZIHUIEd6R5tffIPrlPg" name="m_pull_pos" isUnique="false" aggregation="composite"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> - </ownedAttribute> - <ownedAttribute xmi:id="_XDRnoHUIEd6R5tffIPrlPg" name="m_size" isUnique="false" aggregation="composite"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_SUhOUBGcEd-rfYlCjUOxJQ" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_SUpKIBGcEd-rfYlCjUOxJQ" value="1"/> - <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_T1yz0BGcEd-rfYlCjUOxJQ" value="20"/> - </ownedAttribute> - <ownedAttribute xmi:id="_XcO6MHUIEd6R5tffIPrlPg" name="m_filled" isUnique="false" aggregation="composite"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> - </ownedAttribute> - <ownedAttribute xmi:id="_zNeIsBGZEd-rfYlCjUOxJQ" name="m_fifo" visibility="public" type="_wFJ3IP91Ed6Jt8e-UqrRdQ" isUnique="false" aggregation="composite"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q8o1YBGcEd-rfYlCjUOxJQ"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q8vjEBGcEd-rfYlCjUOxJQ" value="*"/> - </ownedAttribute> - <interfaceRealization xmi:id="_y6XsAF72EeGerN33d-RdRg" name="derived realization of ILifeCycle" client="_Y1jF8HPpEd6R5tffIPrlPg"> - <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/> - <contract href="pathmap://QML_CORE/sysinterfaces.uml#_T3li0Dz6Ed-v9PxuTj6Elw"/> - </interfaceRealization> - <interfaceRealization xmi:id="_oFWscCxyEeOMQpc6Y-MAJw" name="derived realization of D_Push_PubData" client="_Y1jF8HPpEd6R5tffIPrlPg" supplier="_oFMUZCxyEeOMQpc6Y-MAJw" contract="_oFMUZCxyEeOMQpc6Y-MAJw"/> - <interfaceRealization xmi:id="_oFWscSxyEeOMQpc6Y-MAJw" name="derived realization of D_PullConsumer_PubData" client="_Y1jF8HPpEd6R5tffIPrlPg" supplier="_oFQl0yxyEeOMQpc6Y-MAJw" contract="_oFQl0yxyEeOMQpc6Y-MAJw"/> - <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_FjGlgP69Ed6Zw96O-tCw7A" name="pull" specification="_EYx84P68Ed6Zw96O-tCw7A"> - <ownedParameter xmi:id="_oFq1gCxyEeOMQpc6Y-MAJw" name="ret" type="_wFJ3IP91Ed6Jt8e-UqrRdQ" direction="return"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_oFq1gSxyEeOMQpc6Y-MAJw" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_oFq1gixyEeOMQpc6Y-MAJw" value="1"/> - </ownedParameter> - <language>C/C++</language> - <body>if (m_filled > 0) { - int current_pos = m_pull_pos; - - m_pull_pos ++; - m_filled --; - if (m_pull_pos == m_size) { - m_pull_pos = 0; - } - return m_fifo [current_pos]; -}</body> - </ownedBehavior> - <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_IwXLsP69Ed6Zw96O-tCw7A" name="push" specification="_EYsdUP68Ed6Zw96O-tCw7A"> - <ownedParameter xmi:id="_oFq1gyxyEeOMQpc6Y-MAJw" name="data" type="_wFJ3IP91Ed6Jt8e-UqrRdQ"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_oFq1hCxyEeOMQpc6Y-MAJw" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_oFq1hSxyEeOMQpc6Y-MAJw" value="1"/> - </ownedParameter> - <language>C/C++</language> - <body>// copy passed parameters ... -if (m_filled < m_size) { - m_fifo [m_push_pos] = data; - m_push_pos ++; - m_filled ++; - if (m_push_pos == m_size) { - m_push_pos = 0; - } -}</body> - </ownedBehavior> - <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="__Ha0IBJHEd-XjYZ05V-9-Q" name="hasData"> - <ownedParameter xmi:id="_oFq1hixyEeOMQpc6Y-MAJw" name="ret" direction="return"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_Bv7l0B-VEd6nGq8wpI2tjg"/> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_oFrckCxyEeOMQpc6Y-MAJw" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_oFrckSxyEeOMQpc6Y-MAJw" value="1"/> - </ownedParameter> - <language>C/C++</language> - <body>return (m_filled > 0);</body> - </ownedBehavior> - <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_QzOqwK8yEeCXIcykFPsB8Q" name="activate" specification="_5IpEwK8xEeCXIcykFPsB8Q"> - <language>C/C++</language> - <body> -if (m_size == 0) { - cerr << "Warning: size of FIFO is not properly configured (=0!)" << endl; -} -m_fifo = new ProducerTwoConsumers::components::interfaces::PubData[m_size];</body> - </ownedBehavior> - <ownedOperation xmi:id="_EYx84P68Ed6Zw96O-tCw7A" name="pull" method="_FjGlgP69Ed6Zw96O-tCw7A"> - <ownedParameter xmi:id="_EYx84f68Ed6Zw96O-tCw7A" name="ret" type="_wFJ3IP91Ed6Jt8e-UqrRdQ" direction="return"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_EYx84v68Ed6Zw96O-tCw7A" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_EYx84_68Ed6Zw96O-tCw7A" value="1"/> - </ownedParameter> - </ownedOperation> - <ownedOperation xmi:id="_EYsdUP68Ed6Zw96O-tCw7A" name="push" method="_IwXLsP69Ed6Zw96O-tCw7A"> - <ownedParameter xmi:id="_EYtEYP68Ed6Zw96O-tCw7A" name="data" type="_wFJ3IP91Ed6Jt8e-UqrRdQ"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_EYtEYf68Ed6Zw96O-tCw7A" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_EYtEYv68Ed6Zw96O-tCw7A" value="1"/> - </ownedParameter> - </ownedOperation> - <ownedOperation xmi:id="_5IpEwK8xEeCXIcykFPsB8Q" name="activate" method="_QzOqwK8yEeCXIcykFPsB8Q"/> - <ownedOperation xmi:id="_y7cqEF72EeGerN33d-RdRg" name="deactivate"/> - <ownedOperation xmi:id="_oFX6kCxyEeOMQpc6Y-MAJw" name="configuration_complete"/> - <ownedOperation xmi:id="_oFmkECxyEeOMQpc6Y-MAJw" name="data"> - <ownedParameter xmi:id="_oFmkESxyEeOMQpc6Y-MAJw" name="ret" direction="return"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_Bv7l0B-VEd6nGq8wpI2tjg"/> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_oFmkEixyEeOMQpc6Y-MAJw" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_oFnLICxyEeOMQpc6Y-MAJw" value="1"/> - </ownedParameter> - </ownedOperation> - </packagedElement> - </packagedElement> - <packagedElement xmi:type="uml:Class" xmi:id="_wh_EwHLmEd6R5tffIPrlPg" name="PushPull" isAbstract="true"> - <generalization xmi:id="_6zGSwHLnEd6R5tffIPrlPg" general="_unqQoHLnEd6R5tffIPrlPg"/> - <generalization xmi:id="_9mPv0HLnEd6R5tffIPrlPg" general="_wtZ1IHLnEd6R5tffIPrlPg"/> - </packagedElement> - <packagedElement xmi:type="uml:Class" xmi:id="_unqQoHLnEd6R5tffIPrlPg" name="PushP" isAbstract="true"> - <ownedAttribute xmi:type="uml:Port" xmi:id="_xHb7MHLmEd6R5tffIPrlPg" name="pushP" visibility="public" type="_wFJ3IP91Ed6Jt8e-UqrRdQ" aggregation="composite" isConjugated="true"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_SJlB4DFrEeCz5-DK9j5azg" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_SLJvMDFrEeCz5-DK9j5azg" value="1"/> - <defaultValue xmi:type="uml:LiteralString" xmi:id="_iRXR8P3IEeC1YdT2qA0bjA"> - <value xsi:nil="true"/> - </defaultValue> - </ownedAttribute> - </packagedElement> - <packagedElement xmi:type="uml:Class" xmi:id="_wtZ1IHLnEd6R5tffIPrlPg" name="PullC" isAbstract="true"> - <ownedAttribute xmi:type="uml:Port" xmi:id="_xcu1wHLmEd6R5tffIPrlPg" name="pullC" visibility="public" type="_wFJ3IP91Ed6Jt8e-UqrRdQ" aggregation="composite" isConjugated="true"> - <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VhIMgDFrEeCz5-DK9j5azg" value="1"/> - <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ViKuUDFrEeCz5-DK9j5azg" value="1"/> - <defaultValue xmi:type="uml:LiteralString" xmi:id="_2az3IC_fEeKl_vDGXh-OPw"> - <value xsi:nil="true"/> - </defaultValue> - </ownedAttribute> - </packagedElement> - </packagedElement> - <packagedElement xmi:type="uml:Package" xmi:id="_oFMUYCxyEeOMQpc6Y-MAJw" name="derivedInterfaces"> - <packagedElement xmi:type="uml:Package" xmi:id="_oFMUYSxyEeOMQpc6Y-MAJw" name="ProducerTwoConsumers"> - <packagedElement xmi:type="uml:Package" xmi:id="_oFMUYixyEeOMQpc6Y-MAJw" name="components"> - <packagedElement xmi:type="uml:Package" xmi:id="_oFMUYyxyEeOMQpc6Y-MAJw" name="interfaces"> - <packagedElement xmi:type="uml:Interface" xmi:id="_oFMUZCxyEeOMQpc6Y-MAJw" name="D_Push_PubData"> - <ownedOperation xmi:id="_oFQl0SxyEeOMQpc6Y-MAJw" name="push"> - <ownedParameter xmi:id="_oFQl0ixyEeOMQpc6Y-MAJw" name="data" type="_wFJ3IP91Ed6Jt8e-UqrRdQ"/> - </ownedOperation> - </packagedElement> - <packagedElement xmi:type="uml:Interface" xmi:id="_oFQl0yxyEeOMQpc6Y-MAJw" name="D_PullConsumer_PubData"> - <ownedOperation xmi:id="_oFVeUSxyEeOMQpc6Y-MAJw" name="pull"> - <ownedParameter xmi:id="_oFVeUixyEeOMQpc6Y-MAJw" name="ret" type="_wFJ3IP91Ed6Jt8e-UqrRdQ" direction="return"/> - </ownedOperation> - <ownedOperation xmi:id="_oFWFYCxyEeOMQpc6Y-MAJw" name="data"> - <ownedParameter xmi:id="_oFWFYSxyEeOMQpc6Y-MAJw" name="ret" direction="return"> - <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_Bv7l0B-VEd6nGq8wpI2tjg"/> - </ownedParameter> - </ownedOperation> - </packagedElement> - </packagedElement> - </packagedElement> - </packagedElement> - </packagedElement> - <profileApplication xmi:id="_oDr4gCxyEeOMQpc6Y-MAJw"> - <eAnnotations xmi:id="_oDr4gSxyEeOMQpc6Y-MAJw" source="http://www.eclipse.org/uml2/2.0.0/UML"> - <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#/"/> - </eAnnotations> - <appliedProfile href="pathmap://UML_PROFILES/StandardL2.profile.uml#_0"/> - </profileApplication> - <profileApplication xmi:id="_oDr4gixyEeOMQpc6Y-MAJw"> - <eAnnotations xmi:id="_oDr4gyxyEeOMQpc6Y-MAJw" source="http://www.eclipse.org/uml2/2.0.0/UML"> - <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> - </eAnnotations> - <appliedProfile href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/> - </profileApplication> - <profileApplication xmi:id="_oDr4hCxyEeOMQpc6Y-MAJw"> - <eAnnotations xmi:id="_oDr4hSxyEeOMQpc6Y-MAJw" source="http://www.eclipse.org/uml2/2.0.0/UML"> - <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/> - </eAnnotations> - <appliedProfile href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/> - </profileApplication> - <profileApplication xmi:id="_oDsfkCxyEeOMQpc6Y-MAJw"> - <eAnnotations xmi:id="_oDsfkSxyEeOMQpc6Y-MAJw" source="http://www.eclipse.org/uml2/2.0.0/UML"> - <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//GCM"/> - </eAnnotations> - <appliedProfile href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_YgAioAPMEdyuUt-4qHuVvQ"/> - </profileApplication> - <profileApplication xmi:id="_oDsfkixyEeOMQpc6Y-MAJw"> - <eAnnotations xmi:id="_oDsfkyxyEeOMQpc6Y-MAJw" source="http://www.eclipse.org/uml2/2.0.0/UML"> - <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//SRM"/> - </eAnnotations> - <appliedProfile href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_3VS0wAPMEdyuUt-4qHuVvQ"/> - </profileApplication> - <profileApplication xmi:id="_oDtGoCxyEeOMQpc6Y-MAJw"> - <eAnnotations xmi:id="_oDtGoSxyEeOMQpc6Y-MAJw" source="http://www.eclipse.org/uml2/2.0.0/UML"> - <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//SRM/SW_ResourceCore"/> - </eAnnotations> - <appliedProfile href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_-1fcUBJdEdy3Td9UhuLFPg"/> - </profileApplication> - <profileApplication xmi:id="_oDtGoixyEeOMQpc6Y-MAJw"> - <eAnnotations xmi:id="_oDttsCxyEeOMQpc6Y-MAJw" source="http://www.eclipse.org/uml2/2.0.0/UML"> - <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//SRM/SW_Concurrency"/> - </eAnnotations> - <appliedProfile href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_A_vtYBJeEdy3Td9UhuLFPg"/> - </profileApplication> - <profileApplication xmi:id="_oDttsSxyEeOMQpc6Y-MAJw"> - <eAnnotations xmi:id="_oDttsixyEeOMQpc6Y-MAJw" source="http://www.eclipse.org/uml2/2.0.0/UML"> - <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//HLAM"/> - </eAnnotations> - <appliedProfile href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_yNSZIAPMEdyuUt-4qHuVvQ"/> - </profileApplication> - <profileApplication xmi:id="_oDuUwCxyEeOMQpc6Y-MAJw"> - <eAnnotations xmi:id="_oDuUwSxyEeOMQpc6Y-MAJw" source="http://www.eclipse.org/uml2/2.0.0/UML"> - <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//SRM/SW_Brokering"/> - </eAnnotations> - <appliedProfile href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_Cf874BJeEdy3Td9UhuLFPg"/> - </profileApplication> - <profileApplication xmi:id="_oDuUwixyEeOMQpc6Y-MAJw"> - <eAnnotations xmi:id="_oDuUwyxyEeOMQpc6Y-MAJw" source="http://www.eclipse.org/uml2/2.0.0/UML"> - <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//SRM/SW_Interaction"/> - </eAnnotations> - <appliedProfile href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_EIfnABJeEdy3Td9UhuLFPg"/> - </profileApplication> - <profileApplication xmi:id="_oDu70CxyEeOMQpc6Y-MAJw"> - <eAnnotations xmi:id="_oDu70SxyEeOMQpc6Y-MAJw" source="http://www.eclipse.org/uml2/2.0.0/UML"> - <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc"/> - </eAnnotations> - <appliedProfile href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ar8OsAPMEdyuUt-4qHuVvQ"/> - </profileApplication> - </uml:Model> - <C_Cpp:Include xmi:id="_11OtwPcaEd-KM6l7lmIPkw" body="#include <iostream>
#include <unistd.h>
using namespace std;" base_class="_tyiqsc__Ed-TP80eVS-2Rg"/> - <FCM:RuleApplication xmi:id="_Jyda4F7zEeGA7qTe7UD05A" base_Class="_tyiqsc__Ed-TP80eVS-2Rg"> - <containerRule href="pathmap://QML_CORE/core.uml#_3Jq5MARLEd-OidZzGKCpzg"/> - <containerRule href="pathmap://QML_CORE/core.uml#_3Jq5MARLEd-OidZzGKCpzg"/> - </FCM:RuleApplication> - <GCM:FlowPort xmi:id="_oDx_JSxyEeOMQpc6Y-MAJw" direction="in" base_Port="_tyiqs8__Ed-TP80eVS-2Rg"/> - <FCM:Port xmi:id="_oDx_JixyEeOMQpc6Y-MAJw" base_Port="_tyiqs8__Ed-TP80eVS-2Rg"> - <kind href="pathmap://QML_CORE/core.uml#_x5mL4FRxEd6GqrP6fkWBoQ"/> - </FCM:Port> - <FCM:ConfigurationProperty xmi:id="_o8LRoF8DEeGerN33d-RdRg" base_Property="_kLNdAF8DEeGerN33d-RdRg"/> - <FCM:DerivedElement xmi:id="_oDz0UCxyEeOMQpc6Y-MAJw" base_Element="_tyjRy8__Ed-TP80eVS-2Rg"> - <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/> - </FCM:DerivedElement> - <FCM:DerivedElement xmi:id="_oDz0UixyEeOMQpc6Y-MAJw" base_Element="_tyjRzM__Ed-TP80eVS-2Rg"> - <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/> - </FCM:DerivedElement> - <C_Cpp:Include xmi:id="_7SAnAP76Ed6Zw96O-tCw7A" body="#include <iostream>
#include <unistd.h>
using namespace std;" base_class="_IfjoETLbEd2qeKRLMdIx_A"/> - <FCM:Port xmi:id="_IWQqoP6yEd6Ie_kieu_3CQ" base_Port="_DtWn4DLcEd2qeKRLMdIx_A"> - <kind href="pathmap://QML_CORE/core.uml#_qOK0cFR1Ed6GqrP6fkWBoQ"/> - </FCM:Port> - <GCM:FlowPort xmi:id="_ow3PkJZ7EeCiU5xXzp1cKQ" direction="out" base_Port="_DtWn4DLcEd2qeKRLMdIx_A"/> - <FCM:DerivedElement xmi:id="_oD23oSxyEeOMQpc6Y-MAJw" base_Element="_dH4RIKF4Ed6FqJCjEUrkqQ"> - <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/> - </FCM:DerivedElement> - <FCM:Connector xmi:id="_Kgl40FupEeGjjMeADLT5-g" base_Property="_EM2p4FupEeGjjMeADLT5-g"/> - <FCM:Target xmi:id="_oD7JECxyEeOMQpc6Y-MAJw" base_Node="_zY9vMDLiEd2RVeNawwNNzg"> - <targetArch href="pathmap://QML_CORE/core.uml#_FYOqwF0OEd-12d_h0i1xhQ"/> - <usedOS href="pathmap://QML_CORE/core.uml#_1eULwF0NEd-12d_h0i1xhQ"/> - </FCM:Target> - <Alloc:Allocate xmi:id="_oD_agCxyEeOMQpc6Y-MAJw" base_Abstraction="_oD7wICxyEeOMQpc6Y-MAJw"/> - <GCM:FlowPort xmi:id="_oEE6ECxyEeOMQpc6Y-MAJw" direction="in" base_Port="_oEAooCxyEeOMQpc6Y-MAJw"/> - <FCM:Port xmi:id="_oELnwCxyEeOMQpc6Y-MAJw" base_Port="_oEAooCxyEeOMQpc6Y-MAJw"> - <kind href="pathmap://QML_CORE/core.uml#_x5mL4FRxEd6GqrP6fkWBoQ"/> - </FCM:Port> - <FCM:Port xmi:id="_oEUxsCxyEeOMQpc6Y-MAJw" base_Port="_oENc8SxyEeOMQpc6Y-MAJw"> - <kind href="pathmap://QML_CORE/core.uml#_wySlkFRxEd6GqrP6fkWBoQ"/> - </FCM:Port> - <FCM:InteractionComponent xmi:id="_xQ_ccHUuEd6R5tffIPrlPg" base_Class="_Y1jF8HPpEd6R5tffIPrlPg"/> - <C_Cpp:Include xmi:id="_fUHyQF8DEeGerN33d-RdRg" body="#include <iostream>
using namespace std;" base_class="_Y1jF8HPpEd6R5tffIPrlPg"/> - <FCM:InteractionComponent xmi:id="_IwT2cP6_Ed6Zw96O-tCw7A" base_Class="_wh_EwHLmEd6R5tffIPrlPg"/> - <FCM:Port xmi:id="_42zlMHLnEd6R5tffIPrlPg" base_Port="_xHb7MHLmEd6R5tffIPrlPg"> - <kind href="pathmap://QML_CORE/core.uml#_qOK0cFR1Ed6GqrP6fkWBoQ"/> - </FCM:Port> - <FCM:Port xmi:id="_57KlMHLnEd6R5tffIPrlPg" base_Port="_xcu1wHLmEd6R5tffIPrlPg"> - <kind href="pathmap://QML_CORE/core.uml#_x5mL4FRxEd6GqrP6fkWBoQ"/> - </FCM:Port> - <FCM:ConfigurationProperty xmi:id="_FxN9cLC0EeCaaIdtw75MLg" base_Property="_XDRnoHUIEd6R5tffIPrlPg"/> - <FCM:DerivedElement xmi:id="_EYzyEP68Ed6Zw96O-tCw7A" base_Element="_EYx84P68Ed6Zw96O-tCw7A" source="_oFVeUSxyEeOMQpc6Y-MAJw"/> - <FCM:DerivedElement xmi:id="_0TVb8P6-Ed6Zw96O-tCw7A" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_7HAIIP6-Ed6Zw96O-tCw7A" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_vfETEARNEd-OidZzGKCpzg" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_op6Y4AnOEd-9beZpMGts2w" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_6tSQAAnUEd-co_m_wv4b6A" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_YMw7cBGZEd-rfYlCjUOxJQ" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_t04d8BGaEd-rfYlCjUOxJQ" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_G7QQABGcEd-rfYlCjUOxJQ" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_C5J9cBGlEd-Jq_XWT8Mhpg" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_IAxtYBI7Ed-3zOZ0RGapGA" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_AnPpIBI9Ed-XjYZ05V-9-Q" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_11WOABJWEd-QgZm_R1AKbA" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_C7WOoBQ-Ed-_dI0JopJMvQ" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_kUNw0Bb8Ed-u0pMEAnvpEQ" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_6-1mQBcKEd-Tda7vKXmT2A" base_Element="_EYx84P68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_EYu5kP68Ed6Zw96O-tCw7A" base_Element="_EYsdUP68Ed6Zw96O-tCw7A" source="_oFQl0SxyEeOMQpc6Y-MAJw"/> - <FCM:DerivedElement xmi:id="_0TRKgP6-Ed6Zw96O-tCw7A" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_7G9E0P6-Ed6Zw96O-tCw7A" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_vfBPwARNEd-OidZzGKCpzg" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_op38oAnOEd-9beZpMGts2w" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_6tRB4AnUEd-co_m_wv4b6A" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_YMvtUBGZEd-rfYlCjUOxJQ" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_t02owBGaEd-rfYlCjUOxJQ" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_G7PB4BGcEd-rfYlCjUOxJQ" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_C4zYIBGlEd-Jq_XWT8Mhpg" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_IAwfQBI7Ed-3zOZ0RGapGA" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_AnNM4BI9Ed-XjYZ05V-9-Q" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_11TxwBJWEd-QgZm_R1AKbA" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_C7UZcBQ-Ed-_dI0JopJMvQ" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_kUMisBb8Ed-u0pMEAnvpEQ" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:DerivedElement xmi:id="_6-zKABcKEd-Tda7vKXmT2A" base_Element="_EYsdUP68Ed6Zw96O-tCw7A"/> - <FCM:Template xmi:id="_oE-5ACxyEeOMQpc6Y-MAJw" base_Element="_5IpEwK8xEeCXIcykFPsB8Q"/> - <FCM:DerivedElement xmi:id="_oE_gECxyEeOMQpc6Y-MAJw" base_Element="_5IpEwK8xEeCXIcykFPsB8Q"> - <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_WHyq4Dz6Ed-v9PxuTj6Elw"/> - </FCM:DerivedElement> - <FCM:DerivedElement xmi:id="_oFLtUCxyEeOMQpc6Y-MAJw" base_Element="_y7cqEF72EeGerN33d-RdRg"> - <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_W7YrADz6Ed-v9PxuTj6Elw"/> - </FCM:DerivedElement> - <FCM:DerivedElement xmi:id="_oFQl0CxyEeOMQpc6Y-MAJw" base_Element="_oFMUZCxyEeOMQpc6Y-MAJw" source="_wFJ3IP91Ed6Jt8e-UqrRdQ"/> - <FCM:DerivedElement xmi:id="_oFVeUCxyEeOMQpc6Y-MAJw" base_Element="_oFQl0yxyEeOMQpc6Y-MAJw" source="_wFJ3IP91Ed6Jt8e-UqrRdQ"/> - <FCM:DerivedElement xmi:id="_oFbk8CxyEeOMQpc6Y-MAJw" base_Element="_oFX6kCxyEeOMQpc6Y-MAJw"> - <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_ns4qsClUEeO4bs_nkcnKOg"/> - </FCM:DerivedElement> - <FCM:DerivedElement xmi:id="_oFqOcCxyEeOMQpc6Y-MAJw" base_Element="_oFmkECxyEeOMQpc6Y-MAJw" source="_oFWFYCxyEeOMQpc6Y-MAJw"/> -</xmi:XMI> diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/Messages.java b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/Messages.java new file mode 100644 index 00000000000..e1cc36702a5 --- /dev/null +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/Messages.java @@ -0,0 +1,30 @@ +package org.eclipse.papyrus.infra.services.tracepoints; + +import org.eclipse.osgi.util.NLS; + +public class Messages extends NLS { + private static final String BUNDLE_NAME = "org.eclipse.papyrus.infra.services.tracepoints.messages"; //$NON-NLS-1$ + + public static String TraceActionSelection_ClassOptions; + public static String TraceActionSelection_ImplementationOptions; + public static String TraceActionSelection_NoPluginsProvideTraceExt; + public static String TraceActionSelection_NotAvail; + public static String TraceActionSelection_OperationOptions; + public static String TraceActionSelection_SelectTraceAction; + public static String TraceActionSelection_StateOptions; + + public static String TPPreferencePage_ClassOptions; + public static String TPPreferencePage_OperationOptions; + public static String TPPreferencePage_StateOptions; + public static String TPPreferencePage_TMforOperations; + public static String TPPreferencePage_TMforPorts; + public static String TPPreferencePage_TMforStateMachines; + public static String TPPreferencePage_TraceOptions; + static { + // initialize resource bundle + NLS.initializeMessages(BUNDLE_NAME, Messages.class); + } + + private Messages() { + } +} diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/TraceActions.java b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/TraceActions.java index 6eaf7a25518..e8268e95b13 100644 --- a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/TraceActions.java +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/TraceActions.java @@ -135,16 +135,16 @@ public class TraceActions { */ public static String getStringPrefix(TraceFeature feature) { if(feature == TraceFeature.Class) { - return "C:"; + return "C:"; //$NON-NLS-1$ } if(feature == TraceFeature.Port) { - return "P:"; + return "P:"; //$NON-NLS-1$ } else if(feature == TraceFeature.State) { - return "S:"; + return "S:"; //$NON-NLS-1$ } else if(feature == TraceFeature.Operation) { - return "O:"; + return "O:"; //$NON-NLS-1$ } return null; } @@ -171,12 +171,12 @@ public class TraceActions { else if(feature == TraceFeature.Operation) { return store.getString(TPPreferenceConstants.P_TRACE_OPTION_OP); } - return ""; + return ""; //$NON-NLS-1$ } public static String compositeClassOption(int classOption, int stateOption, int operationOption) { - return getStringPrefix(TraceFeature.Class) + classOption + "," + - getStringPrefix(TraceFeature.State) + stateOption + "," + + return getStringPrefix(TraceFeature.Class) + classOption + "," + //$NON-NLS-1$ + getStringPrefix(TraceFeature.State) + stateOption + "," + //$NON-NLS-1$ getStringPrefix(TraceFeature.Operation) + operationOption; } diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/TraceFunctions.java b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/TraceFunctions.java index eb9b2fc2a82..24aea1be26c 100644 --- a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/TraceFunctions.java +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/TraceFunctions.java @@ -24,21 +24,21 @@ import org.eclipse.papyrus.infra.services.markerlistener.IPapyrusMarker; public class TraceFunctions implements IDecorationSpecificFunctions { - public static final String activeBreakpoint16 = "icons/etool16/brkp_16x16.gif"; + public static final String activeBreakpoint16 = "icons/etool16/brkp_16x16.gif"; //$NON-NLS-1$ - public static final String inActiveBreakpoint16 = "icons/etool16/brkpd_16x16.gif"; + public static final String inActiveBreakpoint16 = "icons/etool16/brkpd_16x16.gif"; //$NON-NLS-1$ - public static final String activeTracepoint16 = "icons/etool16/trcp_16x16.gif"; + public static final String activeTracepoint16 = "icons/etool16/trcp_16x16.gif"; //$NON-NLS-1$ - public static final String inActiveTracepoint16 = "icons/etool16/trcpd_16x16.gif"; + public static final String inActiveTracepoint16 = "icons/etool16/trcpd_16x16.gif"; //$NON-NLS-1$ - public static final String activeBreakpoint9 = "icons/etool16/brkp_9x9.gif"; + public static final String activeBreakpoint9 = "icons/etool16/brkp_9x9.gif"; //$NON-NLS-1$ - public static final String inActiveBreakpoint9 = "icons/etool16/brkpd_9x9.gif"; + public static final String inActiveBreakpoint9 = "icons/etool16/brkpd_9x9.gif"; //$NON-NLS-1$ - public static final String activeTracepoint11 = "icons/etool16/trcp_11x12.gif"; + public static final String activeTracepoint11 = "icons/etool16/trcp_11x12.gif"; //$NON-NLS-1$ - public static final String inActiveTracepoint11 = "icons/etool16/trcp_11x12.gif"; + public static final String inActiveTracepoint11 = "icons/etool16/trcp_11x12.gif"; //$NON-NLS-1$ /** * Return the image descriptor associated with a trace or breakpoint marker @@ -95,8 +95,8 @@ public class TraceFunctions implements IDecorationSpecificFunctions { public String getMessage(IPapyrusMarker marker) { boolean isActive = marker.getAttribute(TracepointConstants.isActive, false); boolean isTracepoint = marker.getAttribute(TracepointConstants.isTracepoint, false); - return (isActive ? "active" : "inactive") + " " + - (isTracepoint ? "trace point" : "break point"); + return (isActive ? "active" : "inactive") + " " + //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$ + (isTracepoint ? "trace point" : "break point"); //$NON-NLS-1$//$NON-NLS-2$ } public int getPriority(IMarker marker) { diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/TraceMechanism.java b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/TraceMechanism.java index 3edea4d3717..4866eb27422 100644 --- a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/TraceMechanism.java +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/TraceMechanism.java @@ -31,7 +31,7 @@ import org.eclipse.papyrus.infra.services.tracepoints.preferences.TPPreferenceCo public class TraceMechanism { - public static final String ITRACE_MECHANISM_ID = Activator.PLUGIN_ID + ".traceMechanism"; + public static final String ITRACE_MECHANISM_ID = Activator.PLUGIN_ID + ".traceMechanism"; //$NON-NLS-1$ public static EList<ITraceMechanism> getTraceMechanisms() { @@ -41,7 +41,7 @@ public class TraceMechanism { for(IConfigurationElement configElement : configElements) { try { // TODO: cache returned instance (avoid creating a new instance each time => more efficient, no need for static attributes) - final Object obj = configElement.createExecutableExtension("class"); + final Object obj = configElement.createExecutableExtension("class"); //$NON-NLS-1$ if(obj instanceof ITraceMechanism) { mechanisms.add((ITraceMechanism)obj); } @@ -62,8 +62,8 @@ public class TraceMechanism { IPreferenceStore store = Activator.getDefault().getPreferenceStore(); if(store != null) { if(feature == TraceFeature.Class) { - return TraceActions.getStringPrefix(TraceFeature.Port) + store.getInt(TPPreferenceConstants.P_TRACE_IMPLEMENTATION_PORT) + "," + - TraceActions.getStringPrefix(TraceFeature.State) + store.getInt(TPPreferenceConstants.P_TRACE_IMPLEMENTATION_SM) + "," + + return TraceActions.getStringPrefix(TraceFeature.Port) + store.getInt(TPPreferenceConstants.P_TRACE_IMPLEMENTATION_PORT) + "," + //$NON-NLS-1$ + TraceActions.getStringPrefix(TraceFeature.State) + store.getInt(TPPreferenceConstants.P_TRACE_IMPLEMENTATION_SM) + "," + //$NON-NLS-1$ TraceActions.getStringPrefix(TraceFeature.Operation) + store.getInt(TPPreferenceConstants.P_TRACE_IMPLEMENTATION_OP); } else if(feature == TraceFeature.State) { @@ -73,7 +73,7 @@ public class TraceMechanism { return store.getString(TPPreferenceConstants.P_TRACE_IMPLEMENTATION_OP); } } - return ""; + return ""; //$NON-NLS-1$ } /** diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/TracepointConstants.java b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/TracepointConstants.java index f4d617c6e7c..7f29b3ccdde 100644 --- a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/TracepointConstants.java +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/TracepointConstants.java @@ -20,13 +20,13 @@ public class TracepointConstants { /** * The id of the marker used for tracepoints and breakpoints */ - public static final String tpOrbpMarker = "org.eclipse.papyrus.tporbpmarker"; + public static final String tpOrbpMarker = "org.eclipse.papyrus.tporbpmarker"; //$NON-NLS-1$ - public static final String isActive = "isActive"; + public static final String isActive = "isActive"; //$NON-NLS-1$ - public static final String isTracepoint = "isTracepoint"; + public static final String isTracepoint = "isTracepoint"; //$NON-NLS-1$ - public static final String traceAction = "traceAction"; + public static final String traceAction = "traceAction"; //$NON-NLS-1$ - public static final String traceMechanism = "traceMechanism"; + public static final String traceMechanism = "traceMechanism"; //$NON-NLS-1$ } diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/commands/AbstractTracepointCommand.java b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/commands/AbstractTracepointCommand.java index 5f6758a19f8..3aacc8ea5cd 100644 --- a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/commands/AbstractTracepointCommand.java +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/commands/AbstractTracepointCommand.java @@ -68,7 +68,7 @@ abstract public class AbstractTracepointCommand extends AbstractTransactionalCom protected void updateResourceAndURI() { resource = selectedElement.eResource(); - uri = resource.getURI() + "#" + resource.getURIFragment(selectedElement); + uri = resource.getURI() + "#" + resource.getURIFragment(selectedElement); //$NON-NLS-1$ iresource = WorkspaceSynchronizer.getFile(selectedElement.eResource()); } @@ -77,7 +77,7 @@ abstract public class AbstractTracepointCommand extends AbstractTransactionalCom if(iresource != null) { try { for(IMarker marker : iresource.findMarkers(type, false, IResource.DEPTH_INFINITE)) { - String markerURI = marker.getAttribute(MarkerConstants.uri, ""); + String markerURI = marker.getAttribute(MarkerConstants.uri, ""); //$NON-NLS-1$ if((markerURI != null) && markerURI.equals(uri)) { return marker; } @@ -124,7 +124,7 @@ abstract public class AbstractTracepointCommand extends AbstractTransactionalCom id = store.getDefaultString(TPPreferenceConstants.P_TRACE_IMPLEMENTATION_OP); } else if(selectedElement instanceof Port) { - id = store.getDefaultString(TPPreferenceConstants.P_TRACE_IMPLEMENTATION_OP); + id = store.getDefaultString(TPPreferenceConstants.P_TRACE_IMPLEMENTATION_PORT); } else if(selectedElement instanceof State) { id = store.getDefaultString(TPPreferenceConstants.P_TRACE_IMPLEMENTATION_SM); diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/commands/ToggleBreakpointActivationCommand.java b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/commands/ToggleBreakpointActivationCommand.java index aac91107a20..cb86d378340 100644 --- a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/commands/ToggleBreakpointActivationCommand.java +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/commands/ToggleBreakpointActivationCommand.java @@ -25,7 +25,7 @@ import org.eclipse.gmf.runtime.common.core.command.CommandResult; public class ToggleBreakpointActivationCommand extends AbstractTracepointCommand { public ToggleBreakpointActivationCommand(EObject selectedElement) { - super("Toggle Breakpoint activation", TransactionUtil.getEditingDomain(selectedElement), selectedElement); + super("Toggle Breakpoint activation", TransactionUtil.getEditingDomain(selectedElement), selectedElement); //$NON-NLS-1$ } /** diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/commands/ToggleBreakpointCommand.java b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/commands/ToggleBreakpointCommand.java index 2a3dcc3d415..60c891cd02f 100644 --- a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/commands/ToggleBreakpointCommand.java +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/commands/ToggleBreakpointCommand.java @@ -25,7 +25,7 @@ import org.eclipse.gmf.runtime.common.core.command.CommandResult; public class ToggleBreakpointCommand extends AbstractTracepointCommand { public ToggleBreakpointCommand(EObject selectedElement) { - super("Toggle Breakpoint", TransactionUtil.getEditingDomain(selectedElement), selectedElement); + super("Toggle Breakpoint", TransactionUtil.getEditingDomain(selectedElement), selectedElement); //$NON-NLS-1$ } /** diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/commands/ToggleTracepointActivationCommand.java b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/commands/ToggleTracepointActivationCommand.java index 0b636e0b2cc..6881780fde1 100644 --- a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/commands/ToggleTracepointActivationCommand.java +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/commands/ToggleTracepointActivationCommand.java @@ -25,7 +25,7 @@ import org.eclipse.gmf.runtime.common.core.command.CommandResult; public class ToggleTracepointActivationCommand extends AbstractTracepointCommand { public ToggleTracepointActivationCommand(EObject selectedElement) { - super("Toggle tracepoint activation", TransactionUtil.getEditingDomain(selectedElement), selectedElement); + super("Toggle tracepoint activation", TransactionUtil.getEditingDomain(selectedElement), selectedElement); //$NON-NLS-1$ } /** diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/commands/ToggleTracepointCommand.java b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/commands/ToggleTracepointCommand.java index 178f271b95e..5130ae7dbbb 100644 --- a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/commands/ToggleTracepointCommand.java +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/commands/ToggleTracepointCommand.java @@ -29,7 +29,7 @@ import org.eclipse.papyrus.infra.services.tracepoints.TracepointConstants; public class ToggleTracepointCommand extends AbstractTracepointCommand { public ToggleTracepointCommand(EObject selectedElement) { - super("Toggle tracepoint", TransactionUtil.getEditingDomain(selectedElement), selectedElement); + super("Toggle tracepoint", TransactionUtil.getEditingDomain(selectedElement), selectedElement); //$NON-NLS-1$ } /** diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/commands/TracepointPropertiesCommand.java b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/commands/TracepointPropertiesCommand.java index feca6cb8a7c..791bd165fd1 100644 --- a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/commands/TracepointPropertiesCommand.java +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/commands/TracepointPropertiesCommand.java @@ -32,7 +32,7 @@ import org.eclipse.uml2.uml.Element; public class TracepointPropertiesCommand extends AbstractTracepointCommand { public TracepointPropertiesCommand(EObject selectedElement) { - super("Tracepoint properties", TransactionUtil.getEditingDomain(selectedElement), selectedElement); + super("Tracepoint properties", TransactionUtil.getEditingDomain(selectedElement), selectedElement); //$NON-NLS-1$ } /** diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/dialogs/TraceActionSelection.java b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/dialogs/TraceActionSelection.java index b1258f9f19e..5036cd650db 100644 --- a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/dialogs/TraceActionSelection.java +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/dialogs/TraceActionSelection.java @@ -31,6 +31,7 @@ import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.jface.viewers.SelectionChangedEvent; import org.eclipse.jface.viewers.Viewer; import org.eclipse.papyrus.infra.services.tracepoints.ITraceMechanism; +import org.eclipse.papyrus.infra.services.tracepoints.Messages; import org.eclipse.papyrus.infra.services.tracepoints.TraceActions; import org.eclipse.papyrus.infra.services.tracepoints.TraceActions.TAClass; import org.eclipse.papyrus.infra.services.tracepoints.TraceActions.TAOperation; @@ -106,7 +107,7 @@ public class TraceActionSelection extends SelectionStatusDialog { else if(m_me instanceof Operation) { traceActionValue = operationOptions.getResult(); } - String traceMechanism = ""; + String traceMechanism = ""; //$NON-NLS-1$ for(Object tableElement : fTraceImplementations.getCheckedElements()) { traceMechanism = (String)tableElement; }; @@ -149,7 +150,7 @@ public class TraceActionSelection extends SelectionStatusDialog { EList<ITraceMechanism> mechanisms = TraceMechanism.getTraceMechanisms(); if(mechanisms.size() == 0) { - items = new String[]{ "no plugins provide trace extension mechanism" }; + items = new String[]{ Messages.TraceActionSelection_NoPluginsProvideTraceExt }; } else { EList<String> idList = new BasicEList<String>(); @@ -168,7 +169,7 @@ public class TraceActionSelection extends SelectionStatusDialog { Composite contents = (Composite)super.createDialogArea(parent); Label label = new Label(contents, SWT.NONE); - label.setText("Select trace action for this element"); + label.setText(Messages.TraceActionSelection_SelectTraceAction); // need context dependent dialogs on options // we may need more than one options (e.g. AllOperations + OperationsWithParameters + (begin/end or both?)) @@ -177,28 +178,28 @@ public class TraceActionSelection extends SelectionStatusDialog { String[][] taClassOptions = TraceActions.getStringFields(TAClass.values()); String[][] taStateOptions = TraceActions.getStringFields(TAState.values()); String[][] taOperationOptions = TraceActions.getStringFields(TAOperation.values()); - String actionString = m_marker.getAttribute(TracepointConstants.traceAction, ""); - String mechanismID = m_marker.getAttribute(TracepointConstants.traceMechanism, ""); + String actionString = m_marker.getAttribute(TracepointConstants.traceAction, ""); //$NON-NLS-1$ + String mechanismID = m_marker.getAttribute(TracepointConstants.traceMechanism, ""); //$NON-NLS-1$ if(m_me instanceof State) { - stateOptions = new BinaryEncodedMChoiceFieldEditor("State options", 3, taStateOptions, contents, true); + stateOptions = new BinaryEncodedMChoiceFieldEditor(Messages.TraceActionSelection_StateOptions, 3, taStateOptions, contents, true); stateOptions.setupViaString(actionString); } else if(m_me instanceof Class) { - classOptions = new BinaryEncodedMChoiceFieldEditor("Class options", 3, taClassOptions, contents, true); - stateOptions = new BinaryEncodedMChoiceFieldEditor("State options", 3, taStateOptions, contents, true); - operationOptions = new BinaryEncodedMChoiceFieldEditor("Operation options", 3, taOperationOptions, contents, true); + classOptions = new BinaryEncodedMChoiceFieldEditor(Messages.TraceActionSelection_ClassOptions, 3, taClassOptions, contents, true); + stateOptions = new BinaryEncodedMChoiceFieldEditor(Messages.TraceActionSelection_StateOptions, 3, taStateOptions, contents, true); + operationOptions = new BinaryEncodedMChoiceFieldEditor(Messages.TraceActionSelection_OperationOptions, 3, taOperationOptions, contents, true); classOptions.setupViaString(TraceActions.getOptions(actionString, TraceFeature.Class)); stateOptions.setupViaString(TraceActions.getOptions(actionString, TraceFeature.State)); operationOptions.setupViaString(TraceActions.getOptions(actionString, TraceFeature.Operation)); } else if(m_me instanceof Operation) { - operationOptions = new BinaryEncodedMChoiceFieldEditor("Operation options", 3, taOperationOptions, contents, true); + operationOptions = new BinaryEncodedMChoiceFieldEditor(Messages.TraceActionSelection_OperationOptions, 3, taOperationOptions, contents, true); operationOptions.setupViaString(actionString); } Group implementationGroup = new Group(parent, SWT.NONE); - implementationGroup.setText("Implementation options"); + implementationGroup.setText(Messages.TraceActionSelection_ImplementationOptions); // need additional item how the trace mechanism should be realized, i.e. available tracing mechanisms fTraceImplementations = CheckboxTableViewer.newCheckList(implementationGroup, SWT.H_SCROLL | SWT.V_SCROLL); @@ -241,7 +242,7 @@ public class TraceActionSelection extends SelectionStatusDialog { } } if(noDesc) { - fDescription.setText("<not available>"); + fDescription.setText(Messages.TraceActionSelection_NotAvail); } } } diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/messages.properties b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/messages.properties new file mode 100644 index 00000000000..94ce99780de --- /dev/null +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/messages.properties @@ -0,0 +1,15 @@ +TPPreferencePage_ClassOptions=Class options +TPPreferencePage_OperationOptions=Operations options +TPPreferencePage_StateOptions=State options +TPPreferencePage_TMforOperations=Trace Mechanism for operations (+construction/destruction) +TPPreferencePage_TMforPorts=Trace Mechanism for ports +TPPreferencePage_TMforStateMachines=Trace Mechanism for state machines +TPPreferencePage_TraceOptions=Trace options + +TraceActionSelection_ClassOptions=Class options +TraceActionSelection_ImplementationOptions=Implementation options +TraceActionSelection_NoPluginsProvideTraceExt=no plugins provide trace extension mechanism +TraceActionSelection_NotAvail=<not available> +TraceActionSelection_OperationOptions=Operation options +TraceActionSelection_SelectTraceAction=Select trace action for this element +TraceActionSelection_StateOptions=State options
\ No newline at end of file diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/preferences/BinaryEncodedMChoiceFieldEditor.java b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/preferences/BinaryEncodedMChoiceFieldEditor.java index b8db97671e8..243fbc81143 100644 --- a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/preferences/BinaryEncodedMChoiceFieldEditor.java +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/preferences/BinaryEncodedMChoiceFieldEditor.java @@ -61,7 +61,7 @@ public class BinaryEncodedMChoiceFieldEditor extends MultipleChoiceFieldEditor { * display contents within a group */ public BinaryEncodedMChoiceFieldEditor(String labeltext, int numColumns, String[][] labelsAndValues, Composite parent, boolean useGroup) { - super("", labeltext, numColumns, labelsAndValues, parent, useGroup); + super("", labeltext, numColumns, labelsAndValues, parent, useGroup); //$NON-NLS-1$ } /** @@ -105,7 +105,7 @@ public class BinaryEncodedMChoiceFieldEditor extends MultipleChoiceFieldEditor { int index = 0; for(String setting[] : settings) { // [0] = name, [1] = value [2] = checked - if(setting[2].equals("true")) { + if(setting[2].equals("true")) { //$NON-NLS-1$ traceActionValue += 1 << index; } index++; diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/preferences/TPPreferenceConstants.java b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/preferences/TPPreferenceConstants.java index 2a0845bb849..ae73d5f9a71 100644 --- a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/preferences/TPPreferenceConstants.java +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/preferences/TPPreferenceConstants.java @@ -21,31 +21,31 @@ public class TPPreferenceConstants { /** * The trace mechanism that should be used by default */ - public static final String P_TRACE_IMPLEMENTATION_PORT = "papyrus.trace.implementation.port"; + public static final String P_TRACE_IMPLEMENTATION_PORT = "papyrus.trace.implementation.port"; //$NON-NLS-1$ /** * The trace mechanism that should be used by default */ - public static final String P_TRACE_IMPLEMENTATION_OP = "papyrus.trace.implementation.op"; + public static final String P_TRACE_IMPLEMENTATION_OP = "papyrus.trace.implementation.op"; //$NON-NLS-1$ /** * The trace mechanism that should be used by default */ - public static final String P_TRACE_IMPLEMENTATION_SM = "papyrus.trace.implementation.sm"; + public static final String P_TRACE_IMPLEMENTATION_SM = "papyrus.trace.implementation.sm"; //$NON-NLS-1$ /** * Options for trace implementation via state machines */ - public static final String P_TRACE_OPTION_CLASS = "papyrus.trace.option.class"; + public static final String P_TRACE_OPTION_CLASS = "papyrus.trace.option.class"; //$NON-NLS-1$ /** * Options for trace implementation for operations */ - public static final String P_TRACE_OPTION_STATE = "papyrus.trace.option.state"; - + public static final String P_TRACE_OPTION_STATE = "papyrus.trace.option.state"; //$NON-NLS-1$ + /** * Options for trace implementation via state machines */ - public static final String P_TRACE_OPTION_OP = "papyrus.trace.option.op"; + public static final String P_TRACE_OPTION_OP = "papyrus.trace.option.op"; //$NON-NLS-1$ } diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/preferences/TPPreferenceInitializer.java b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/preferences/TPPreferenceInitializer.java index 096d661169d..ef1cfad72d7 100644 --- a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/preferences/TPPreferenceInitializer.java +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/preferences/TPPreferenceInitializer.java @@ -33,7 +33,7 @@ public class TPPreferenceInitializer extends AbstractPreferenceInitializer { public void initializeDefaultPreferences() { IPreferenceStore store = Activator.getDefault().getPreferenceStore(); EList<ITraceMechanism> mechanisms = TraceMechanism.getTraceMechanisms(); - String mechanismID = ""; + String mechanismID = ""; //$NON-NLS-1$ if(mechanisms.size() > 0) { ITraceMechanism mechanism = mechanisms.get(0); // TODO: function need to support null object diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/preferences/TPPreferencePage.java b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/preferences/TPPreferencePage.java index 773c30a6ee1..57554c5b6ea 100644 --- a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/preferences/TPPreferencePage.java +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/preferences/TPPreferencePage.java @@ -19,6 +19,7 @@ import org.eclipse.jface.preference.FieldEditorPreferencePage; import org.eclipse.jface.preference.RadioGroupFieldEditor; import org.eclipse.papyrus.infra.services.tracepoints.Activator; import org.eclipse.papyrus.infra.services.tracepoints.ITraceMechanism; +import org.eclipse.papyrus.infra.services.tracepoints.Messages; import org.eclipse.papyrus.infra.services.tracepoints.TraceActions; import org.eclipse.papyrus.infra.services.tracepoints.TraceActions.TAClass; import org.eclipse.papyrus.infra.services.tracepoints.TraceActions.TAOperation; @@ -41,7 +42,7 @@ public class TPPreferencePage public TPPreferencePage() { super(GRID); setPreferenceStore(Activator.getDefault().getPreferenceStore()); - setDescription("Trace options"); + setDescription(Messages.TPPreferencePage_TraceOptions); } /** @@ -74,25 +75,25 @@ public class TPPreferencePage String[][] taStateOptions = TraceActions.getStringFields(TAState.values()); String[][] taOperationOptions = TraceActions.getStringFields(TAOperation.values()); - addField(new BinaryEncodedMChoiceFieldEditor(TPPreferenceConstants.P_TRACE_OPTION_CLASS, "Class options", 3, taClassOptions, getFieldEditorParent(), true)); + addField(new BinaryEncodedMChoiceFieldEditor(TPPreferenceConstants.P_TRACE_OPTION_CLASS, Messages.TPPreferencePage_ClassOptions, 3, taClassOptions, getFieldEditorParent(), true)); - addField(new BinaryEncodedMChoiceFieldEditor(TPPreferenceConstants.P_TRACE_OPTION_STATE, "State options", 3, taStateOptions, getFieldEditorParent(), true)); + addField(new BinaryEncodedMChoiceFieldEditor(TPPreferenceConstants.P_TRACE_OPTION_STATE, Messages.TPPreferencePage_StateOptions, 3, taStateOptions, getFieldEditorParent(), true)); addField(new RadioGroupFieldEditor( TPPreferenceConstants.P_TRACE_OPTION_OP, - "Operations options", 3, taOperationOptions, getFieldEditorParent(), true)); + Messages.TPPreferencePage_OperationOptions, 3, taOperationOptions, getFieldEditorParent(), true)); addField(new ComboFieldEditor( TPPreferenceConstants.P_TRACE_IMPLEMENTATION_PORT, - "Trace Mechanism for ports", mechList, getFieldEditorParent())); + Messages.TPPreferencePage_TMforPorts, mechList, getFieldEditorParent())); addField(new ComboFieldEditor( TPPreferenceConstants.P_TRACE_IMPLEMENTATION_OP, - "Trace Mechanism for operations (+construction/destruction)", mechList, getFieldEditorParent())); + Messages.TPPreferencePage_TMforOperations, mechList, getFieldEditorParent())); addField(new ComboFieldEditor( TPPreferenceConstants.P_TRACE_IMPLEMENTATION_SM, - "Trace Mechanism for state machines", mechList, getFieldEditorParent())); + Messages.TPPreferencePage_TMforStateMachines, mechList, getFieldEditorParent())); } diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/build.acceleo b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/build.acceleo index 0bc08b54a4a..94def70bf62 100644 --- a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/build.acceleo +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/build.acceleo @@ -18,7 +18,7 @@ <acceleoCompiler sourceFolder="${target.folder}" outputFolder="${target.folder}" - dependencies="${target.folder}/../../org.eclipse.papyrus.fcm.profile;${target.folder}/../../org.eclipse.papyrus.infra.core.sasheditor;${target.folder}/../../org.eclipse.papyrus.infra.core.sasheditor.di;${target.folder}/../../org.eclipse.papyrus.qompass.modellibs.core;${target.folder}/../../org.eclipse.papyrus.qompass.designer.core;${target.folder}/../../org.eclipse.papyrus.qompass.designer.vsl;${target.folder}/../../org.eclipse.papyrus.cpp.profile;${target.folder}/../../org.eclipse.papyrus.acceleo;${target.folder}/../../org.eclipse.papyrus.uml.tools.utils;${target.folder}/../../org.eclipse.papyrus.infra.widgets.toolbox;${target.folder}/../../org.eclipse.papyrus.infra.services.tracepoints;${target.folder}/../../org.eclipse.papyrus.qompass.designer.ui;" + dependencies="${target.folder}/../../org.eclipse.papyrus.fcm.profile;${target.folder}/../../org.eclipse.papyrus.infra.core.sasheditor;${target.folder}/../../org.eclipse.papyrus.infra.core.sasheditor.di;${target.folder}/../../org.eclipse.papyrus.qompass.modellibs.core;${target.folder}/../../org.eclipse.papyrus.qompass.designer.core;${target.folder}/../../org.eclipse.papyrus.qompass.designer.vsl;${target.folder}/../../org.eclipse.papyrus.cpp.profile;${target.folder}/../../org.eclipse.papyrus.acceleo;${target.folder}/../../org.eclipse.papyrus.infra.widgets.toolbox;${target.folder}/../../org.eclipse.papyrus.infra.services.tracepoints;${target.folder}/../../org.eclipse.papyrus.qompass.designer.ui;" binaryResource="false" packagesToRegister=""> </acceleoCompiler> diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/models/examples/SampleOOTraceTest.di b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/models/examples/SampleOOTraceTest.di new file mode 100644 index 00000000000..4b69336c601 --- /dev/null +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/models/examples/SampleOOTraceTest.di @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.eclipse.org/papyrus/0.7.0/sashdi" xmlns:history="http://www.eclipse.org/papyrus/0.7.0/controlmode"> + <di:SashWindowsMngr> + <pageList> + <availablePage> + <emfPageIdentifier href="SampleOOTraceTest.notation#_XSHWMF36Ed-UvNEDwY5GNg"/> + </availablePage> + <availablePage/> + <availablePage/> + <availablePage> + <emfPageIdentifier href="SampleOOTraceTest.notation#_rbZ3IDeFEeGPyrZ5I3hMlA"/> + </availablePage> + <availablePage> + <emfPageIdentifier href="SampleOOTraceTest.notation#_Rk2pgDVlEeKoYLVLZgpRiw"/> + </availablePage> + <availablePage> + <emfPageIdentifier href="SampleOOTraceTest.notation#_57mwQDclEeKAhIrFXfR8zQ"/> + </availablePage> + </pageList> + <sashModel currentSelection="/0/@sashModel/@windows.0/@children.0"> + <windows> + <children xsi:type="di:TabFolder"> + <children> + <emfPageIdentifier href="SampleOOTraceTest.notation#_XSHWMF36Ed-UvNEDwY5GNg"/> + </children> + <children> + <emfPageIdentifier href="SampleOOTraceTest.notation#_rbZ3IDeFEeGPyrZ5I3hMlA"/> + </children> + <children> + <emfPageIdentifier href="SampleOOTraceTest.notation#_Rk2pgDVlEeKoYLVLZgpRiw"/> + </children> + <children> + <emfPageIdentifier href="SampleOOTraceTest.notation#_57mwQDclEeKAhIrFXfR8zQ"/> + </children> + </children> + </windows> + </sashModel> + </di:SashWindowsMngr> + <history:ControledResource/> + <history:ControledResource/> + <history:ControledResource/> + <history:ControledResource/> + <history:ControledResource/> + <history:ControledResource/> + <history:ControledResource/> +</xmi:XMI> diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/models/examples/SampleOOTraceTest.notation b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/models/examples/SampleOOTraceTest.notation new file mode 100644 index 00000000000..62727ee1920 --- /dev/null +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/models/examples/SampleOOTraceTest.notation @@ -0,0 +1,410 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML"> + <notation:Diagram xmi:id="_XSHWMF36Ed-UvNEDwY5GNg" type="PapyrusUMLClassDiagram" name="Interfaces" measurementUnit="Pixel"> + <children xmi:type="notation:Shape" xmi:id="_Pj6oUDeEEeGPyrZ5I3hMlA" type="2004" fontName="Sans Serif" lineColor="0"> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Pj6oUjeEEeGPyrZ5I3hMlA" source="ShadowFigure"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Pj7PYDeEEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/> + </eAnnotations> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Pj7PYTeEEeGPyrZ5I3hMlA" source="displayNameLabelIcon"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Pj7PYjeEEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/> + </eAnnotations> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Pj7PYzeEEeGPyrZ5I3hMlA" source="QualifiedName"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Pj7PZDeEEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/> + </eAnnotations> + <children xmi:type="notation:DecorationNode" xmi:id="_Pj7PZTeEEeGPyrZ5I3hMlA" type="5011"/> + <children xmi:type="notation:BasicCompartment" xmi:id="_Pj7PZjeEEeGPyrZ5I3hMlA" visible="false" type="7006"> + <styles xmi:type="notation:TitleStyle" xmi:id="_Pj7PZzeEEeGPyrZ5I3hMlA"/> + <styles xmi:type="notation:SortingStyle" xmi:id="_Pj7PaDeEEeGPyrZ5I3hMlA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_Pj7PaTeEEeGPyrZ5I3hMlA"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Pj7PajeEEeGPyrZ5I3hMlA"/> + </children> + <children xmi:type="notation:BasicCompartment" xmi:id="_Pj7PazeEEeGPyrZ5I3hMlA" type="7007"> + <children xmi:type="notation:Shape" xmi:id="_R8Rm0DeEEeGPyrZ5I3hMlA" type="3007" fontName="Sans Serif" lineColor="0"> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1B21kCwNEeK0G9oarbCn5Q" source="CustomAppearance_Annotation"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1I5RsCwNEeK0G9oarbCn5Q" key="CustomAppearance_MaskValue" value="6408"/> + </eAnnotations> + <element xmi:type="uml:Operation" href="SampleOOTraceTest.uml#_DGs6wDLgEd28fJKJJnUaeQ"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_R8Rm0TeEEeGPyrZ5I3hMlA"/> + </children> + <children xmi:type="notation:Shape" xmi:id="_R8SN4DeEEeGPyrZ5I3hMlA" type="3007" fontName="Sans Serif" lineColor="0"> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2ZBc0CwNEeK0G9oarbCn5Q" source="CustomAppearance_Annotation"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2dz2MCwNEeK0G9oarbCn5Q" key="CustomAppearance_MaskValue" value="6408"/> + </eAnnotations> + <element xmi:type="uml:Operation" href="SampleOOTraceTest.uml#_L8EY8DLgEd28fJKJJnUaeQ"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_R8SN4TeEEeGPyrZ5I3hMlA"/> + </children> + <children xmi:type="notation:Shape" xmi:id="_rsWQcDVdEeKoYLVLZgpRiw" type="3007" fontName="Sans Serif" lineColor="0"> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8MrPMDVdEeKoYLVLZgpRiw" source="CustomAppearance_Annotation"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8ftf8DVdEeKoYLVLZgpRiw" key="CustomAppearance_MaskValue" value="6408"/> + </eAnnotations> + <element xmi:type="uml:Operation" href="SampleOOTraceTest.uml#_rrbqcDVdEeKoYLVLZgpRiw"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_rsWQcTVdEeKoYLVLZgpRiw"/> + </children> + <children xmi:type="notation:Shape" xmi:id="_6E33wDW2EeKyT6LlKoWJIA" type="3007" fontName="Sans Serif" lineColor="0"> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JvVlgDW3EeKyT6LlKoWJIA" source="CustomAppearance_Annotation"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_J0pjUDW3EeKyT6LlKoWJIA" key="CustomAppearance_MaskValue" value="6408"/> + </eAnnotations> + <element xmi:type="uml:Operation" href="SampleOOTraceTest.uml#_6DewoDW2EeKyT6LlKoWJIA"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_6E33wTW2EeKyT6LlKoWJIA"/> + </children> + <styles xmi:type="notation:TitleStyle" xmi:id="_Pj7PbDeEEeGPyrZ5I3hMlA"/> + <styles xmi:type="notation:SortingStyle" xmi:id="_Pj7PbTeEEeGPyrZ5I3hMlA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_Pj7PbjeEEeGPyrZ5I3hMlA"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Pj7PbzeEEeGPyrZ5I3hMlA"/> + </children> + <children xmi:type="notation:BasicCompartment" xmi:id="_Pj7PcDeEEeGPyrZ5I3hMlA" visible="false" type="7008"> + <styles xmi:type="notation:TitleStyle" xmi:id="_Pj7PcTeEEeGPyrZ5I3hMlA"/> + <styles xmi:type="notation:SortingStyle" xmi:id="_Pj7PcjeEEeGPyrZ5I3hMlA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_Pj7PczeEEeGPyrZ5I3hMlA"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Pj7PdDeEEeGPyrZ5I3hMlA"/> + </children> + <children xmi:type="notation:BasicCompartment" xmi:id="_VTHeYFFyEeOLNIKOajeerQ" visible="false" type="compartment_shape_display"> + <styles xmi:type="notation:TitleStyle" xmi:id="_VTHeYVFyEeOLNIKOajeerQ"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VTHeYlFyEeOLNIKOajeerQ"/> + </children> + <element xmi:type="uml:Interface" href="SampleOOTraceTest.uml#_cn-H0DLbEd2qeKRLMdIx_A"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Pj6oUTeEEeGPyrZ5I3hMlA" x="108" y="81" width="321"/> + </children> + <children xmi:type="notation:Shape" xmi:id="_TP_4gDeEEeGPyrZ5I3hMlA" type="2012" fontName="Sans Serif" lineColor="0"> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TQAfkDeEEeGPyrZ5I3hMlA" source="ShadowFigure"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TQAfkTeEEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/> + </eAnnotations> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TQAfkjeEEeGPyrZ5I3hMlA" source="displayNameLabelIcon"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TQAfkzeEEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/> + </eAnnotations> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TQAflDeEEeGPyrZ5I3hMlA" source="QualifiedName"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TQAflTeEEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/> + </eAnnotations> + <children xmi:type="notation:DecorationNode" xmi:id="_TQAfljeEEeGPyrZ5I3hMlA" type="5038"/> + <element xmi:type="uml:Comment" href="SampleOOTraceTest.uml#_TDDBoDeEEeGPyrZ5I3hMlA"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TP_4gTeEEeGPyrZ5I3hMlA" x="513" y="108" width="203"/> + </children> + <children xmi:type="notation:Shape" xmi:id="_ktdOQDW2EeKyT6LlKoWJIA" type="2010" fontName="Sans Serif" lineColor="0"> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ktd1UDW2EeKyT6LlKoWJIA" source="ShadowFigure"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ktd1UTW2EeKyT6LlKoWJIA" key="ShadowFigure_Value" value="false"/> + </eAnnotations> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ktd1UjW2EeKyT6LlKoWJIA" source="displayNameLabelIcon"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ktd1UzW2EeKyT6LlKoWJIA" key="displayNameLabelIcon_value" value="false"/> + </eAnnotations> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ktd1VDW2EeKyT6LlKoWJIA" source="QualifiedName"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ktd1VTW2EeKyT6LlKoWJIA" key="QualifiedNameDepth" value="1000"/> + </eAnnotations> + <children xmi:type="notation:DecorationNode" xmi:id="_ktd1VjW2EeKyT6LlKoWJIA" type="5035"/> + <children xmi:type="notation:BasicCompartment" xmi:id="_ktd1VzW2EeKyT6LlKoWJIA" type="7020"> + <children xmi:type="notation:Shape" xmi:id="_m0rZcDW2EeKyT6LlKoWJIA" type="3018" fontName="Sans Serif" lineColor="0"> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QleJQJ0lEeKBzo5ONT8mrA" source="CustomAppearance_Annotation"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QrfRsJ0lEeKBzo5ONT8mrA" key="CustomAppearance_MaskValue" value="28"/> + </eAnnotations> + <element xmi:type="uml:Property" href="SampleOOTraceTest.uml#_m0WCQDW2EeKyT6LlKoWJIA"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_m0rZcTW2EeKyT6LlKoWJIA"/> + </children> + <children xmi:type="notation:Shape" xmi:id="_yJR6MDW2EeKyT6LlKoWJIA" type="3018" fontName="Sans Serif" lineColor="0"> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QlfXYJ0lEeKBzo5ONT8mrA" source="CustomAppearance_Annotation"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Qrf4wJ0lEeKBzo5ONT8mrA" key="CustomAppearance_MaskValue" value="28"/> + </eAnnotations> + <element xmi:type="uml:Property" href="SampleOOTraceTest.uml#_yJIJMDW2EeKyT6LlKoWJIA"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_yJR6MTW2EeKyT6LlKoWJIA"/> + </children> + <styles xmi:type="notation:TitleStyle" xmi:id="_ktd1WDW2EeKyT6LlKoWJIA"/> + <styles xmi:type="notation:SortingStyle" xmi:id="_ktd1WTW2EeKyT6LlKoWJIA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_ktd1WjW2EeKyT6LlKoWJIA"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ktd1WzW2EeKyT6LlKoWJIA"/> + </children> + <children xmi:type="notation:BasicCompartment" xmi:id="_ktecYDW2EeKyT6LlKoWJIA" visible="false" type="7021"> + <styles xmi:type="notation:TitleStyle" xmi:id="_ktecYTW2EeKyT6LlKoWJIA"/> + <styles xmi:type="notation:SortingStyle" xmi:id="_ktecYjW2EeKyT6LlKoWJIA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_ktecYzW2EeKyT6LlKoWJIA"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ktecZDW2EeKyT6LlKoWJIA"/> + </children> + <children xmi:type="notation:BasicCompartment" xmi:id="_VTLIwFFyEeOLNIKOajeerQ" visible="false" type="compartment_shape_display"> + <styles xmi:type="notation:TitleStyle" xmi:id="_VTLIwVFyEeOLNIKOajeerQ"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VTLIwlFyEeOLNIKOajeerQ"/> + </children> + <element xmi:type="uml:DataType" href="SampleOOTraceTest.uml#_krMkcDW2EeKyT6LlKoWJIA"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ktdOQTW2EeKyT6LlKoWJIA" x="121" y="262" width="141" height="90"/> + </children> + <styles xmi:type="notation:DiagramStyle" xmi:id="_XSHWMV36Ed-UvNEDwY5GNg"/> + <element xmi:type="uml:Package" href="SampleOOTraceTest.uml#_Tp4n8DLaEd2qeKRLMdIx_A"/> + <edges xmi:type="notation:Connector" xmi:id="_Y-hhkDeEEeGPyrZ5I3hMlA" type="4013" source="_TP_4gDeEEeGPyrZ5I3hMlA" target="_Pj6oUDeEEeGPyrZ5I3hMlA" lineColor="0"> + <styles xmi:type="notation:FontStyle" xmi:id="_Y-hhkTeEEeGPyrZ5I3hMlA" fontName="Sans Serif"/> + <element xsi:nil="true"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Y-hhkjeEEeGPyrZ5I3hMlA" points="[-29, -1, 113, 0]$[-113, -1, 29, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Y_9sADeEEeGPyrZ5I3hMlA" id="(0.14285714285714285,0.5166666666666667)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Y_9sATeEEeGPyrZ5I3hMlA" id="(0.9096573208722741,0.5377358490566038)"/> + </edges> + </notation:Diagram> + <notation:Diagram xmi:id="_rbZ3IDeFEeGPyrZ5I3hMlA" type="PapyrusUMLClassDiagram" name="ClassDiagram Client" measurementUnit="Pixel"> + <children xmi:type="notation:Shape" xmi:id="_t6z40DeFEeGPyrZ5I3hMlA" type="2008" fontName="Sans Serif" fillColor="8905185" gradient="16777215, 16777215, 0" lineColor="0"> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t60f4DeFEeGPyrZ5I3hMlA" source="ShadowFigure"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t60f4TeFEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/> + </eAnnotations> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t60f4jeFEeGPyrZ5I3hMlA" source="displayNameLabelIcon"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t60f4zeFEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/> + </eAnnotations> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t60f5DeFEeGPyrZ5I3hMlA" source="QualifiedName"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_t60f5TeFEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/> + </eAnnotations> + <children xmi:type="notation:DecorationNode" xmi:id="_t61G8DeFEeGPyrZ5I3hMlA" type="5029"/> + <children xmi:type="notation:BasicCompartment" xmi:id="_t61G8TeFEeGPyrZ5I3hMlA" type="7017"> + <styles xmi:type="notation:TitleStyle" xmi:id="_t61G8jeFEeGPyrZ5I3hMlA"/> + <styles xmi:type="notation:SortingStyle" xmi:id="_t61G8zeFEeGPyrZ5I3hMlA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_t61G9DeFEeGPyrZ5I3hMlA"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t61G9TeFEeGPyrZ5I3hMlA"/> + </children> + <children xmi:type="notation:BasicCompartment" xmi:id="_t61G9jeFEeGPyrZ5I3hMlA" type="7018"> + <children xmi:type="notation:Shape" xmi:id="_Q07G0DclEeKAhIrFXfR8zQ" type="3013" fontName="Sans Serif" lineColor="0"> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z-c2gDc_EeKPle9CbXIcpQ" source="CustomAppearance_Annotation"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0IwpEDc_EeKPle9CbXIcpQ" key="CustomAppearance_MaskValue" value="6408"/> + </eAnnotations> + <element xmi:type="uml:Operation" href="SampleOOTraceTest.uml#_Qzp7gDclEeKAhIrFXfR8zQ"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_Q07G0TclEeKAhIrFXfR8zQ"/> + </children> + <children xmi:type="notation:Shape" xmi:id="_cssnQDc_EeKPle9CbXIcpQ" type="3013" fontName="Sans Serif" lineColor="0"> + <element xmi:type="uml:Operation" href="SampleOOTraceTest.uml#_ZnGj0EdDEeGxo4rn9hBAOQ"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_cssnQTc_EeKPle9CbXIcpQ" x="15" y="21"/> + </children> + <styles xmi:type="notation:TitleStyle" xmi:id="_t61G9zeFEeGPyrZ5I3hMlA"/> + <styles xmi:type="notation:SortingStyle" xmi:id="_t61G-DeFEeGPyrZ5I3hMlA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_t61G-TeFEeGPyrZ5I3hMlA"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t61G-jeFEeGPyrZ5I3hMlA"/> + </children> + <children xmi:type="notation:BasicCompartment" xmi:id="_t61G-zeFEeGPyrZ5I3hMlA" visible="false" type="7019"> + <styles xmi:type="notation:TitleStyle" xmi:id="_t61G_DeFEeGPyrZ5I3hMlA"/> + <styles xmi:type="notation:SortingStyle" xmi:id="_t61G_TeFEeGPyrZ5I3hMlA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_t61G_jeFEeGPyrZ5I3hMlA"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t61G_zeFEeGPyrZ5I3hMlA"/> + </children> + <children xmi:type="notation:BasicCompartment" xmi:id="_VtNZYFFyEeOLNIKOajeerQ" visible="false" type="AppliedStereotypeCompartement"> + <styles xmi:type="notation:TitleStyle" xmi:id="_VtNZYVFyEeOLNIKOajeerQ" showTitle="true"/> + <element xmi:type="C_Cpp:Include" href="SampleOOTraceTest.uml#_7SAnAP76Ed6Zw96O-tCw7A"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VtNZYlFyEeOLNIKOajeerQ"/> + </children> + <children xmi:type="notation:BasicCompartment" xmi:id="_VtNZY1FyEeOLNIKOajeerQ" visible="false" type="AppliedStereotypeCompartement"> + <styles xmi:type="notation:TitleStyle" xmi:id="_VtNZZFFyEeOLNIKOajeerQ" showTitle="true"/> + <element xmi:type="FCM:RuleApplication" href="SampleOOTraceTest.uml#__bC_ADcmEeKAhIrFXfR8zQ"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VtNZZVFyEeOLNIKOajeerQ"/> + </children> + <children xmi:type="notation:BasicCompartment" xmi:id="_VtNZZlFyEeOLNIKOajeerQ" visible="false" type="compartment_shape_display"> + <styles xmi:type="notation:TitleStyle" xmi:id="_VtNZZ1FyEeOLNIKOajeerQ"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VtNZaFFyEeOLNIKOajeerQ"/> + </children> + <element xmi:type="uml:Class" href="SampleOOTraceTest.uml#_IfjoETLbEd2qeKRLMdIx_A"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t6z40TeFEeGPyrZ5I3hMlA" x="90" y="135" width="144"/> + </children> + <children xmi:type="notation:Shape" xmi:id="_fBkXMDeGEeGPyrZ5I3hMlA" type="2012" fontName="Sans Serif" lineColor="0"> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fBk-QDeGEeGPyrZ5I3hMlA" source="ShadowFigure"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fBk-QTeGEeGPyrZ5I3hMlA" key="ShadowFigure_Value" value="false"/> + </eAnnotations> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fBk-QjeGEeGPyrZ5I3hMlA" source="displayNameLabelIcon"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fBk-QzeGEeGPyrZ5I3hMlA" key="displayNameLabelIcon_value" value="false"/> + </eAnnotations> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fBk-RDeGEeGPyrZ5I3hMlA" source="QualifiedName"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fBllUDeGEeGPyrZ5I3hMlA" key="QualifiedNameDepth" value="1000"/> + </eAnnotations> + <children xmi:type="notation:DecorationNode" xmi:id="_fBllUTeGEeGPyrZ5I3hMlA" type="5038"/> + <element xmi:type="uml:Comment" href="SampleOOTraceTest.uml#_fBRcQDeGEeGPyrZ5I3hMlA"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fBkXMTeGEeGPyrZ5I3hMlA" x="45" y="279" width="441" height="89"/> + </children> + <styles xmi:type="notation:DiagramStyle" xmi:id="_rbZ3ITeFEeGPyrZ5I3hMlA"/> + <element xmi:type="uml:Package" href="SampleOOTraceTest.uml#_etOZkDLaEd2qeKRLMdIx_A"/> + <edges xmi:type="notation:Connector" xmi:id="_f6Wj4DeHEeGPyrZ5I3hMlA" type="4013" source="_fBkXMDeGEeGPyrZ5I3hMlA" target="_t6z40DeFEeGPyrZ5I3hMlA" lineColor="0"> + <styles xmi:type="notation:FontStyle" xmi:id="_f6Wj4TeHEeGPyrZ5I3hMlA" fontName="Sans Serif"/> + <element xsi:nil="true"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_f6Wj4jeHEeGPyrZ5I3hMlA" points="[-3, -11, 18, 93]$[-19, -84, 2, 20]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_f68ZwDeHEeGPyrZ5I3hMlA" id="(0.14512471655328799,0.11224489795918367)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_f68ZwTeHEeGPyrZ5I3hMlA" id="(0.4,0.85)"/> + </edges> + </notation:Diagram> + <notation:Diagram xmi:id="_Rk2pgDVlEeKoYLVLZgpRiw" type="PapyrusUMLClassDiagram" name="ClassDiagram Server" measurementUnit="Pixel"> + <children xmi:type="notation:Shape" xmi:id="_SeK3IDVlEeKoYLVLZgpRiw" type="2008" fontName="Sans Serif" fillColor="8905185" gradient="16777215, 16777215, 0" lineColor="0"> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SeMsUDVlEeKoYLVLZgpRiw" source="ShadowFigure"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SeMsUTVlEeKoYLVLZgpRiw" key="ShadowFigure_Value" value="false"/> + </eAnnotations> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SeMsUjVlEeKoYLVLZgpRiw" source="displayNameLabelIcon"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SeMsUzVlEeKoYLVLZgpRiw" key="displayNameLabelIcon_value" value="false"/> + </eAnnotations> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SeMsVDVlEeKoYLVLZgpRiw" source="QualifiedName"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SeMsVTVlEeKoYLVLZgpRiw" key="QualifiedNameDepth" value="1000"/> + </eAnnotations> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cLIEoDVlEeKoYLVLZgpRiw" source="Stereotype_Annotation"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cLX8QDVlEeKoYLVLZgpRiw" key="StereotypeWithQualifiedNameList" value=""/> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cLX8QTVlEeKoYLVLZgpRiw" key="StereotypeList" value="FCM::RuleApplication"/> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cLX8QjVlEeKoYLVLZgpRiw" key="PropStereoDisplay" value="FCM::RuleApplication.containerRule"/> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cLX8QzVlEeKoYLVLZgpRiw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cLX8RDVlEeKoYLVLZgpRiw" key="StereotypePropertyLocation" value="Compartment"/> + </eAnnotations> + <children xmi:type="notation:DecorationNode" xmi:id="_SeNTYDVlEeKoYLVLZgpRiw" type="5029"/> + <children xmi:type="notation:BasicCompartment" xmi:id="_SeNTYTVlEeKoYLVLZgpRiw" type="7017"> + <styles xmi:type="notation:TitleStyle" xmi:id="_SeNTYjVlEeKoYLVLZgpRiw"/> + <styles xmi:type="notation:SortingStyle" xmi:id="_SeNTYzVlEeKoYLVLZgpRiw"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_SeNTZDVlEeKoYLVLZgpRiw"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SeNTZTVlEeKoYLVLZgpRiw"/> + </children> + <children xmi:type="notation:BasicCompartment" xmi:id="_SeNTZjVlEeKoYLVLZgpRiw" type="7018"> + <children xmi:type="notation:Shape" xmi:id="_VGZdoDVlEeKoYLVLZgpRiw" type="3013" fontName="Sans Serif" lineColor="0"> + <element xmi:type="uml:Operation" href="SampleOOTraceTest.uml#_4ZEZwHecEd6r18stFZxmFQ"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_VGZdoTVlEeKoYLVLZgpRiw"/> + </children> + <children xmi:type="notation:Shape" xmi:id="_VGaEsDVlEeKoYLVLZgpRiw" type="3013" fontName="Sans Serif" lineColor="0"> + <element xmi:type="uml:Operation" href="SampleOOTraceTest.uml#_TbIjUJYlEd6G9q9hwr11bw"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_VGaEsTVlEeKoYLVLZgpRiw"/> + </children> + <children xmi:type="notation:Shape" xmi:id="_VGarwDVlEeKoYLVLZgpRiw" type="3013" fontName="Sans Serif" lineColor="0"> + <element xmi:type="uml:Operation" href="SampleOOTraceTest.uml#_rrf74DVdEeKoYLVLZgpRiw"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_VGarwTVlEeKoYLVLZgpRiw"/> + </children> + <styles xmi:type="notation:TitleStyle" xmi:id="_SeNTZzVlEeKoYLVLZgpRiw"/> + <styles xmi:type="notation:SortingStyle" xmi:id="_SeNTaDVlEeKoYLVLZgpRiw"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_SeNTaTVlEeKoYLVLZgpRiw"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SeNTajVlEeKoYLVLZgpRiw"/> + </children> + <children xmi:type="notation:BasicCompartment" xmi:id="_SeNTazVlEeKoYLVLZgpRiw" visible="false" type="7019"> + <styles xmi:type="notation:TitleStyle" xmi:id="_SeNTbDVlEeKoYLVLZgpRiw"/> + <styles xmi:type="notation:SortingStyle" xmi:id="_SeNTbTVlEeKoYLVLZgpRiw"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_SeNTbjVlEeKoYLVLZgpRiw"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SeNTbzVlEeKoYLVLZgpRiw"/> + </children> + <children xmi:type="notation:BasicCompartment" xmi:id="_Vw_GIFFyEeOLNIKOajeerQ" type="AppliedStereotypeCompartement"> + <styles xmi:type="notation:TitleStyle" xmi:id="_Vw_GIVFyEeOLNIKOajeerQ" showTitle="true"/> + <element xmi:type="FCM:RuleApplication" href="SampleOOTraceTest.uml#_DWIYoP6yEd6Ie_kieu_3CQ"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vw_GIlFyEeOLNIKOajeerQ"/> + </children> + <children xmi:type="notation:BasicCompartment" xmi:id="_VxBiYFFyEeOLNIKOajeerQ" visible="false" type="AppliedStereotypeCompartement"> + <styles xmi:type="notation:TitleStyle" xmi:id="_VxBiYVFyEeOLNIKOajeerQ" showTitle="true"/> + <element xmi:type="C_Cpp:Include" href="SampleOOTraceTest.uml#_Sa4nEP77Ed6Zw96O-tCw7A"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VxBiYlFyEeOLNIKOajeerQ"/> + </children> + <children xmi:type="notation:BasicCompartment" xmi:id="_VxCJcFFyEeOLNIKOajeerQ" visible="false" type="compartment_shape_display"> + <styles xmi:type="notation:TitleStyle" xmi:id="_VxCJcVFyEeOLNIKOajeerQ"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VxCJclFyEeOLNIKOajeerQ"/> + </children> + <element xmi:type="uml:Class" href="SampleOOTraceTest.uml#_oqZNUDLaEd2qeKRLMdIx_A"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SeK3ITVlEeKoYLVLZgpRiw" x="176" y="95" width="266" height="203"/> + </children> + <styles xmi:type="notation:DiagramStyle" xmi:id="_Rk2pgTVlEeKoYLVLZgpRiw"/> + <element xmi:type="uml:Package" href="SampleOOTraceTest.uml#_OGM88DLaEd2qeKRLMdIx_A"/> + </notation:Diagram> + <notation:Diagram xmi:id="_57mwQDclEeKAhIrFXfR8zQ" type="PapyrusUMLStateMachineDiagram" name="SmDiagram" measurementUnit="Pixel"> + <children xmi:type="notation:Shape" xmi:id="_57mwQTclEeKAhIrFXfR8zQ" type="2000" fontName="Sans Serif" lineColor="0"> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_57mwQjclEeKAhIrFXfR8zQ" source="ShadowFigure"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_57mwQzclEeKAhIrFXfR8zQ" key="ShadowFigure_Value" value="false"/> + </eAnnotations> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_57mwRDclEeKAhIrFXfR8zQ" source="displayNameLabelIcon"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_57mwRTclEeKAhIrFXfR8zQ" key="displayNameLabelIcon_value" value="false"/> + </eAnnotations> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_57mwRjclEeKAhIrFXfR8zQ" source="QualifiedName"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_57mwRzclEeKAhIrFXfR8zQ" key="QualifiedNameDepth" value="1000"/> + </eAnnotations> + <children xmi:type="notation:DecorationNode" xmi:id="_57mwSDclEeKAhIrFXfR8zQ" type="2001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_57mwSTclEeKAhIrFXfR8zQ" width="592" height="14"/> + </children> + <children xmi:type="notation:DecorationNode" xmi:id="_57mwSjclEeKAhIrFXfR8zQ" type="2002"> + <children xmi:type="notation:Shape" xmi:id="_57mwSzclEeKAhIrFXfR8zQ" type="3000" fontName="Sans Serif" lineColor="0"> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_57mwTDclEeKAhIrFXfR8zQ" source="ShadowFigure"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_57mwTTclEeKAhIrFXfR8zQ" key="ShadowFigure_Value" value="false"/> + </eAnnotations> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_57mwTjclEeKAhIrFXfR8zQ" source="displayNameLabelIcon"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_57mwTzclEeKAhIrFXfR8zQ" key="displayNameLabelIcon_value" value="false"/> + </eAnnotations> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_57mwUDclEeKAhIrFXfR8zQ" source="QualifiedName"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_57mwUTclEeKAhIrFXfR8zQ" key="QualifiedNameDepth" value="1000"/> + </eAnnotations> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_57mwUjclEeKAhIrFXfR8zQ" source="RegionAnnotationKey"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_57mwUzclEeKAhIrFXfR8zQ" key="RegionZoneKey" value=""/> + </eAnnotations> + <children xmi:type="notation:DecorationNode" xmi:id="_57mwVDclEeKAhIrFXfR8zQ" type="3002"> + <children xmi:type="notation:Shape" xmi:id="_66VCUDclEeKAhIrFXfR8zQ" type="6000" fontName="Sans Serif" lineColor="0"> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_66VpYDclEeKAhIrFXfR8zQ" source="ShadowFigure"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_66VpYTclEeKAhIrFXfR8zQ" key="ShadowFigure_Value" value="false"/> + </eAnnotations> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_66VpYjclEeKAhIrFXfR8zQ" source="displayNameLabelIcon"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_66VpYzclEeKAhIrFXfR8zQ" key="displayNameLabelIcon_value" value="false"/> + </eAnnotations> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_66VpZDclEeKAhIrFXfR8zQ" source="QualifiedName"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_66VpZTclEeKAhIrFXfR8zQ" key="QualifiedNameDepth" value="1000"/> + </eAnnotations> + <children xmi:type="notation:DecorationNode" xmi:id="_66VpZjclEeKAhIrFXfR8zQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_67AXwDclEeKAhIrFXfR8zQ" width="109" height="14"/> + </children> + <children xmi:type="notation:DecorationNode" xmi:id="_66WQcDclEeKAhIrFXfR8zQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_66WQcTclEeKAhIrFXfR8zQ" y="14" width="109" height="74"/> + </children> + <children xmi:type="notation:BasicCompartment" xmi:id="_V17QgFFyEeOLNIKOajeerQ" visible="false" type="compartment_shape_display"> + <styles xmi:type="notation:TitleStyle" xmi:id="_V17QgVFyEeOLNIKOajeerQ"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V17QglFyEeOLNIKOajeerQ"/> + </children> + <element xmi:type="uml:State" href="SampleOOTraceTest.uml#_66D8kDclEeKAhIrFXfR8zQ"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_66VCUTclEeKAhIrFXfR8zQ" x="159" y="46" width="109" height="88"/> + </children> + <children xmi:type="notation:Shape" xmi:id="_9gPUoDclEeKAhIrFXfR8zQ" type="8000" fontName="Sans Serif" lineColor="0"> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9gP7sTclEeKAhIrFXfR8zQ" source="ShadowFigure"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9gP7sjclEeKAhIrFXfR8zQ" key="ShadowFigure_Value" value="false"/> + </eAnnotations> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9gQiwDclEeKAhIrFXfR8zQ" source="displayNameLabelIcon"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9gQiwTclEeKAhIrFXfR8zQ" key="displayNameLabelIcon_value" value="false"/> + </eAnnotations> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9gQiwjclEeKAhIrFXfR8zQ" source="QualifiedName"> + <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9gQiwzclEeKAhIrFXfR8zQ" key="QualifiedNameDepth" value="1000"/> + </eAnnotations> + <children xmi:type="notation:DecorationNode" xmi:id="_9gQixDclEeKAhIrFXfR8zQ" type="8001"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_9gQixTclEeKAhIrFXfR8zQ" x="26" y="-11"/> + </children> + <children xmi:type="notation:DecorationNode" xmi:id="_9gQixjclEeKAhIrFXfR8zQ" type="8002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_9gQixzclEeKAhIrFXfR8zQ" x="25" y="-10"/> + </children> + <element xmi:type="uml:Pseudostate" href="SampleOOTraceTest.uml#_9f6kgDclEeKAhIrFXfR8zQ"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9gP7sDclEeKAhIrFXfR8zQ" x="43" y="30"/> + </children> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_57mwVTclEeKAhIrFXfR8zQ"/> + </children> + <children xmi:type="notation:BasicCompartment" xmi:id="_V140QFFyEeOLNIKOajeerQ" visible="false" type="compartment_shape_display"> + <styles xmi:type="notation:TitleStyle" xmi:id="_V140QVFyEeOLNIKOajeerQ"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V140QlFyEeOLNIKOajeerQ"/> + </children> + <element xmi:type="uml:Region" href="SampleOOTraceTest.uml#_57WRkDclEeKAhIrFXfR8zQ"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_57mwVjclEeKAhIrFXfR8zQ" width="592" height="245"/> + </children> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_57mwVzclEeKAhIrFXfR8zQ" y="14" width="592" height="245"/> + </children> + <children xmi:type="notation:BasicCompartment" xmi:id="_V12YAFFyEeOLNIKOajeerQ" visible="false" type="compartment_shape_display"> + <styles xmi:type="notation:TitleStyle" xmi:id="_V12YAVFyEeOLNIKOajeerQ"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V12YAlFyEeOLNIKOajeerQ"/> + </children> + <element xmi:type="uml:StateMachine" href="SampleOOTraceTest.uml#_5Vd9UDclEeKAhIrFXfR8zQ"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_57mwWDclEeKAhIrFXfR8zQ" x="30" y="30" width="592" height="259"/> + </children> + <styles xmi:type="notation:DiagramStyle" xmi:id="_57mwWTclEeKAhIrFXfR8zQ"/> + <element xmi:type="uml:StateMachine" href="SampleOOTraceTest.uml#_5Vd9UDclEeKAhIrFXfR8zQ"/> + <edges xmi:type="notation:Connector" xmi:id="_8bHfoDclEeKAhIrFXfR8zQ" type="7000" source="_66VCUDclEeKAhIrFXfR8zQ" target="_66VCUDclEeKAhIrFXfR8zQ" smoothness="Normal" lineColor="0"> + <children xmi:type="notation:DecorationNode" xmi:id="_8bItwDclEeKAhIrFXfR8zQ" visible="false" type="7001"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_8bItwTclEeKAhIrFXfR8zQ"/> + </children> + <children xmi:type="notation:DecorationNode" xmi:id="_8bItwjclEeKAhIrFXfR8zQ" visible="false" type="7002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_8bItwzclEeKAhIrFXfR8zQ"/> + </children> + <children xmi:type="notation:DecorationNode" xmi:id="_8bItxDclEeKAhIrFXfR8zQ" visible="false" type="7003"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_8bItxTclEeKAhIrFXfR8zQ" y="60"/> + </children> + <styles xmi:type="notation:FontStyle" xmi:id="_8bHfoTclEeKAhIrFXfR8zQ" fontName="Sans Serif"/> + <element xmi:type="uml:Transition" href="SampleOOTraceTest.uml#_8ZB08DclEeKAhIrFXfR8zQ"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8bHfojclEeKAhIrFXfR8zQ" points="[3, 1, 40, -51]$[65, 34, 102, -18]$[56, 94, 93, 42]$[-7, 103, 30, 51]$[-35, 56, 2, 4]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8b9NIDclEeKAhIrFXfR8zQ" id="(0.9724770642201835,0.36363636363636365)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8b9NITclEeKAhIrFXfR8zQ" id="(0.6330275229357798,0.9545454545454546)"/> + </edges> + <edges xmi:type="notation:Connector" xmi:id="_-wO84DclEeKAhIrFXfR8zQ" type="7000" source="_9gPUoDclEeKAhIrFXfR8zQ" target="_66VCUDclEeKAhIrFXfR8zQ" lineColor="0"> + <children xmi:type="notation:DecorationNode" xmi:id="_-wPj8DclEeKAhIrFXfR8zQ" visible="false" type="7001"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_-wPj8TclEeKAhIrFXfR8zQ"/> + </children> + <children xmi:type="notation:DecorationNode" xmi:id="_-wQLADclEeKAhIrFXfR8zQ" visible="false" type="7002"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_-wQLATclEeKAhIrFXfR8zQ"/> + </children> + <children xmi:type="notation:DecorationNode" xmi:id="_-wQLAjclEeKAhIrFXfR8zQ" visible="false" type="7003"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_-wQLAzclEeKAhIrFXfR8zQ" y="60"/> + </children> + <styles xmi:type="notation:FontStyle" xmi:id="_-wO84TclEeKAhIrFXfR8zQ" fontName="Sans Serif"/> + <element xmi:type="uml:Transition" href="SampleOOTraceTest.uml#_-v4XkDclEeKAhIrFXfR8zQ"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-wO84jclEeKAhIrFXfR8zQ" points="[10, 2, -77, -18]$[79, 14, -8, -6]"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-xGfkDclEeKAhIrFXfR8zQ" id="(0.07339449541284404,0.1590909090909091)"/> + </edges> + </notation:Diagram> +</xmi:XMI> diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/models/examples/SampleOOTraceTest.uml b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/models/examples/SampleOOTraceTest.uml new file mode 100644 index 00000000000..a0910ed1a3e --- /dev/null +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/models/examples/SampleOOTraceTest.uml @@ -0,0 +1,276 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Alloc="http://www.eclipse.org/papyrus/Alloc/1" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:FCM="http://www.eclipse.org/papyrus/FCM/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/Alloc/1 http://www.eclipse.org/papyrus/MARTE/1#//Alloc"> + <uml:Model xmi:id="_O6TiIDLUEd26WNosUASSSw" name="SampleOOTraceTest"> + <packageImport xmi:type="uml:PackageImport" xmi:id="_O6TiITLUEd26WNosUASSSw"> + <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/> + </packageImport> + <packageImport xmi:type="uml:PackageImport" xmi:id="_rwBsMP7AEd6Zw96O-tCw7A"> + <importedPackage xmi:type="uml:Model" href="pathmap://QML_CORE/corba.uml#_DtQEwDLdEd2_U4efLnjQIw"/> + </packageImport> + <packageImport xmi:type="uml:PackageImport" xmi:id="__D5MwE2WEeGzNbfAXPgNLA"> + <importedPackage xmi:type="uml:Model" href="pathmap://QML_TRACE/tracing.uml#_H-ZqYDKeEd-WprEKTCaiMA"/> + </packageImport> + <packagedElement xmi:type="uml:Package" xmi:id="_OGM88DLaEd2qeKRLMdIx_A" name="Server"> + <packagedElement xmi:type="uml:Class" xmi:id="_oqZNUDLaEd2qeKRLMdIx_A" clientDependency="_YQqH0JYlEd6G9q9hwr11bw" name="Server_impl" classifierBehavior="_5Vd9UDclEeKAhIrFXfR8zQ"> + <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_YQqH0JYlEd6G9q9hwr11bw" name="derived realization of ICompute" client="_oqZNUDLaEd2qeKRLMdIx_A" supplier="_cn-H0DLbEd2qeKRLMdIx_A" contract="_cn-H0DLbEd2qeKRLMdIx_A"/> + <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_ML-4AKI5Ed6FqJCjEUrkqQ" name="add" specification="_TbIjUJYlEd6G9q9hwr11bw"> + <ownedParameter xmi:type="uml:Parameter" xmi:id="_xOQMoC7NEeOY-cM3M1mqKw" name="a"> + <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> + <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_xOzmQC7NEeOY-cM3M1mqKw" value="1"/> + <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_xO_zgC7NEeOY-cM3M1mqKw" value="1"/> + </ownedParameter> + <ownedParameter xmi:type="uml:Parameter" xmi:id="_xPLZsC7NEeOY-cM3M1mqKw" name="b"> + <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> + <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_xPuzUC7NEeOY-cM3M1mqKw" value="1"/> + <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_xP6ZgC7NEeOY-cM3M1mqKw" value="1"/> + </ownedParameter> + <ownedParameter xmi:type="uml:Parameter" xmi:id="_xQF_sC7NEeOY-cM3M1mqKw" name="res" direction="return"> + <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> + <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_xQvf8C7NEeOY-cM3M1mqKw" value="1"/> + <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_xQ7GIC7NEeOY-cM3M1mqKw" value="1"/> + </ownedParameter> + <language>C/C++</language> + <body>cout << "a=" << a << " b=" << b << " a+b=" << a+b << endl; +return a+b;</body> + </ownedBehavior> + <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_I1R3YAcDEeGnrLqQ0OQeAg" name="mult" specification="_4ZEZwHecEd6r18stFZxmFQ"> + <ownedParameter xmi:type="uml:Parameter" xmi:id="_xRMy8C7NEeOY-cM3M1mqKw" name="a"> + <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_qgMSAB6SEd6ITtm_FH3jRw"/> + <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_xRwzoC7NEeOY-cM3M1mqKw" value="1"/> + <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_xR8Z0C7NEeOY-cM3M1mqKw" value="1"/> + </ownedParameter> + <ownedParameter xmi:type="uml:Parameter" xmi:id="_xSInEC7NEeOY-cM3M1mqKw" name="b"> + <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_wbw4kB6SEd6ITtm_FH3jRw"/> + <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_xStO0C7NEeOY-cM3M1mqKw" value="1"/> + <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_xS41AC7NEeOY-cM3M1mqKw" value="1"/> + </ownedParameter> + <ownedParameter xmi:type="uml:Parameter" xmi:id="_xTFCQC7NEeOY-cM3M1mqKw" name="res" direction="return"> + <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> + <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_xTn00C7NEeOY-cM3M1mqKw" value="1"/> + <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_xT0CEC7NEeOY-cM3M1mqKw" value="1"/> + </ownedParameter> + <language>C/C++</language> + <body>cout << "a*b=" << a*b; +return a*b;</body> + </ownedBehavior> + <ownedBehavior xmi:type="uml:StateMachine" xmi:id="_5Vd9UDclEeKAhIrFXfR8zQ" name="ServerStateMachine"> + <region xmi:type="uml:Region" xmi:id="_57WRkDclEeKAhIrFXfR8zQ" name="Region1"> + <transition xmi:type="uml:Transition" xmi:id="_8ZB08DclEeKAhIrFXfR8zQ" name="Transition0" source="_66D8kDclEeKAhIrFXfR8zQ" target="_66D8kDclEeKAhIrFXfR8zQ"/> + <transition xmi:type="uml:Transition" xmi:id="_-v4XkDclEeKAhIrFXfR8zQ" name="Transition1" source="_9f6kgDclEeKAhIrFXfR8zQ" target="_66D8kDclEeKAhIrFXfR8zQ"/> + <subvertex xmi:type="uml:State" xmi:id="_66D8kDclEeKAhIrFXfR8zQ" name="State0"/> + <subvertex xmi:type="uml:Pseudostate" xmi:id="_9f6kgDclEeKAhIrFXfR8zQ" name="Initial0"/> + </region> + </ownedBehavior> + <ownedOperation xmi:type="uml:Operation" xmi:id="_4ZEZwHecEd6r18stFZxmFQ" name="mult" method="_I1R3YAcDEeGnrLqQ0OQeAg"> + <ownedParameter xmi:type="uml:Parameter" xmi:id="_nvpKUDVdEeKoYLVLZgpRiw" name="a"> + <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_qgMSAB6SEd6ITtm_FH3jRw"/> + <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nvup4DVdEeKoYLVLZgpRiw" value="1"/> + <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_nvvQ8DVdEeKoYLVLZgpRiw" value="1"/> + </ownedParameter> + <ownedParameter xmi:type="uml:Parameter" xmi:id="_nvwfEDVdEeKoYLVLZgpRiw" name="b"> + <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_wbw4kB6SEd6ITtm_FH3jRw"/> + <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nvy7UDVdEeKoYLVLZgpRiw" value="1"/> + <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_nvziYDVdEeKoYLVLZgpRiw" value="1"/> + </ownedParameter> + <ownedParameter xmi:type="uml:Parameter" xmi:id="_nv1XkDVdEeKoYLVLZgpRiw" name="res" direction="return"> + <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> + <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nv3z0DVdEeKoYLVLZgpRiw" value="1"/> + <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_nv4a4DVdEeKoYLVLZgpRiw" value="1"/> + </ownedParameter> + </ownedOperation> + <ownedOperation xmi:type="uml:Operation" xmi:id="_TbIjUJYlEd6G9q9hwr11bw" name="add" method="_ML-4AKI5Ed6FqJCjEUrkqQ"> + <ownedParameter xmi:type="uml:Parameter" xmi:id="_TbZCAJYlEd6G9q9hwr11bw" name="a"> + <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> + </ownedParameter> + <ownedParameter xmi:type="uml:Parameter" xmi:id="_TbdTcJYlEd6G9q9hwr11bw" name="b"> + <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> + </ownedParameter> + <ownedParameter xmi:type="uml:Parameter" xmi:id="_TbkoMJYlEd6G9q9hwr11bw" name="res" direction="return"> + <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> + </ownedParameter> + </ownedOperation> + <ownedOperation xmi:type="uml:Operation" xmi:id="_rrf74DVdEeKoYLVLZgpRiw" name="check"> + <ownedParameter xmi:type="uml:Parameter" xmi:id="_4UNv4DVdEeKoYLVLZgpRiw" name="write"> + <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/> + <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4UO-ADVdEeKoYLVLZgpRiw" value="1"/> + <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4UPlEDVdEeKoYLVLZgpRiw" value="1"/> + </ownedParameter> + </ownedOperation> + <ownedOperation xmi:type="uml:Operation" xmi:id="_9OJPEDVkEeKoYLVLZgpRiw" name="testOp"> + <ownedParameter xmi:type="uml:Parameter" xmi:id="_Br-FQDVlEeKoYLVLZgpRiw" name="testPar"> + <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_9XvcQB6REd6ITtm_FH3jRw"/> + </ownedParameter> + </ownedOperation> + <ownedOperation xmi:type="uml:Operation" xmi:id="_6ERa0DW2EeKyT6LlKoWJIA" name="length"> + <ownedParameter xmi:type="uml:Parameter" xmi:id="_FfLX4DW3EeKyT6LlKoWJIA" name="p1" type="_krMkcDW2EeKyT6LlKoWJIA"> + <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FfN0IDW3EeKyT6LlKoWJIA" value="1"/> + <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FfObMDW3EeKyT6LlKoWJIA" value="1"/> + </ownedParameter> + </ownedOperation> + </packagedElement> + </packagedElement> + <packagedElement xmi:type="uml:Package" xmi:id="_Tp4n8DLaEd2qeKRLMdIx_A" name="Interfaces"> + <ownedComment xmi:type="uml:Comment" xmi:id="_TDDBoDeEEeGPyrZ5I3hMlA" annotatedElement="_cn-H0DLbEd2qeKRLMdIx_A"> + <body>This interface contains services that are used by the client and provided by the server component</body> + </ownedComment> + <packagedElement xmi:type="uml:Interface" xmi:id="_cn-H0DLbEd2qeKRLMdIx_A" name="ICompute"> + <ownedOperation xmi:type="uml:Operation" xmi:id="_DGs6wDLgEd28fJKJJnUaeQ" name="add"> + <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6wTLgEd28fJKJJnUaeQ" name="a"> + <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> + <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6wzLgEd28fJKJJnUaeQ" value="1"/> + <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6wjLgEd28fJKJJnUaeQ" value="1"/> + </ownedParameter> + <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6xTLgEd28fJKJJnUaeQ" name="b"> + <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> + <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6xzLgEd28fJKJJnUaeQ" value="1"/> + <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6xjLgEd28fJKJJnUaeQ" value="1"/> + </ownedParameter> + <ownedParameter xmi:type="uml:Parameter" xmi:id="_DGs6yTLgEd28fJKJJnUaeQ" name="res" direction="return"> + <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> + <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DGs6yzLgEd28fJKJJnUaeQ" value="1"/> + <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DGs6yjLgEd28fJKJJnUaeQ" value="1"/> + </ownedParameter> + </ownedOperation> + <ownedOperation xmi:type="uml:Operation" xmi:id="_L8EY8DLgEd28fJKJJnUaeQ" name="mult" isAbstract="true"> + <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY8TLgEd28fJKJJnUaeQ" name="a"> + <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_qgMSAB6SEd6ITtm_FH3jRw"/> + <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY8zLgEd28fJKJJnUaeQ" value="1"/> + <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY8jLgEd28fJKJJnUaeQ" value="1"/> + </ownedParameter> + <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY9TLgEd28fJKJJnUaeQ" name="b"> + <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_wbw4kB6SEd6ITtm_FH3jRw"/> + <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY9zLgEd28fJKJJnUaeQ" value="1"/> + <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY9jLgEd28fJKJJnUaeQ" value="1"/> + </ownedParameter> + <ownedParameter xmi:type="uml:Parameter" xmi:id="_L8EY-TLgEd28fJKJJnUaeQ" name="res" direction="return"> + <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_FxVBkB6LEd6Nj_33Eb_pxw"/> + <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L8EY-zLgEd28fJKJJnUaeQ" value="1"/> + <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L8EY-jLgEd28fJKJJnUaeQ" value="1"/> + </ownedParameter> + </ownedOperation> + <ownedOperation xmi:type="uml:Operation" xmi:id="_rrbqcDVdEeKoYLVLZgpRiw" name="check" isAbstract="true"> + <ownedParameter xmi:type="uml:Parameter" xmi:id="_0xTp0DVdEeKoYLVLZgpRiw" name="write"> + <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/> + </ownedParameter> + </ownedOperation> + <ownedOperation xmi:type="uml:Operation" xmi:id="_6DewoDW2EeKyT6LlKoWJIA" name="length"> + <ownedParameter xmi:type="uml:Parameter" xmi:id="_AP4BcDW3EeKyT6LlKoWJIA" name="p1" type="_krMkcDW2EeKyT6LlKoWJIA"/> + </ownedOperation> + </packagedElement> + <packagedElement xmi:type="uml:DataType" xmi:id="_krMkcDW2EeKyT6LlKoWJIA" name="Point"> + <ownedAttribute xmi:type="uml:Property" xmi:id="_m0WCQDW2EeKyT6LlKoWJIA" name="x" visibility="public"> + <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_-5FTMB6REd6ITtm_FH3jRw"/> + <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pOAoUDW2EeKyT6LlKoWJIA" value="1"/> + <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pOB2cDW2EeKyT6LlKoWJIA" value="1"/> + <defaultValue xmi:type="uml:LiteralString" xmi:id="_pOESsDW2EeKyT6LlKoWJIA"> + <value xsi:nil="true"/> + </defaultValue> + </ownedAttribute> + <ownedAttribute xmi:type="uml:Property" xmi:id="_yJIJMDW2EeKyT6LlKoWJIA" name="y" visibility="public"> + <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_-5FTMB6REd6ITtm_FH3jRw"/> + <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_yd44QDW2EeKyT6LlKoWJIA" value="1"/> + <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_yd6GYDW2EeKyT6LlKoWJIA" value="1"/> + <defaultValue xmi:type="uml:LiteralString" xmi:id="_yd77kDW2EeKyT6LlKoWJIA"> + <value xsi:nil="true"/> + </defaultValue> + </ownedAttribute> + </packagedElement> + </packagedElement> + <packagedElement xmi:type="uml:Package" xmi:id="_etOZkDLaEd2qeKRLMdIx_A" name="Client"> + <ownedComment xmi:type="uml:Comment" xmi:id="_fBRcQDeGEeGPyrZ5I3hMlA" annotatedElement="_IfjoETLbEd2qeKRLMdIx_A"> + <body>The operation "run" (not the associated behavior) has been added automatically by Qompass in order to implement the operations of interfaces provided by ports, in this case of the operations of the "IStart" interface. It would be tedious to manually copy operations from an interface, as it would imply copying the complete signature with all parameters. The component developper has to provide a suitable behavior. A validation rule verifies if operations without behavior exist.</body> + </ownedComment> + <packagedElement xmi:type="uml:Class" xmi:id="_IfjoETLbEd2qeKRLMdIx_A" clientDependency="_ZmdDkEdDEeGxo4rn9hBAOQ" name="Client_impl"> + <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_ZmdDkEdDEeGxo4rn9hBAOQ" name="derived realization of IStart" client="_IfjoETLbEd2qeKRLMdIx_A"> + <supplier xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/> + <contract xmi:type="uml:Interface" href="pathmap://QML_CORE/sysinterfaces.uml#_PTWzwCS-Ed-A_I32T0fkaA"/> + </interfaceRealization> + <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_yXNVoKF4Ed6FqJCjEUrkqQ" name="run" specification="_ZnGj0EdDEeGxo4rn9hBAOQ"> + <language>C/C++</language> + <body>cout << "call via port q: add (2, 3);" << endl; +for (int i=0; i<20; i++) { + cout << "result: " << q->add (2, (i+3)) << endl; + usleep((i+10)*5*1000); + cout << "result: " << q->mult (3.0, 7.0) << endl; + usleep(20*1000); + testOp(i*2); + usleep(30*1000); +}</body> + </ownedBehavior> + <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_yVALQDclEeKAhIrFXfR8zQ" name="testOp" specification="_Qzp7gDclEeKAhIrFXfR8zQ"> + <language>C/C++</language> + <body>cout << "This is a test operation" << endl;</body> + </ownedBehavior> + <ownedOperation xmi:type="uml:Operation" xmi:id="_ZnGj0EdDEeGxo4rn9hBAOQ" name="run" method="_yXNVoKF4Ed6FqJCjEUrkqQ"/> + <ownedOperation xmi:type="uml:Operation" xmi:id="_Qzp7gDclEeKAhIrFXfR8zQ" name="testOp" method="_yVALQDclEeKAhIrFXfR8zQ"> + <ownedParameter xmi:type="uml:Parameter" xmi:id="_rXu4UDc_EeKPle9CbXIcpQ" name="j"> + <type xmi:type="uml:PrimitiveType" href="pathmap://QML_CORE/corba.uml#_9XvcQB6REd6ITtm_FH3jRw"/> + </ownedParameter> + </ownedOperation> + </packagedElement> + </packagedElement> + <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_O6TiIjLUEd26WNosUASSSw"> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O6TiIzLUEd26WNosUASSSw" source="http://www.eclipse.org/uml2/2.0.0/UML"> + <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#/"/> + </eAnnotations> + <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/StandardL2.profile.uml#_0"/> + </profileApplication> + <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_GcC0cAHtEd6HSdiss9GQ0A"> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Gd1kMAHtEd6HSdiss9GQ0A" source="http://www.eclipse.org/uml2/2.0.0/UML"> + <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> + </eAnnotations> + <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/> + </profileApplication> + <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_z1TwgFW3Ed63BrxiKsw-0Q"> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z2GasFW3Ed63BrxiKsw-0Q" source="http://www.eclipse.org/uml2/2.0.0/UML"> + <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/> + </eAnnotations> + <appliedProfile xmi:type="uml:Profile" href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/> + </profileApplication> + <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_1GtD8E0fEeG_H4ME7SR4KA"> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1RA2gE0fEeG_H4ME7SR4KA" source="http://www.eclipse.org/uml2/2.0.0/UML"> + <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//Alloc"/> + </eAnnotations> + <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_ar8OsAPMEdyuUt-4qHuVvQ"/> + </profileApplication> + </uml:Model> + <FCM:DerivedElement xmi:id="_B9o7sP6yEd6Ie_kieu_3CQ"> + <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/> + </FCM:DerivedElement> + <FCM:DerivedElement xmi:id="_DWb6oP6yEd6Ie_kieu_3CQ" base_Element="_TbIjUJYlEd6G9q9hwr11bw" source="_DGs6wDLgEd28fJKJJnUaeQ"/> + <FCM:DerivedElement xmi:id="_DXK6cP6yEd6Ie_kieu_3CQ" base_Element="_4ZEZwHecEd6r18stFZxmFQ" source="_L8EY8DLgEd28fJKJJnUaeQ"/> + <FCM:RuleApplication xmi:id="_DWIYoP6yEd6Ie_kieu_3CQ" base_Class="_oqZNUDLaEd2qeKRLMdIx_A"> + <containerRule xmi:type="FCM:ContainerRule" href="pathmap://QML_TRACE/tracing.uml#_NtAukCqLEeKGrchWittz_g"/> + <propagateRule>false</propagateRule> + <interceptor href="pathmap://QML_TRACE/tracing.uml#_35od4DKrEd-z5o2wSoJ16A"/> + </FCM:RuleApplication> + <FCM:Connector xmi:id="_K2_iAP6yEd6Ie_kieu_3CQ"/> + <FCM:DerivedElement xmi:id="_RwGb8P6_Ed6Zw96O-tCw7A" source="_DGs6wDLgEd28fJKJJnUaeQ"/> + <FCM:DerivedElement xmi:id="_RxVyEP6_Ed6Zw96O-tCw7A" source="_L8EY8DLgEd28fJKJJnUaeQ"/> + <C_Cpp:Include xmi:id="_7SAnAP76Ed6Zw96O-tCw7A" body="#include <unistd.h>
#include <iostream>
using namespace std;" base_class="_IfjoETLbEd2qeKRLMdIx_A"/> + <C_Cpp:Include xmi:id="_Sa4nEP77Ed6Zw96O-tCw7A" body="#include <iostream>
using namespace std;" base_class="_oqZNUDLaEd2qeKRLMdIx_A"/> + <FCM:Connector xmi:id="_Tm9v0ACUEd-PD8FdFs7bpA"/> + <FCM:DeploymentPlan xmi:id="_lEueYGLEEd-seu3qyZgHfg"/> + <FCM:DeploymentPlan xmi:id="_u_ACgGSuEd-dQdK1-7wIFg"/> + <FCM:DeploymentPlan xmi:id="_YK67AGTgEd-rCOWJcspHOA"/> + <FCM:ContainerRule xmi:id="_lNrDwH4HEd-rD-b0gnx-AQ"/> + <FCM:Configuration xmi:id="_RM9kQH8UEd-7Bsdl4VhuEw" base_Package="_BJc50H8TEd-7Bsdl4VhuEw"> + <configOptions xmi:type="FCM:ConfigOption" href="pathmap://QML_CORE/core.uml#_u6LqoH7eEd-FNNgSS03RxQ"/> + </FCM:Configuration> + <FCM:DerivedElement xmi:id="_1E0nUKFhEd-AoOVE_odazw"/> + <FCM:Connector xmi:id="_cAkqIMKnEd-LE5cHpAvxBg"> + <connector xmi:type="FCM:ConnectorImplGroup" href="pathmap://QML_DISTRIBUTION/distribution.uml#_DBP7QMKmEd-hj59jYY3RZQ"/> + </FCM:Connector> + <FCM:DerivedElement xmi:id="_ZnZewEdDEeGxo4rn9hBAOQ" base_Element="_ZnGj0EdDEeGxo4rn9hBAOQ"> + <source xmi:type="uml:Operation" href="pathmap://QML_CORE/sysinterfaces.uml#_C9IK4JsqEd61Eo3nmu3JhQ"/> + </FCM:DerivedElement> + <Alloc:Allocate xmi:id="_hgh4IE0rEeGl_syZE5iOXA"/> + <Alloc:Allocate xmi:id="_iwbZwE0rEeGl_syZE5iOXA"/> + <Alloc:Allocate xmi:id="_juiAwE0rEeGl_syZE5iOXA"/> + <FCM:DerivedElement xmi:id="_rrmpkDVdEeKoYLVLZgpRiw" base_Element="_rrf74DVdEeKoYLVLZgpRiw" source="_rrbqcDVdEeKoYLVLZgpRiw"/> + <FCM:DerivedElement xmi:id="_6EbL0DW2EeKyT6LlKoWJIA" base_Element="_6ERa0DW2EeKyT6LlKoWJIA" source="_6DewoDW2EeKyT6LlKoWJIA"/> + <FCM:RuleApplication xmi:id="__bC_ADcmEeKAhIrFXfR8zQ" base_Class="_IfjoETLbEd2qeKRLMdIx_A"> + <containerRule xmi:type="FCM:ContainerRule" href="pathmap://QML_TRACE/tracing.uml#_NtAukCqLEeKGrchWittz_g"/> + <propagateRule>false</propagateRule> + </FCM:RuleApplication> +</xmi:XMI> diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/ClientServerTraceTestModelWizard.java b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/ClientServerTraceTestModelWizard.java index 44b716be54a..c3274d24415 100644 --- a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/ClientServerTraceTestModelWizard.java +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/ClientServerTraceTestModelWizard.java @@ -6,6 +6,6 @@ import org.eclipse.papyrus.qompass.modellibs.core.ModelCopyWizard; public class ClientServerTraceTestModelWizard extends ModelCopyWizard { public ClientServerTraceTestModelWizard () { - modelName = "ClientServerTraceTest"; + modelName = "ClientServerTraceTest"; //$NON-NLS-1$ } } diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/IConfiguratorOTF.java b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/IConfiguratorOTF.java index 6dae4aa1244..48cf53a4695 100644 --- a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/IConfiguratorOTF.java +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/IConfiguratorOTF.java @@ -13,10 +13,10 @@ import org.eclipse.uml2.uml.Property; public class IConfiguratorOTF implements IInstanceConfigurator { - static final String PROP_PORT_NAME = "portName"; - - static final String PROP_INSTANCE_NAME = "instanceName"; + static final String PROP_PORT_NAME = "portName"; //$NON-NLS-1$ + static final String PROP_INSTANCE_NAME = "instanceName"; //$NON-NLS-1$ + /** * Configure the passed trace instance * @@ -25,8 +25,8 @@ public class IConfiguratorOTF implements IInstanceConfigurator { public void configureInstance(InstanceSpecification instance, Property componentPart, ContainerContext context) { // The tracing code needs informations about the component instance and port. - DepPlanUtils.configureProperty(instance, PROP_INSTANCE_NAME, "\"" + instance.getName() + "\""); - + DepPlanUtils.configureProperty(instance, PROP_INSTANCE_NAME, StringConstants.QUOTE + instance.getName() + StringConstants.QUOTE); + // port in context => interception of port => provide information about port and interface if(context.port != null) { // obtain required or provided interface (TODO: will fail, if both are provided!) @@ -35,15 +35,15 @@ public class IConfiguratorOTF implements IInstanceConfigurator { intf = PortUtils.getRequired(context.port); } - DepPlanUtils.configureProperty(instance, PROP_PORT_NAME, "\"" + context.port.getName() + "\""); + DepPlanUtils.configureProperty(instance, PROP_PORT_NAME, StringConstants.QUOTE + context.port.getName() + StringConstants.QUOTE); if(intf != null) { // this is specific for OTF: // each container contains an attribute (id_<name>) for each operation. This is configured here, // since we add instance information to the trace (is that useful??, seems like a hack) for(Operation op : intf.getOperations()) { - String id = Utils.getTop(context.executorIS).getName() + "::Tracing::Trace::ID_" + - context.executorIS.getName().replace(".", "_") + "_" + op.getName(); - DepPlanUtils.configureProperty(instance, "id_" + op.getName(), id); + String id = Utils.getTop(context.executorIS).getName() + "::Tracing::Trace::ID_" + //$NON-NLS-1$ + context.executorIS.getName().replace(".", "_") + "_" + op.getName(); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ + DepPlanUtils.configureProperty(instance, "id_" + op.getName(), id); //$NON-NLS-1$ } } } diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/IConfiguratorTrace.java b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/IConfiguratorTrace.java index 7c76623710f..43de8b800c1 100644 --- a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/IConfiguratorTrace.java +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/IConfiguratorTrace.java @@ -30,11 +30,11 @@ public class IConfiguratorTrace implements IInstanceConfigurator { } } - DepPlanUtils.configureProperty(instance, PROP_INSTANCE_NAME, "\"" + instanceName + "\""); + DepPlanUtils.configureProperty(instance, PROP_INSTANCE_NAME, StringConstants.QUOTE + instanceName + StringConstants.QUOTE); // port in context => interception of port => provide information about port and interface if(context.port != null) { - DepPlanUtils.configureProperty(instance, PROP_PORT_NAME, "\"" + context.port.getName() + "\""); + DepPlanUtils.configureProperty(instance, PROP_PORT_NAME, StringConstants.QUOTE + context.port.getName() + StringConstants.QUOTE); } } } diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/QompassTraceMechanism.java b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/QompassTraceMechanism.java index e9593ba3cd2..e3e0ca8da86 100644 --- a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/QompassTraceMechanism.java +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/QompassTraceMechanism.java @@ -23,8 +23,8 @@ import org.eclipse.papyrus.infra.services.tracepoints.TraceActions.TAOperation; import org.eclipse.papyrus.infra.services.tracepoints.TracepointConstants; import org.eclipse.papyrus.qompass.designer.core.Description; import org.eclipse.papyrus.qompass.designer.core.Log; -import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil; import org.eclipse.papyrus.qompass.designer.core.Utils; +import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil; import org.eclipse.uml2.uml.Class; import org.eclipse.uml2.uml.Element; import org.eclipse.uml2.uml.NamedElement; @@ -34,7 +34,7 @@ import org.eclipse.uml2.uml.Property; public class QompassTraceMechanism implements ITraceMechanism { - public static final String EC3M_TRACING_URI = "pathmap://QML_TRACE/tracing.uml"; + public static final String EC3M_TRACING_URI = "pathmap://QML_TRACE/tracing.uml"; //$NON-NLS-1$ public static final URI tracingURI = URI.createURI(EC3M_TRACING_URI); @@ -104,7 +104,7 @@ public class QompassTraceMechanism implements ITraceMechanism { public boolean isForTracing(ContainerRule rule) { for(ConfigOption co : rule.getForConfig()) { // TODO: not very clean to used fixed string - if(co.getBase_Class().getName().equals("Trace")) { + if(co.getBase_Class().getName().equals("Trace")) { //$NON-NLS-1$ return true; } } diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/StringConstants.java b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/StringConstants.java new file mode 100644 index 00000000000..171fece98a4 --- /dev/null +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/StringConstants.java @@ -0,0 +1,6 @@ +package org.eclipse.papyrus.qompass.modellibs.tracing; + +public class StringConstants { + public static final String QUOTE = "\""; //$NON-NLS-1$ + +} diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/acceleo/traceLTTng.mtl b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/acceleo/traceLTTng.mtl index af7a3358147..cdddfb7314a 100644 --- a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/acceleo/traceLTTng.mtl +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/acceleo/traceLTTng.mtl @@ -112,7 +112,7 @@ tracepoint([tpName1()/], [operation.tpName2()/], instanceName[if (operation.para [/template] -[template flattenParNameAndType(parameter : Parameter) post(trim())] +[template public flattenParNameAndType(parameter : Parameter) post(trim())] [if (type.oclIsTypeOf(DataType))] [for (attribute : Property | type.oclAsType(DataType).attribute) separator(', ')][attribute.type.cppTypeWB()/], [parameter.name + '_' + attribute.name/][/for] [else] @@ -120,7 +120,7 @@ tracepoint([tpName1()/], [operation.tpName2()/], instanceName[if (operation.para [/if] [/template] -[template flattenParName(parameter : Parameter) post(trim())] +[template public flattenParName(parameter : Parameter) post(trim())] [if (type.oclIsTypeOf(DataType))] [for (attribute : Property | type.oclAsType(DataType).attribute) separator(', ')][parameter.name + '.' + attribute.name/][/for] [else] @@ -129,7 +129,7 @@ tracepoint([tpName1()/], [operation.tpName2()/], instanceName[if (operation.para [/template] -[template flattenCtfType(type : Type, name : String) post(trim())] +[template public flattenCtfType(type : Type, name : String) post(trim())] [if (type.oclIsTypeOf(DataType))] [for (attribute : Property | type.oclAsType(DataType).attribute) separator('\n')][ctfType(attribute.type, name + '_' + attribute.name)/][/for] [else] @@ -138,7 +138,7 @@ tracepoint([tpName1()/], [operation.tpName2()/], instanceName[if (operation.para [/template] -[template cppTypeWB(type : Type) post(trim())] +[template public cppTypeWB(type : Type) post(trim())] [if (type.qualifiedName = 'UMLPrimitiveTypes::Boolean') or (type.qualifiedName = 'PrimitiveTypes::Boolean') or |