Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org')
-rw-r--r--extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Actions/BasicActions/ActionActivation.java28
-rw-r--r--extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Actions/CompleteActions/AcceptEventActionActivation.java10
-rw-r--r--extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Activities/CompleteStructuredActivities/LoopNodeActivation.java20
-rw-r--r--extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Activities/CompleteStructuredActivities/StructuredActivityNodeActivation.java7
-rw-r--r--extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Activities/ExtraStructuredActivities/ExpansionRegionActivation.java2
-rw-r--r--extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Classes/Kernel/BooleanValue.java2
-rw-r--r--extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Classes/Kernel/InstanceValueEvaluation.java16
-rw-r--r--extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Classes/Kernel/IntegerValue.java2
-rw-r--r--extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Classes/Kernel/UnlimitedNaturalValue.java2
-rw-r--r--extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/CommonBehaviors/Communications/ClassifierBehaviorExecution.java3
-rw-r--r--extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/CommonBehaviors/Communications/ObjectActivation.java28
-rw-r--r--extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Loci/LociL1/ExecutionFactory.java4
12 files changed, 98 insertions, 26 deletions
diff --git a/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Actions/BasicActions/ActionActivation.java b/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Actions/BasicActions/ActionActivation.java
index 53c42c15d0f..c8cc408a72b 100644
--- a/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Actions/BasicActions/ActionActivation.java
+++ b/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Actions/BasicActions/ActionActivation.java
@@ -30,8 +30,10 @@ import org.eclipse.papyrus.moka.fuml.Semantics.Classes.Kernel.Value;
import org.eclipse.papyrus.moka.fuml.debug.Debug;
import org.eclipse.uml2.uml.Action;
import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ConditionalNode;
import org.eclipse.uml2.uml.InputPin;
import org.eclipse.uml2.uml.LiteralBoolean;
+import org.eclipse.uml2.uml.LoopNode;
import org.eclipse.uml2.uml.OutputPin;
import org.eclipse.uml2.uml.Pin;
import org.eclipse.uml2.uml.UMLFactory;
@@ -82,7 +84,7 @@ public abstract class ActionActivation extends ActivityNodeActivation {
}
Action action = (Action)(this.node);
// *** Fire all input pins concurrently. ***
- List<InputPin> inputPins = action.getInputs();
+ List<InputPin> inputPins = getInputs(action); // CHANGED from: action.getInputs();
for(Iterator<InputPin> i = inputPins.iterator(); i.hasNext();) {
InputPin pin = i.next();
PinActivation pinActivation = this.getPinActivation(pin);
@@ -151,7 +153,7 @@ public abstract class ActionActivation extends ActivityNodeActivation {
ready = this.incomingEdges.get(i - 1).hasOffer();
i = i + 1;
}
- List<InputPin> inputPins = ((Action)(this.node)).getInputs();
+ List<InputPin> inputPins = getInputs((Action)this.node); // CHANGED from: ((Action)(this.node)).getInputs();
int j = 1;
while(ready & j <= inputPins.size()) {
ready = this.getPinActivation(inputPins.get(j - 1)).isReady();
@@ -162,7 +164,7 @@ public abstract class ActionActivation extends ActivityNodeActivation {
public Boolean isFiring() {
// Indicate whether this action activation is currently firing or not.
- return firing;
+ return this.firing == null? false: this.firing; // ADDED check for null
}
public abstract void doAction();
@@ -171,7 +173,7 @@ public abstract class ActionActivation extends ActivityNodeActivation {
// Fire all output pins and send offers on all outgoing control flows.
Action action = (Action)(this.node);
// *** Send offers from all output pins concurrently. ***
- List<OutputPin> outputPins = action.getOutputs();
+ List<OutputPin> outputPins = getOutputs(action); // CHANGED from: action.getOutputs();
for(Iterator<OutputPin> i = outputPins.iterator(); i.hasNext();) {
OutputPin outputPin = i.next();
PinActivation pinActivation = this.getPinActivation(outputPin);
@@ -193,7 +195,7 @@ public abstract class ActionActivation extends ActivityNodeActivation {
// (or group), so they must be activated through the action activation.]
Action action = (Action)(this.node);
List<ActivityNode> inputPinNodes = new ArrayList<ActivityNode>();
- List<InputPin> inputPins = action.getInputs();
+ List<InputPin> inputPins = getInputs(action); // CHANGED from: action.getInputs();
for(int i = 0; i < inputPins.size(); i++) {
InputPin inputPin = inputPins.get(i);
inputPinNodes.add(inputPin);
@@ -204,7 +206,7 @@ public abstract class ActionActivation extends ActivityNodeActivation {
this.addPinActivation((PinActivation)(this.group.getNodeActivation(node)));
}
List<ActivityNode> outputPinNodes = new ArrayList<ActivityNode>();
- List<OutputPin> outputPins = action.getOutputs();
+ List<OutputPin> outputPins = getOutputs(action); // CHANGED from: action.getOutputs();
for(int i = 0; i < outputPins.size(); i++) {
OutputPin outputPin = outputPins.get(i);
outputPinNodes.add(outputPin);
@@ -226,6 +228,7 @@ public abstract class ActionActivation extends ActivityNodeActivation {
ActivityNodeActivation forkNodeActivation;
if(this.outgoingEdges.size() == 0) {
forkNodeActivation = new ForkNodeActivation();
+ forkNodeActivation.running = false; // ADDED
ActivityEdgeInstance newEdge = new ActivityEdgeInstance();
super.addOutgoingEdge(newEdge);
forkNodeActivation.addIncomingEdge(newEdge);
@@ -350,4 +353,17 @@ public abstract class ActionActivation extends ActivityNodeActivation {
booleanLiteral.setValue(value);
return (BooleanValue)(this.getExecutionLocus().executor.evaluate(booleanLiteral));
}
+
+ // ADDED:
+ protected static List<InputPin> getInputs(Action action) {
+ return action instanceof LoopNode? ((LoopNode)action).getLoopVariableInputs():
+ action.getInputs();
+ }
+
+ protected static List<OutputPin> getOutputs(Action action) {
+ return action instanceof LoopNode? ((LoopNode)action).getResults():
+ action instanceof ConditionalNode? ((ConditionalNode)action).getResults():
+ action.getOutputs();
+ }
+ //
}
diff --git a/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Actions/CompleteActions/AcceptEventActionActivation.java b/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Actions/CompleteActions/AcceptEventActionActivation.java
index 62c9a3e5acc..4ffec9f5431 100644
--- a/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Actions/CompleteActions/AcceptEventActionActivation.java
+++ b/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Actions/CompleteActions/AcceptEventActionActivation.java
@@ -61,13 +61,19 @@ public class AcceptEventActionActivation extends ActionActivation {
// An accept event action activiation is ready to fire only if it is not
// already waiting for an event.
boolean ready;
- if(this.waiting) {
+ if(this.isWaiting()) { // CHANGED "this.waiting" to "this.isWaiting()".
ready = false;
} else {
ready = super.isReady();
}
return ready;
}
+
+ // ADDED:
+ public Boolean isWaiting() {
+ return this.waiting == null? false: this.waiting;
+ }
+ //
public void doAction() {
// Do nothing. [This will never be called.]
@@ -129,7 +135,7 @@ public class AcceptEventActionActivation extends ActionActivation {
public void terminate() {
// Terminate this action and unregister its event accepter.
super.terminate();
- if(this.waiting) {
+ if(this.isWaiting()) { // CHANGED "this.waiting" to "this.isWaiting()".
this.getExecutionContext().unregister(this.eventAccepter);
this.waiting = false;
}
diff --git a/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Activities/CompleteStructuredActivities/LoopNodeActivation.java b/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Activities/CompleteStructuredActivities/LoopNodeActivation.java
index 617f9813f08..c50db083893 100644
--- a/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Activities/CompleteStructuredActivities/LoopNodeActivation.java
+++ b/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Activities/CompleteStructuredActivities/LoopNodeActivation.java
@@ -31,7 +31,7 @@ import org.eclipse.uml2.uml.Pin;
public class LoopNodeActivation extends StructuredActivityNodeActivation {
public List<Values> bodyOutputLists = new ArrayList<Values>();
-
+
public void doStructuredActivity() {
// Set the initial values for the body outputs to the values of the loop
// variable input pins.
@@ -51,6 +51,9 @@ public class LoopNodeActivation extends StructuredActivityNodeActivation {
// List<OutputPin> loopVariables = loopNode.getLoopVariables();
// List<OutputPin> resultPins = loopNode.getResults();
// List<Values> bodyOutputLists = this.bodyOutputLists;
+
+ this.bodyOutputLists.clear(); // Added
+
for(int i = 0; i < loopVariableInputs.size(); i++) {
InputPin loopVariableInput = loopVariableInputs.get(i);
Values bodyOutputList = new Values();
@@ -69,7 +72,7 @@ public class LoopNodeActivation extends StructuredActivityNodeActivation {
// loop variables.
LoopNode loopNode = (LoopNode)(this.node);
List<OutputPin> loopVariables = loopNode.getLoopVariables();
- List<OutputPin> resultPins = loopNode.getResults();
+ List<OutputPin> resultPins = this.getResults(); // CHANGED from: loopNode.getResults();
while(continuing) {
// Set loop variable values
this.runLoopVariables();
@@ -166,6 +169,7 @@ public class LoopNodeActivation extends StructuredActivityNodeActivation {
public void createNodeActivations() {
// In addition to creating activations for contained nodes, create
// activations for any loop variables.
+
super.createNodeActivations();
this.activationGroup.createNodeActivations(this.makeLoopVariableList());
}
@@ -186,7 +190,7 @@ public class LoopNodeActivation extends StructuredActivityNodeActivation {
public void terminateAll() {
// Copy the values of the body outputs to the loop outputs, and then
// terminate all activations in the loop.
- List<OutputPin> resultPins = ((LoopNode)this.node).getResults();
+ List<OutputPin> resultPins = this.getResults(); // CHANGED from: ((LoopNode)this.node).getResults();
for(int i = 0; i < bodyOutputLists.size(); i++) {
Values bodyOutputList = bodyOutputLists.get(i);
OutputPin resultPin = resultPins.get(i);
@@ -235,4 +239,14 @@ public class LoopNodeActivation extends StructuredActivityNodeActivation {
this.doLoop(continuing);
}
}
+
+ // ADDED:
+ private List<OutputPin> getResults() {
+ LoopNode node = (LoopNode)this.node;
+ List<OutputPin> results = new ArrayList<OutputPin>(node.getResults());
+ List<OutputPin> loopVariables = node.getLoopVariables();
+ results.removeAll(loopVariables);
+ return results;
+ }
+ //
}
diff --git a/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Activities/CompleteStructuredActivities/StructuredActivityNodeActivation.java b/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Activities/CompleteStructuredActivities/StructuredActivityNodeActivation.java
index e4bc3b82369..dcc779150ab 100644
--- a/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Activities/CompleteStructuredActivities/StructuredActivityNodeActivation.java
+++ b/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Activities/CompleteStructuredActivities/StructuredActivityNodeActivation.java
@@ -61,7 +61,7 @@ public class StructuredActivityNodeActivation extends ActionActivation {
// and loop nodes.)
Action action = (Action)(this.node);
// *** Concurrently send offers from all input pins. ***
- List<InputPin> inputPins = action.getInputs();
+ List<InputPin> inputPins = getInputs(action); // CHANGED from: action.getInputs();
for(Iterator<InputPin> i = inputPins.iterator(); i.hasNext();) {
InputPin inputPin = i.next();
PinActivation pinActivation = this.getPinActivation(inputPin);
@@ -102,12 +102,12 @@ public class StructuredActivityNodeActivation extends ActionActivation {
activityNodes.add(node);
if(node instanceof Action) {
Action action = (Action)node;
- List<InputPin> inputPins = action.getInputs();
+ List<InputPin> inputPins = getInputs(action); // CHANGED from: action.getInputs();
for(int j = 0; j < inputPins.size(); j++) {
InputPin inputPin = inputPins.get(j);
activityNodes.add(inputPin);
}
- List<OutputPin> outputPins = action.getOutputs();
+ List<OutputPin> outputPins = getOutputs(action); // CHANGED from: action.getOutputs();
for(int j = 0; j < outputPins.size(); j++) {
OutputPin outputPin = outputPins.get(j);
activityNodes.add(outputPin);
@@ -151,6 +151,7 @@ public class StructuredActivityNodeActivation extends ActionActivation {
// Create an activation group and create node activations for all the
// nodes within the structured activity node.
super.createNodeActivations();
+
this.activationGroup = new ActivityNodeActivationGroup();
this.activationGroup.containingNodeActivation = this;
this.activationGroup.createNodeActivations(((StructuredActivityNode)(this.node)).getNodes());
diff --git a/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Activities/ExtraStructuredActivities/ExpansionRegionActivation.java b/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Activities/ExtraStructuredActivities/ExpansionRegionActivation.java
index 3bd7d8f8588..ac64fe6a74a 100644
--- a/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Activities/ExtraStructuredActivities/ExpansionRegionActivation.java
+++ b/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Activities/ExtraStructuredActivities/ExpansionRegionActivation.java
@@ -136,7 +136,7 @@ public class ExpansionRegionActivation extends ActionActivation {
while(j <= outputElements.size()) {
OutputPinActivation groupOutput = new OutputPinActivation();
groupOutput.run();
- activationGroup.groupOutputs.add(new OutputPinActivation());
+ activationGroup.groupOutputs.add(groupOutput); // CHANGED "new OutputPinActivation()" to "groupOutput"
j = j + 1;
}
activationGroup.createNodeActivations(region.getNodes());
diff --git a/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Classes/Kernel/BooleanValue.java b/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Classes/Kernel/BooleanValue.java
index 2d24d927cc6..ee4eb384df6 100644
--- a/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Classes/Kernel/BooleanValue.java
+++ b/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Classes/Kernel/BooleanValue.java
@@ -38,7 +38,7 @@ public class BooleanValue extends PrimitiveValue {
// value.
boolean isEqual = false;
if(otherValue instanceof BooleanValue) {
- isEqual = ((BooleanValue)otherValue).value == this.value;
+ isEqual = ((BooleanValue)otherValue).value.equals(this.value); // CHANGED == to equals;
}
return isEqual;
}
diff --git a/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Classes/Kernel/InstanceValueEvaluation.java b/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Classes/Kernel/InstanceValueEvaluation.java
index 38d579dc170..18db33d1d8a 100644
--- a/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Classes/Kernel/InstanceValueEvaluation.java
+++ b/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Classes/Kernel/InstanceValueEvaluation.java
@@ -22,7 +22,6 @@ import org.eclipse.uml2.uml.Behavior;
import org.eclipse.uml2.uml.Class;
import org.eclipse.uml2.uml.Classifier;
import org.eclipse.uml2.uml.DataType;
-import org.eclipse.uml2.uml.Enumeration;
import org.eclipse.uml2.uml.EnumerationLiteral;
import org.eclipse.uml2.uml.InstanceSpecification;
import org.eclipse.uml2.uml.InstanceValue;
@@ -43,17 +42,24 @@ public class InstanceValueEvaluation extends Evaluation {
// value specifications for the specified slot for the feature.
// Debug.println("[evaluate] InstanceValueEvaluation...");
InstanceSpecification instance = ((InstanceValue)this.specification).getInstance();
- List<Classifier> types = instance.getClassifiers();
- Classifier myType = types.get(0);
- Debug.println("[evaluate] type = " + myType.getName());
+ // List<Classifier> types = instance.getClassifiers();
+ // Classifier myType = types.get(0);
+ // Debug.println("[evaluate] type = " + myType.getName());
Value value;
if(instance instanceof EnumerationLiteral) {
// Debug.println("[evaluate] Type is an enumeration.");
EnumerationValue enumerationValue = new EnumerationValue();
- enumerationValue.type = (Enumeration)myType;
+ // enumerationValue.type = (Enumeration)myType;
+ enumerationValue.type = ((EnumerationLiteral)instance).getEnumeration(); // ADDED
enumerationValue.literal = (EnumerationLiteral)instance;
value = enumerationValue;
+ Debug.println("[evaluate] type = " + enumerationValue.type.getName()); // ADDED
} else {
+ // ADDED:
+ List<Classifier> types = instance.getClassifiers();
+ Classifier myType = types.get(0);
+ Debug.println("[evaluate] type = " + myType.getName());
+ //
StructuredValue structuredValue = null;
if(myType instanceof DataType) {
// Debug.println("[evaluate] Type is a data type.");
diff --git a/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Classes/Kernel/IntegerValue.java b/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Classes/Kernel/IntegerValue.java
index 2a3863e5790..6e351061b2b 100644
--- a/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Classes/Kernel/IntegerValue.java
+++ b/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Classes/Kernel/IntegerValue.java
@@ -38,7 +38,7 @@ public class IntegerValue extends PrimitiveValue {
// value.
boolean isEqual = false;
if(otherValue instanceof IntegerValue) {
- isEqual = ((IntegerValue)otherValue).value == this.value;
+ isEqual = ((IntegerValue)otherValue).value.equals(this.value); // CHANGED == to equals
}
return isEqual;
}
diff --git a/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Classes/Kernel/UnlimitedNaturalValue.java b/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Classes/Kernel/UnlimitedNaturalValue.java
index 427eed4a506..4c375644aff 100644
--- a/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Classes/Kernel/UnlimitedNaturalValue.java
+++ b/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Classes/Kernel/UnlimitedNaturalValue.java
@@ -39,7 +39,7 @@ public class UnlimitedNaturalValue extends PrimitiveValue {
// unlimited natural value.
boolean isEqual = false;
if(otherValue instanceof UnlimitedNaturalValue) {
- isEqual = ((UnlimitedNaturalValue)otherValue).value == this.value;
+ isEqual = ((UnlimitedNaturalValue)otherValue).value.equals(this.value); // CHANGED == to equals
}
return isEqual;
}
diff --git a/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/CommonBehaviors/Communications/ClassifierBehaviorExecution.java b/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/CommonBehaviors/Communications/ClassifierBehaviorExecution.java
index cdb15c3e2ac..e5224fd7f7e 100644
--- a/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/CommonBehaviors/Communications/ClassifierBehaviorExecution.java
+++ b/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/CommonBehaviors/Communications/ClassifierBehaviorExecution.java
@@ -70,7 +70,8 @@ public class ClassifierBehaviorExecution {
// TODO tmp
public void _startObjectBehavior() {
- // Asynchronous start of object behavior is deactivated
+ // ADDED:
+ this.execution.execute();
}
public void terminate() {
diff --git a/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/CommonBehaviors/Communications/ObjectActivation.java b/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/CommonBehaviors/Communications/ObjectActivation.java
index 57f955991c8..ce9ffe6d158 100644
--- a/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/CommonBehaviors/Communications/ObjectActivation.java
+++ b/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/CommonBehaviors/Communications/ObjectActivation.java
@@ -123,10 +123,12 @@ public class ObjectActivation {
_send(new ArrivalSignal());
}
+ /*
// TODO This is temporary
public void _send(ArrivalSignal signal) {
// Asynchronous communications are deactivated
}
+ */
public void startBehavior(Class classifier, List<ParameterValue> inputs) {
// Start the event dispatch loop for this object activation (if it has
@@ -168,8 +170,34 @@ public class ObjectActivation {
}
}
+ /*
// TODO tmp
public void _startObjectBehavior() {
// Start object behavior is deactivated
}
+ */
+
+ // ADDED:
+
+ int signalCount = 0;
+ public void _startObjectBehavior() {
+ // *** This should start the EventDispatchLoop ***
+
+ while (this.signalCount > 0) {
+ this.dispatchNextEvent();
+ signalCount = signalCount - 1;
+ }
+ } // _startObjectBehavior
+
+ public void _send(ArrivalSignal signal) {
+ // Signal the arrival of a new signal instance in the event pool.
+ // *** This should send an ArrivalSignal to the EventDispatchLoop. ***
+
+ this.signalCount = this.signalCount + 1;
+ if (this.signalCount == 1) {
+ this._startObjectBehavior();
+ }
+ } // _send
+
+ //
}
diff --git a/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Loci/LociL1/ExecutionFactory.java b/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Loci/LociL1/ExecutionFactory.java
index 8e7d0beb986..5255ad08937 100644
--- a/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Loci/LociL1/ExecutionFactory.java
+++ b/extraplugins/moka/org.eclipse.papyrus.moka.fuml/generated/org/eclipse/papyrus/moka/fuml/Semantics/Loci/LociL1/ExecutionFactory.java
@@ -96,10 +96,10 @@ public abstract class ExecutionFactory {
// Debug.println("[instantiateOpaqueExecution] Checking " +
// this.primitiveBehaviorPrototypes.get(i).objectId() + "...");
OpaqueBehaviorExecution prototype = this.primitiveBehaviorPrototypes.get(i - 1);
- // if (prototype.getBehavior() == behavior) {
+ if (prototype.getBehavior() == behavior) { // CHANGED back to original
// TODO Behavior is always different from .getBehavior()
// Need to understand why...
- if(prototype.getBehavior().getQualifiedName().equals(behavior.getQualifiedName())) {
+ // if(prototype.getBehavior().getQualifiedName().equals(behavior.getQualifiedName())) {
execution = (OpaqueBehaviorExecution)(prototype.copy());
}
i = i + 1;

Back to the top