We have recently started using the Customer decision Hub and we have strategies built already by other team that we are analyzing and have a question related to that. we have a strategy(for ex: S1) with sub strategies(For ex SS1,SS2,SS3) which are independent of each other and once the substrategies are executed the S1 flow will continue.
We are trying to findout how does pega execute the sub strategies i.e will it be a parallel execution of all Substrategies (SS1,SS2,SS3) and once all sub strategies are completely executed then only S1 will start or will it start as soon as any of the sub strategy is completed and proceed. Do we have any configuration that will be done in pega to implement the substrategy/strategy execution?
I think the strategies are not executed in sequence as they are designed, left to right or run all children and then parent.
Its kind of recursion, the execution occurs backwards from "Result" shape and when it reaches to the lowest point where only data is available (and no operation) its moves forward and accumulates the evaluated data and outputs as Result.
Its executed in reverse, with first component being the shape attached to "Result" component.
The execution traverses backwards from this component depending on the result and "sources" of that component,
So here the "Switch" executes first, based on the expression/outcome of Switch the execution moves to Comp1 or Comp2 , and drills further down to selected shape.
Comp1 or comp2 shape can be substrategies or any decision shape.
Strategy components are executed in single thread, and the execution follows a dependency graph as revealed by the canvas - each component is executed after all its source components are executed. In case a component has multiple source components, the order of execution is depicted in the "Source components" tab of the component's property panel.
For example in my attached scenario, S1 would resume execution after all the substrategies (SS1, SS2, SS3) are finished executing.