Towards Dependable Business Processes with Fault-Tolerance Approach
Angel Jesus Varela-Vaca, Rafael M. Gasca, Diana Borrego, Sergio Pozo
Departamento de Lenguajes y Sistemas Inform´ aticos,
ETS. Ingeneir´ ıa Inform´ atica, Avd. Reina Mercedes S/N,
Universidad de Sevilla,
Sevilla, Spain
{ajvarela, gasca, dianabn, sergiopozo}@us.es
Abstract—The management and automation of business
processes have become an essential tasks within IT organiza-
tions. Companies could deploy business process management
systems to automatize their business processes. BPMS needs
to ensure that those are as dependable as possible. Fault
tolerance techniques provide mechanisms to decrease the risk
of possible faults in systems. In this paper, a framework for
developing business processes with fault tolerance capabilities
is provided. The framework presents different solutions in
the fault tolerance scope. The solutions have been developed
using a practical example and some results have been obtained,
compared and discussed.
Keywords-business process; fault-tolerance; dependability;
reliability
I. INTRODUCTION
In the last years, a new paradigm has emerged in the scope
of business IT, Business Process Management (BPM). BPM
is defined as a set of concepts, methods and techniques to
support the modeling, design, administration, configuration,
enactment and analysis of business processes [1]. A business
process model is a set of activities that are executed in coor-
dination within an organizational and technical environment
to realize a set of business goals.
BPM has turned into an essential tool for organizations.
BPM as methodology pursues to improve the efficiency
through systematic management of business processes that
should be modeled, automatized, integrated, monitored and
optimized in a continue form. One of the most important
goals of BPM is the better understanding of the operations a
company performs and the relationships among these opera-
tions. BPM also aims at narrowing the gap between business
processes that a company performs and the implementation
of these processes in Business Process Management System
(BPMS). BPMS is a set of software tools to manage business
processes.
Companies could deploy BPMS to automatize their busi-
ness process, but they have to ensure that those are as
dependable as possible. Take into account the dependable
process operation is a significant requirement for many types
of companies: electronic banking and commerce, automated
manufacturing, etc. The cost and consequences of failures of
these systems range from mildly annoying to catastrophic,
with serious injury occurring or lives lost, systems destroyed,
security breaches, and so on.
BPM paradigm follows a life cycle which consists in
several stages [2], shown in Figure 1. During the stages,
different kinds of faults can be introduced:
• In the design stage, business process models can present
some design faults (such as deadlocks, live locks or
starvations). Some systematic approaches have been
provided design guidelines for designers that allow
them to correct and improve their designed processes.
Design problems are not taken into account in this
paper because it is a problem that has already been
discussed [3] [4].
• In the enactment stage, output process faults (verifi-
cation) can be generated for business processes when
a business process obtains an unexpected output, un-
expected message, unexpected events or also an un-
expected performance. Executable business processes
usually use external services that are not under our
jurisdiction. Thus, it is not possible to ensure that
change of functionality appears during the business
process life cycle.
Therefore, the inclusion of measures that allow to reduce
the risk of fault and increase the dependability of business
processes from design stages it will be necessary. The
approach proposes to achieve more dependable business
processes based on fault tolerance. Some proposals have
used the fault tolerance ideas in grid computing, composition
of applications or service-oriented architectures, [5] [6] [7]
[8]. In these works, different fault tolerance approaches have
been applied: check-point view [5], recovery techniques [6],
and other sophisticated techniques such as dynamic binding
[7], and self-reconfiguration of systems [8]. Our proposal is
based on the classical fault tolerence ideas of replication, but
introducing other necessary elements like dynamic binding,
and providing techniques of diversity in the software fault
tolerance scope.
This paper is structured as follows: Section II introduces
some concepts of BPM and fault tolerance; Section III
presents a framework for dependable business processes
using fault-tolerant techniques; Section IV a practical exam-
2010 Third International Conference on Dependability
978-0-7695-4090-0/10 $26.00 © 2010 IEEE
DOI 10.1109/DEPEND.2010.24
104