Professional Documents
Culture Documents
Ultimus, Inc.
15200 Weston Parkway, Suite 106
Cary, North Carolina 27513
Phone: 919-678-0900
Fax: 919-678-0901
documents@ultimus.com
http://www.ultimus.com
Terminology
The following terminology is used in this chapter:
Following Step: Step B is a Following Step to Step A if a link originates
from Step A and ends at Step B.
Preceding Step: Step B is a Preceding Step to Step A if a link origi-
nates from Step B and ends at Step A.
Active Step: An Active Step is a step that has been invoked and has
not yet been Completed, Aborted, or Returned.
Skipped Step: A Skipped Step is one that has been evaluated for acti-
vation but not activated because the Activate Conditions are false.
Undetermined Step: A step is Undetermined if it has never been evalu-
ated, or its current status is Returned or Aborted.
Completed: An Active Step is Completed after the User, Flobot or Ma-
plet “submits” or completes the task for that step.
Returned: An Active Step is Returned after the User “returns” the task
for that step.
Forced: A step is Forced when it is “jumped to” from another step based
Activate Condition
• The Activate Event Condition Table specifies the conditions under
which the Step will become Active.
• This Conditions table is evaluated when the Engine determines that
it is time to invoke the step.
• Any action specified in the Event Conditions Table without a condi-
tion is automatically performed.
• If the table is blank, the step is assumed to be unconditional and is
activated.
• If the table is not blank and any ONE of the Activate Step conditions
is true, the step is activated.
• If ALL of the Activate Step conditions are false, the step is skipped.
• All conditions specified are evaluated before the step is skipped or
activated.
• The Activate Conditions Table is ignored if the step is forced.
• Call script or DLL conditions are evaluated independently and are
executed if true, even if the step is activated or not activated.
Complete Condition
The Complete Event Condition Table specifies what the Engine will do
when the step is Completed.
Note: If the only actions taken by the Complete Condition Table are
Call .NET Code/Call Web Service, then the links are followed.
• If none of the conditional rows for forcing Actions (Jump To, Abort,
Abort Incident) are true, then the links are followed.
• All conditions in the Table are always evaluated and the correspond-
ing actions taken if they are True.
Late Condition
The Late Event Condition specifies what the engine does when the step
becomes late.
• The Late Event Condition Table is evaluated when the step
becomes late (i.e., the sum of the Completion Time and Extension
Time specified for the step has expired).
• If the Late Condition Table is blank, nothing happens.
• If one or more conditions in the table are true, all the actions
associated with the true condition(s) are taken.
• All conditions in the Table are always evaluated and the
corresponding actions taken if they are true.
Return Condition
The Return Event Condition Table specifies what the engine does when
the Step is returned.
• The Return Event Condition Table is evaluated when the step is
returned.
Note: If the only true conditional rows are associated with Call .NET
Code/Call Web Service actions, then the step(s) that were
completed prior to the activation of this step are forced.
Resubmit Condition
The Resubmit Event Condition Table specifies what the Engine does
when the step is re-submitted.
• The Resubmit Event Condition Table is evaluated when the step is
resubmitted.
• If the Resubmit Condition Table is blank, or NONE of the conditional
rows for forcing actions (Jump To, Abort, Abort Incident) are true,
then the actions specified by the links are taken.
Note: Call .NET Code/Call Web Service do not have any effect on the
Engine logic as mentioned in the previous section.
Note: This applies only for normal Returns that are implemented by
Engine logic. If the Return Event Condition Table is involved,
then only the actions in the Condition Table are taken and the
Engine logic is bypassed.
8. If a Queue Step that has never been invoked is Forced, then the
task will go into the queue. However, since the task is in the queue
and not assigned to a particular user, it will not be marked as
active.
Logic Scenarios
The process map below is used to illustrate how the logic of the BPM
Engine operates in a real-life process. The sequence of these steps is
being determined at run time by the Engine while evaluating the logic
that has been assigned to each step at design-time via BPM Studio. The
scenarios indicate the application of Engine logic., The following process
map is used in the various scenarios illustrated below:
This example illustrates that the Engine Logic is not time-sensitive. The
process flows as follows: