This section explains the correct way to manage Agent behavior during a map’s execution.
It enables you to define parameters for when the process is executed by multiple agents, including how the process behaves during special instances such as when and where the process merges.
The Flow Control tab helps the developer avoid conditional race.
The Agent flow control drop-down list, explained
Option 1: Run For each agent
This is the default option, where all agents that reach this point of the process will continue to execute the process, and move forward without any connection to other agents that might remain behind this current process.
Option 2: Wait for all agents and than run
This option will pause the execution at the current process for all agents until all of the other agents reach this designated process, and then execute the same process on all agents simultaneously. It ensures that all agents are aligned.
Option 3: Run only for first agent
When selecting this option, only the first agent reaching the designated process will execute the process itself. Any other agents reaching the process will proceed on to the next process.
When multiple processes are required to merge into one consolidated ongoing process, there are a few different ways the developer can choose how to proceed.
Option 1: Wait for all
This option will align all processes by ensuring that any processes reaching a designated merging point do not proceed until all of the other processes that are still being conducted reach this point. Only once all processes reach the designated merging point, will the execution proceed. This option functions similar to the “wait for all processes” option under the Agent flow control.
Option 2: Run once for first
“First-come-first-serve” – This option will make sure that the first process that finished his execution will reach the merge process and will be executed. The remaining processes will skip the execution of the merge process.
Option 3: Run for each link
This option will ensure that all parents of the merge process will reach the merge process, and that the merge process will be executed individually for each parent (regardless of the order in which they reach the merge process).
Executing multiple Actions
You can choose whether multiple actions within a specific process should be executed in parallel, or one after the other.
When selecting that multiple actions be executed in a series, the process will automatically default to running the processes in the order of the Actions listed. In other words, the action indexed as (#1) will execute first, the action indexed as (#2) will execute second, and so on.
When selecting the option to execute actions in parallel, all actions defined for this process will run simultaneously.
You have the option to define how many times the actions are run in the process.