flow Modelling
Before presenting the MWF-wR formalism, the fundamentals of workflow modelling is discussed and the concepts relevant to the present study are evaluated. So, Section 4.2.1 explains the general concept of modelling workflow related to the the MWF- wR formalism. In Sections 4.2.2 and 4.2.3, the main characteristics and structure of workflows which are considered in building the MWF-wR formalism are presented.
4.2.1
Workflow model and the MWF-wR formalism
The concept of modelling workflow entails the task of creating workflow specifica- tions. Up till to now there is no generally accepted workflow model, but there have been many efforts to define such a model [118]. In the MWF-wR formalism, a busi- ness process workflow model is developed which incorporates traditional workflow modelling features as well as having the ability to ’annotate’ the model to introduce input for the algorithms used.
Typically, workflows are represented by workflow graphs or process maps, where the nodes represent the constituent tasks and the edges correspond to dependencies between them. In general, a workflow consists of a set of tasks, each of which may communicate with another task in the workflow. Figure 4.1 shows an example of a workflows graph that is based on the aforementioned notions where the boxes stand for tasks in the workflow and arrows represent the relations between them.
6
1
2
3
4
1
2
3
4
7
5
Figure 4.1: Example of workflows graph
The general modeling method can be summarised in the following steps [119]: • Identification of events and resources: given a system description, identify the
major events, processes, resources, conditions, routing information, etc. • Identification of relations: the relationships among the above identified events,
and/or processes have to be determined. The resources should be identified and major allocation policies for shared resources and routing information concerning on products should be determined. Then the initial approximate net structure can be decided.
The sequence of processing tasks and the data flows between them in the MWF-wR formalism are determined by dependencies. The tasks can be executed sequentially, or in parallel.
4.2.2
Workflow characteristics and MWF-wR
The aim here is to use the MWF-wR formalism as a generic formalism and there- fore this section presents the main characteristics of workflows which are related to the evaluation algorithm. In business process workflow as well as the MWF-wR formalism, tasks are performed by a number of resources. These resources can be any entities required to complete a task. They can be either a physical entity (pro- cessors, memory, printer machines, people, organizations, etc) and a virtual entity (software libraries, web services, databases, etc). The tasks in a workflow can be executed by one resource or a set of resources.
The ordering of the tasks that need to be executed is defined as partial ordering. The tasks in a workflow can be of different types, such as those using computer pro- grams or these requiring manual jobs. However, the execution of tasks is achieved by the resources available involves costs, which depend on resource allocation or scheduling. This prompts organisations to seek optimal resource utilisation so as to achieve cost effectiveness.
4.2.3
Workflow structure
Workflow specifications consist of several types of routing [120]. In this section, the basic routings that are related to workflows are presented. The block structures of routing specify dependencies among tasks. The basic routings defined by Aalst et al. [121] capture elementary aspects of process control as shown in Figure 4.2. These basic routings are considered in the MWF-wR formalism and affect workflow evaluation and scheduling problems. The basic routings are defined as follows:
• Sequential routing: This is a fundamental building block used to model consecutive steps in a workflow process. It is used to deal with causal rela- tionships between tasks. In a workflow process, a series of consecutive activities are executed one after another. One activity is enabled after the completion of another activity in the same process. In Figure 4.2.a, if task T ask2 is executed after the completion of task T ask1, then tasks T ask1 and T ask2 are executed sequentially.
• Parallel routing: This is used for modelling situations where the order of execution is less strict. In parallel routing more than one task can be carried out at the same time, or even in any order. Two building blocks are used to model parallel routing (Figure 4.2.b).
– AND-split: In the workflow process, this is a point where a single thread of control splits into multiple threads of control which can be executed in parallel, thus allowing more than one task to be executed simultaneously or in any order.
– AND-join: This is a point in the workflow process where multiple par- allel activities converge into one single thread of control and the control
(c) Selective routing (a) Sequential routing
AND−join AND−split (b) Parallel routing OR−split OR−join T aski T askn T ask1 T ask2 T ask1 T ask1 T aski T askn T ask1 T aski T askn T aski T askn T ask1 T ask3
Figure 4.2: Basic workflow routings
is passed to the subsequent branch when all input branches have been enabled.
• Selective routing: This type of routing is used where a single thread of con- trol makes a decision about multiple alternative subsequent workflow branches. Two building blocks are used to model this routing (Figure 4.2.c).
– OR-split: A point in the workflow process where a branch divergence into two or more branches, based on a decision or workflow control data one of these branches is chosen.
– OR-join: A point in the workflow process where two or more alterna- tive branches come together without synchronization. In other words,
the merges will be triggered once any of the incoming transitions are triggered.