Process model control flow with multiple synchronizations
AssigneeSap SE
InventorsAlistair P. Barros, Alexander Grosskopf
Life of this patent
Estimating the term…
Abstract
Activations of a plurality of incoming branches may be detected at a synchronization point having a plurality of outgoing branches. A first synchronization may be executed after a first number of activations is detected, and at least one of a plurality of outgoing branches from the synchronization point may be activated, based on the first synchronization. A second synchronization may be executed after a second number of activations is detected, and at least a second one of the plurality of outgoing branches from the synchronization point may be activated, based on the second synchronization.
Claims16
A system including:
- at least one processor;
- a non-transitory computer-readable storage medium including instructions executable by the at least one processor, the instructions configured to implement,
- a workflow process comprising at least one synchronization point, wherein the synchronization point includes a plurality of incoming branches and a plurality of outgoing branches, and each outgoing branch is associated with a respective branch condition;
- a branch manager configured to cause the at least one processor to detect activation of any of the plurality of incoming branches and configured to record which incoming branches have activated as part of a current activation cycle of the synchronization point, wherein each of the plurality of incoming branches activates exactly once in an activation cycle, and the activation cycle is complete when each of the plurality of incoming branches is recorded as being activated;
- a flow condition evaluator configured to cause the at least one processor to determine a first synchronization condition as being fulfilled, based on the detection of a first number of the plurality of incoming branches as being activated;
- and
- a branch condition evaluator configured to cause the at least one processor to determine a first one or more of the branch conditions as being satisfied in response to the first synchronization condition being fulfilled, and to perform a first activation of the one or more of the outgoing branches associated with the first satisfied branch conditions;
- wherein the branch manager is further configured to detect a second number of the plurality of incoming branches as being activated after performing the first activation, wherein the flow condition evaluator is further configured to determine fulfillment of a second synchronization condition in response to the branch manager detecting the second number of the plurality of incoming branches as being activated, wherein the branch condition evaluator is further configured to determine a second one or more of the branch conditions as being satisfied in response to the second synchronization condition being fulfilled and to perform a second activation of the one or more of the outgoing branches associated with the second satisfied branch conditions, and wherein the first synchronization condition and the second synchronization condition are fulfilled within a single activation cycle.
A method comprising:
- detecting activations of any of a plurality of incoming branches at a synchronization point of a workflow process having a plurality of outgoing branches, wherein each outgoing branch is associated with a respective branch condition;
- recording which incoming branches have activated as part of a current activation cycle of the synchronization point, wherein each of the plurality of incoming branches activates exactly once in an activation cycle, and the activation cycle is complete when each of the plurality of incoming branches is recorded as being activated;
- determining a first synchronization condition as being fulfilled in response to a first number of activations being detected;
- determining a first one or more of the branch conditions as being satisfied in response to the first synchronization condition being fulfilled;
- performing a first activation of the one or more of the outgoing branches associated with the first satisfied branch conditions;
- determining a second synchronization condition as being fulfilled in response to a second number of activations being detected after performing the first activation;
- determining a second one or more of the branch conditions as being satisfied in response to the second synchronization condition being fulfilled;
- and
- performing a second activation of the one or more of the outgoing branches associated with the second satisfied branch conditions, wherein the first and the second outgoing branch activations are executed within a single activation cycle.
A computer program product for executing instances of process models, the computer program product comprising a non-transitory computer-readable storage medium including executable code that, when executed, is configured to cause at least one data processing apparatus to execute an orchestration engine, the orchestration engine configured to:
- detect activations of any of a plurality of incoming branches at a synchronization point of a workflow process having a plurality of outgoing branches, wherein each outgoing branch is associated with a respective branch condition;
- record which incoming branches have activated as part of a current activation cycle of the synchronization point, wherein each of the plurality of incoming branches activates exactly once in an activation cycle, and the activation cycle is complete when each of the plurality of incoming branches is recorded as being activated;
- determine a first synchronization condition as being fulfilled in response to a first number of activations being detected;
- determine a first one or more of the branch conditions as being satisfied in response to the first synchronization condition being fulfilled;
- perform a first activation of the one or more of the outgoing branches associated with the first satisfied branch conditions;
- determine a second synchronization condition as being fulfilled in response to a second number of activations being detected after performing the first activation;
- determine a second one or more of the branch conditions as being satisfied in response to the second synchronization condition being fulfilled;
- and
- perform a second activation of the one or more of the outgoing branches associated with the second satisfied branch conditions, wherein the first and the second outgoing branch activations are executed within a single activation cycle.
Dependencies are inferred from the claim text.