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.
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 functions | During 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 Interactions | Interaction 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.
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 |
Started | We create a process instance, including process state properties and relevant workflow data, but it still not meeting the conditions for it to start execution. |
Running | The process instance has started running and any of its activities can be started |
Active | One or more stream activities have started. |
Suspended | The process instance is paused and no activity is started until the process has returned to the running state. |
Complete | The process instance fulfills the conditions for completion and the instance may be destroyed. |
Finished | Process 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].
Execution State | Description |
Inactive | The 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. |
Suspended | The 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.