1
Bugs and Issues / Re: Activity Parameter Direction and Action Pin Kind
« on: July 30, 2021, 11:54:06 pm »
This is a bug in EA's synchronise. The Parameter (from Behavior) can be inout, but the ActivityParameterNode in the Activity cannot have two directions. The ActivityParameterNodes are converted to ActionPins when you create an invocation Action.
UML states:
1. A Parameter with direction other than inout must have exactly one ActivityParameterNode in an Activity.
2. A Parameter with direction inout must have exactly two ActivityParameterNodes in an Activity, at most one with incoming ActivityEdges and at most one with outgoing ActivityEdges.
This makes sense as getting a token from the node and putting a token to the node would cause a loop if you think about it. In essence the inout parameter have two different nodes, the input and the output. The fact that you write it to the same memory position in code (inout parameter), just not modify the fact that you hav an input and a different output.
EA only allows you to specify parameters (which can be inout), but it does not create two ActivityParameterNodes for the parameter if it is inout.
UML states:
1. A Parameter with direction other than inout must have exactly one ActivityParameterNode in an Activity.
2. A Parameter with direction inout must have exactly two ActivityParameterNodes in an Activity, at most one with incoming ActivityEdges and at most one with outgoing ActivityEdges.
This makes sense as getting a token from the node and putting a token to the node would cause a loop if you think about it. In essence the inout parameter have two different nodes, the input and the output. The fact that you write it to the same memory position in code (inout parameter), just not modify the fact that you hav an input and a different output.
EA only allows you to specify parameters (which can be inout), but it does not create two ActivityParameterNodes for the parameter if it is inout.