Original Publication Date: 2001-Oct-12
Included in the Prior Art Database: 2003-Jun-20
Workflow management systems  support the definition and execution of business processes. The major constructs in drawing processes are activities and control connectors. The activities describe the tasks to be performed, and the control connectors describe the potential sequence in which the activities are to be carried out. Figure 1 shows schematically the structure of such a process graph. Please note that this is for illustration only; workflow management system may use more primitive metamodels for describing business processes (to the extent that they use a simple block structure with implicit control connectors).
Figure 1 Process Model
Activities are represented as named circles; the name typically describes the purpose of the activity. Activities come in various flavors to address the different tasks that may need to be performed. They may have different activity implementations to meet these diverse needs. Program activities are performed by an assigned program, process activities are performed by another process, and blocks implement a macro with a built-in do-until loop.
Control connectors are represented as arrows; the head of the arrow describes the direction in which the flow of control is moving through the process. The activity where the control connector starts is called the source activity; where it ends is called the target activity.
Control connectors are represented as arrows; the head of the arrow describes the direction in which the flow of control is moving through the process. The activity where the control connector starts is called the source activity; where it ends is called the target activity. When more than one control connector leaves an activity, this indicates potentially parallel work.
As shown in the figure, each of the control connectors is associated with a Boolean predicate; p12, for example, is such a predicate associated with the control connector between A1 and A2. This Boolean predicate is called transition condition . The condition is stated as a boolean expression where the variables within the expression are fields in the process input container and the containers of activities.
When the transition condition of a control connector evaluates to true, the flow of control follows this control connector to the target activity. When the transition condition of a control connector evaluates to false, the flow of control does not follow this control connector. In this case, if the target activity is not a join activity, it is not carried out and all outgoing control connectors of the target activity evaluate to false.
Processes and activities have containers associated with them. These containers are only locally available and not available globally. Thus, the input container of an activity is only available to the appropriate activity. If another activity needs data from a previous acti...