| PeterW 2005-08-10, 7:49 am |
| I have a FILE receive port.
I have 2 send ports that have subscriptions that includes the
ReceivePortName for the ReceivePort. The Send shapes that use these Send
Ports are on different branches of a Decide shape. The decide shape branches
Expressions are action=="resupply" and action=="defertoqa" for the Resupply
and DeferToQA branches respectively.
action is an Orchestration variable.
For the purposes of testing functionality I set the value of this action
variable in an Expression to test if the correct branch would be used. The
value used was "resupply" which should cause just one branch to evaluate
correctly. There are no Send shapes on the else branch.
The result is curious. Both Send shapes deliver a message to their
respective ports, followed at a short interval by another message delivered
by the Resupply Send shape.
My questions are:
Why twice for the correct Send shape? One is obviously happening before the
decide shape evaluates the value of the "action" variable. Followed by one
based on the real value.
Why at all for the incorrect Send shape?
i.e. What causes the initial activation of both Send shapes despite the
Send shapes being contained in an area that should only activate on correct
evaluation?
Then why fire again when evaluated?
Some guidance would be very helpful.
cheers
--
PeterW
|