The Scientific World Journal

Volume 2015, Article ID 481767, 7 pages

http://dx.doi.org/10.1155/2015/481767

## Workflow Modelling and Analysis Based on the Construction of Task Models

^{1}Center for Linear Structures and Combinatorics, University of Lisbon, 1649-003 Lisbon, Portugal^{2}Center of Exact Sciences and Engineering, University of Madeira, Funchal, 9020-105 Madeira, Portugal

Received 30 September 2014; Accepted 3 December 2014

Academic Editor: Dar-Li Yang

Copyright © 2015 Glória Cravo. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

We describe the structure of a workflow as a graph whose vertices represent tasks and the arcs are associated to workflow transitions in this paper. To each task an input/output logic operator is associated. Furthermore, we associate a Boolean term to each transition present in the workflow. We still identify the structure of workflows and describe their dynamism through the construction of new task models. This construction is very simple and intuitive since it is based on the analysis of all tasks present on the workflow that allows us to describe the dynamism of the workflow very easily. So, our approach has the advantage of being very intuitive, which is an important highlight of our work. We also introduce the concept of logical termination of workflows and provide conditions under which this property is valid. Finally, we provide a counter-example which shows that a conjecture presented in a previous article is false.

#### 1. Introduction

A workflow is an abstraction of a business process that consists on the execution of a set of tasks to complete a process (e.g., hiring process, loan application, and sales order processing). Tasks represent unities of work to be executed that can be processed by a combination of resources, such as a computer program, an external system, or human activity.

Recall that a business process is a collection of interconnected tasks that takes one or more kinds of input and creates an output that is of value to the customers. The construction of process models is very often a difficult accomplishment for humans since their design can be logically incorrect and enclose errors. So the development of tools to support the design of business processes is indispensable and needs to be based on a solid theory. We believe that our technique is appropriate to model workflows.

Workflows have been successfully deployed to various domains, such as bioinformatics, healthcare, the telecommunication industry, the military, insurance, school administration, mobile computing, systems management, multidata bases, Internet, application development, object technology, operating systems, and transaction management.

In the present paper, we use Graph Theory and Propositional Logic to describe the structure of workflows. It is important to point out that a workflow describes all of the tasks needed to achieve each step in a business process. Documents, information, work orders, reports, and so forth are passed from one task to another for action, according to a set of rules defined by the workflow. Employees or automated applications are the entities that carry out the execution of tasks.

In particular we model workflows as trilogic acyclic directed graphs. The use of trilogic graphs to represent workflows was selected since most business process languages support three types of connectors: AND, OR, and XOR. It is important to emphasize that the inclusion of workflows with OR vertices is a significant advantage of our approach.

Furthermore, our approach is based on the execution of all tasks present on the workflow. This analysis has the advantage of being simple and very intuitive. On the other hand, we can create new models based on the existing ones.

Besides our formal framework allows checking the logical termination of workflows. The logical termination is an important property for workflows because it is indispensable to know if a workflow, such as the hiring process, will eventually finish. Analyzing the termination of workflows is an important assignment since research and commercial products, such as METEOR and TIBCO, have no support for verification. Errors made at design-time are not detected and result in very costly failures at run-time.

The use of Propositional Logic has the advantage of transforming a workflow into a set of Event-Action () models. Specialized models can be easily created to represent new advanced workflow patterns. Afterwards, Propositional Logic and Inference can be carried out on the models to analyze properties of workflow models.

It is important to point out that, in the last decade, the rapid increase of business process modelling and management through the adoption of Workflow Management Systems has originated the need for frameworks that can be used to provide a formal technique for defining and analyzing workflows [1–3]. Important advancements have been accomplished in the development of theoretical foundations to allow workflow modeling, verification, and analysis. Several formal methods have been proposed, such as State and Activity Charts [4], Event-Condition-Action rules [5, 6], Petri Nets [7–11], Temporal Logic [12], Markov chains [13], Process and Event Algebras [14, 15], and Six Sigma Techniques [16, 17]. Nevertheless more research is required and specially focused on the use of Graph Theory. Based on this need, we develop our formalism that uses a natural combination of Graph Theory and Propositional Logic to model workflows. Besides, our formalism provides a formal framework based on trilogic acyclic directed graphs that facilitate modeling and analyzing workflows. Finally, our formal framework allows checking the logical termination of workflows.

An important highlight of this paper is the emphasis on the tasks present in the workflow, which allows us to identify easily the dynamism present in the workflow. Finally, we describe the logical termination in a very intuitive form and we present conditions under which this property is valid.

We still provide a counter-example which shows that a conjecture presented in a previous article is false.

#### 2. Workflow Modelling and Analysis

This section is devoted to the presentation of our main results. In particular, we start this section by providing the formal definition of a workflow. In other words, we furnish the formal structure of a business process. Notice that this workflow structure can be also found in [18–21]. It is also important to point out that this type of graphs has an input/output logic operator associated with each vertex. Further, we analyze each model present on the workflow and give special emphasis to the execution of all tasks present in a workflow. Besides, we will create new models based on the existing ones. Finally, we will describe conditions under which a workflow logical terminates. In conclusion, our approach allows us to provide a complete description of workflows.

*Definition 1 (see [18–21]). *A workflow is a trilogic acrylic directed graph , where is a finite nonempty set of vertices representing workflow tasks. Each task (i.e., a vertex) has attributed an input logic operator (represented by ) and an output logic operator (represented by ). An input/output logic operator can be the logical AND , the OR , or the XOR—exclusive-or—. The set is a finite nonempty set of arcs representing workflow transitions. The transition is the tuple and transition is the tuple , where the symbols and represent abstract tasks which indicate the entry and ending point of the workflow, respectively. Every transition , corresponds to a tuple of the form , where .

We use the symbol to reference the label of a transition; that is, references transition , . The elements are called Boolean terms and form the set .

Given , the incoming transitions for task are the tuples of the form , , and the outgoing transitions are the tuples of the form , .

The incoming/outgoing condition of task is the Boolean expression , where , and are the incoming/outgoing transitions of task . The terms are connected with the logic operator , , respectively. If task has only one incoming/outgoing transition we assume that the condition does not have logic operator.

An Event-Action model for task is an implication of the form , where and are the incoming and outgoing conditions of task , respectively. An model has the behavior with two distinct modes: when is evaluated to , is also evaluated to ; when is evaluated to , is always . And the model is true if both , are true; otherwise it is false. We say that the model is positive if its Boolean value is true; otherwise it is said to be negative.

We denote by the set of all models present in .

Task is said to be executed if the model is positive. In this case, task has attributed the Boolean value true.

*Remark 2. *Given an expression whose Boolean value is true (resp., false), we simply can represent this fact by , (resp., ).

*Remark 3. *Given an model , if is false, then task disables all its outgoing transitions. Consequently is also false.

Notice that the workflow starts its execution by enabling transition , that is, by asserting to be true. In other words, the workflow starts its execution by executing task .

Notice that is true if transition is enabled; otherwise is false. Transitions can be enabled by a user or by an external event. If the model is negative, then both , are false. In this case, all the transitions of are disabled.

*Example 4. *In Figure 1 we present a workflow , where , , , and , , .

The output logic operator of task is XOR , while the input logic operator of task is an AND .

The incoming transition for task is and its outgoing transitions are and . Hence the incoming condition for task is , while its outgoing condition is .

Task is executed if the model is positive, that is, if is true and only one of the Boolean terms , is true.