
bpswg - issue #92
Introduce a <Condition> element to the Control Parameters perspective
While experimenting with using expressions for decision routing, the serialized XML looks strange when using the probability attribute.
<ElementParameters elementId="Flow1"> <ControlParameters> <Probability> <ExpressionParameter value="paf:getParameter('Volume') * 10 > 100"/> </Probability> </ControlParameters > </ElementParameters>
It would be better to introduct a <Condition> element to the Control Parameters perspective, for example:
<ElementParameters elementId="Flow1"> <ControlParameters> <Condition> <ExpressionParameter value="paf:getParameter('Volume') * 10 > 100"/> </Condition> </ControlParameters > </ElementParameters>
Comment #1
Posted on Jul 5, 2012 by Happy PandaProbability should have any value between 0 and 1. On the other hand, a condition (boolean), while it is (re)using 0 and 1 to reflect False and True, has a different meaning. If the expression example used is only one of multiple ways to calculate that probability (assuming others allow values between 0 and 1), then using Probability seems OK. Otherwise (no way to set values between 0 and 1), my suggestion would be to change the element to ... unless that has side-effects somewhere else.
Comment #2
Posted on Jul 23, 2012 by Swift BirdI think there is a case to have both and .
We also need a mechanism to set the condition expression used to control sequential and multi instance looping. The parameter could be used to express this boolean behaviour. See Issue #71.
The parameter can now be used with Intermediate Events, in conjunction with InterTriggerTime, to determine if the event will be triggered. We have not considered using boolean expressions here.
In some simulators a gateway can be configured to route based on a probability or based on a boolean expression. Therefore it is useful to be able to specify either a or a so the simulator can evaluate it correctly.
Comment #3
Posted on Oct 24, 2012 by Swift RabbitOn the call October 18th 2012, we decided to add a control parameter named condition.
Comment #4
Posted on Oct 24, 2012 by Swift RabbitIn version 1.0 Rc
Status: Applied