Additional Information
Differences between the languages Python and F(x)
-
When using the f(x) language a semicolon at the end of a line means an assignment (the variable now holds the given value).
-
Without the semicolon the line will be seen as an expression, that will be evaluated to a result by the under-lying rule-engine.
-
-
If you are using the Python language, then you will always need a semicolon at the end of the line (or expression).
-
A result statement in Python always looks like
Result=(EXPRESSION);
-
Difference between exclusive and inclusive gateways
-
In contrast to the parallel gateways an exclusive merging gateway does not wait for sub-processes to reach the gateway.
-
Instead the gateway will operate as soon as a sub-process (token) reaches it.
-
An exclusive gateway will always create only one sub-process (token).
-
(Still, the BPMN allows valid models with multiple sub-processes [tokens] reaching an exclusive merging gateway, which then will forward each sub-process without delay.)
-
Default sequence flows do not need an expression / condition. A default sequence flow will always be determined as the next path element, if none of the other edge’s conditions evaluate to true. |
Differentiation of the gateway execution context
Scripts are not necessarily executed only once. Therefore, you have the option to differentiate between the execution contexts.
ScriptContext
is used to define case distinctions for expressions depending on the given setting, point of execution and user actions.
(see related workflow topic: ScriptContext)
If the simulation run is currently at a gateway, there are two execution distinctions for the following sequence flow expressions:
ScriptContext.SequenceFlowCondition
-
The gateway checks whether the sequence path should be followed
ScriptContext.SequenceFlowExpression
-
The gateway executes the script if the sequence path is followed
The query of the currently active expression context can either be
ScriptContext.ActiveContext == ScriptContext.SequenceFlowCondition
or
ScriptContext.ActiveContext == ScriptContext.SequenceFlowExpression