Gateways
Gateways do not contain any customizable simulation properties.
There are currently two gateway types available in the simulation that require conditions: the exclusive and inclusive gateway.
-
Exclusive and inclusive gateways need conditions on their outgoing sequence flows.
-
These conditions are not set at the gateway itself but on the outgoing sequence flows.
-
You have to set the property Expression of every outgoing sequence flow to obtain a simulation-ready model.
-
These expressions have to describe conditions, which depend on process variables, e.g.
x>10
orvar1==100
. -
See the following section Process Variables for more information on how to define variables and conditions.
-
Exclusive Gateway
Merge
The exclusive gateway is simple. It fires whenever a token reaches it on any incoming sequence flow.
Fork
Every expression on the outgoing sequence flows will be verified, prior to choosing exactly one sequence flow as the successor. If there are two expressions that evaluate to true, the simulation will add an error entry to the error log and that explicit process instance will never finish. Such an error will lead to useless simulation reports.
Inclusive Gateway
Merge
Once a token reaches an inclusive gateway with more than one incoming sequence flow, the gateway checks whether there are still tokens "alive", which can reach them. Have a look at the model below. Assume that the task "Stay Awake" lasts longer than "Work". In which case the token from "Work" reaches the inclusive gateway first. The inclusive gateway knows, that there is still one token at "Stay awake" which can reach it. So the gateway will have to wait. After "Stay awake" is finished, there is a decision ahead. If there is no need for a coffee, the token reaches the inclusive gateway, which now knows that there is no token alive anymore, so it fires. On the other hand, if there is a need for coffee, the inclusive gateway will be noticed and fires too.