Three Functional Areas of Workflow Systems

The three functional areas of workflow systems were proposed by the WfMC reference model, which describes a common model for building workflow systems. So, the WfMC reference model identifies the relationship between the various alternative implementation approaches [1] as, Build time functions; Run-time Control Functions; Run-time Interactions.

Workflow Systems - Characteristics of workflow systems in construction and execution
Figure 1: Characteristics of workflow systems in construction and execution [2].

As a result, these areas can be divided into two main sections. The construction and execution time. Therefore the construction time includes operations such as process design, giving rise to a visual model and process definitions. On the other hand, the execution time is related to process instantiation, control, and interaction with end-users.

Above all, these three main functional areas of a workflow system range from the process model to human resources in organizations that leverage this kind of system.

Table 1: WfMS Functional Areas [1].

Functional Areas Description
Build time functionsDuring this phase, a business process is translated from the real world into a formal definition (called a process model, process metadata, or a process definition) that is computer understood by using one or more analysis techniques, modeling, and system definition.
Run-time Control Functions At run-time, process definition is interpreted by the workflow engine, a core component of a WfMS, responsible for creating and controlling process instances, scheduling activities within the process, and invoking the appropriate HR and IT resources.
Run-time InteractionsInteraction with the workflow engine is necessary for transferring control between activities, checking the status of process operations, invoking tools, and transferring the appropriate data to the processing system.

Workflow Enactment Service

Therefore Workflow Enactment Service is the center of all interactions in process automation. This is typically a service consisting of one or more workflow engines for creating, managing, and running workflow instances. Consequently, it can be considered as a state transition machine where process instances or individual activities modify states in response to external events or specific control decisions made by a workflow engine [1].

Workflow Systems – Execution states for process instances

The execution states of these transitions in process instances have different designations as described below.

Workflow Systems - Example execution states for process instances in state transitions
Figure 2: Example execution states for process instances in state transitions [1].

The transition should occur either in response to events or as a result of transition conditions within the process definition, and may be in the following execution states [1]:

Table 2: Possible execution states of a process instance [1].

Execution State Description
StartedWe create a process instance, including process state properties and relevant workflow data, but it still not meeting the conditions for it to start execution.
RunningThe process instance has started running and any of its activities can be started
ActiveOne or more stream activities have started.
SuspendedThe process instance is paused and no activity is started until the process has returned to the running state.
CompleteThe process instance fulfills the conditions for completion and the instance may be destroyed.
FinishedProcess instance execution was interrupted before normal completion and the instance could be destroyed

Workflow Systems – Execution states for activity instances

Sometimes there is a need to suspend or terminate a particular activity running within a process instance. This may not be possible, as there may be tasks still to be done within the activity. Therefore, only after the activity has finished the tasks and already with the process instance returned to a running state [1], it is possible to suspend or terminate a certain activity.

However, WfMC to address this problem has created unique run-time state transition patterns for activity instances, different from process instances. Therefore, if there is a need to suspend or terminate an activity, simply activate one of the execution states for the activities. Thus, workflow execution can have execution state information for process instances as well as for activity instances even though the activities are within a process.

Table 3: Possible execution states of an activity instance [1].

Workflow Systems - Example execution states for activity instances in state transitions
Figure 3: Example execution states for activity instances in state transitions [1].
Execution State Description
InactiveThe activity within the instance was created but was not activated having any items to process
Active An item was created and assigned to the activity instance for processing.
SuspendedThe instance has been paused and an item will not be allocated for processing until it returns to the running state.
Completed Instance execution has been completed.

References

[1] D. Hollingsworth, “Workflow Management Coalition: The Workflow Reference Model,” WfMC Specif., no. 1, pp. 1–55, 1994 http://www.wfmc.org/2-uncategorised/53-reference-model, https://en.wikipedia.org/wiki/Workflow_Management_Coalition
[2] F. Schönthaler, G. Vossen, A. Oberweis, and T. Karle, Business Processes for Business Communities: Modeling Languages, Methods, Tools. 2012.