Venue:
Dissertation, Univ. of Ulm, 2004
URL:
http://www.informatik.uni-ulm.de/dbis/01/staff/rinderle/PhDthesis_Rinderle.pdf
Continuously arising new trends in information technology and developments at the (e–business)
market let companies crave for automated business process support. Process management systems offer
the promising possibility to (electronically) define, control, and monitor business processes. However, if
this technology shall be applicable in practice it must be possible to change running business processes
even at runtime. Basically, such process changes can take place at two levels – the process type level
and the process instance level. If a process type is modified a new version of the respective process type
schema is created. Then, at minimum, the process instances running according to the old process type
schema version must be able to finish without being disturbed. However, this simple versioning approach
is only sufficient for short–running business processes. For long–running ones like, for example, car leasing
contracts or medical treatment processes which may last from 3 up to 5 years, it must be possible to
apply the process type changes to the collection of running process instances as well but without causing
inconsistencies or errors in the sequel. Apart from process schema evolution and change propagation a
flexible process management system must also enable instance–specific (ad–hoc) changes, for example, if
exceptional situations occur. If then a process type change takes place the challenging question arises
how to adequately deal with the interplay of process type and process instance changes.
Subject of this work is a formal framework for the comprehensive support of process type and process
instance changes in respective management systems. Based on this framework it is possible to propagate
process type changes to running process instances and to migrate compliant process instances to the
changed process type schema afterwards. Thereby, a main goal is to provide a correct, efficient, and
usable solution. Furthermore, process type change propagation can even be conducted at the presence of
individually modified process instances.
For this, a formal foundation and respective algorithms are developed. We differentiate between
process instances which still run according to the process type schema they were created on (unbiased
process instances) and process instances which have been individually modified (biased process instances).
The fundament of our approach is the formal framework for the migration of unbiased process instances
to a changed process type schema. Thereby we present a formal and comprehensive correctness criterion
as well as routines to efficiently check this criterion. Furthermore, we provide algorithms to automatically
adapt process instance states when migrating these instances to the changed process type schema. To be
able to adequately handle biased process instances we differentiate between two kinds of them – those ones
for which their bias is disjoint with the process type change and those ones for which their bias overlaps
the process type change. For process instances with disjoint bias we provide an adequate extension of our
general correctness criterion not only covering state–related but also structural correctness. In addition,
we present quickly to check structural conflict tests what contributes to the efficient applicability of
the presented approach. Finally, we present an adequate migration strategy for process instances with
disjoint bias. For process instances with overlapping bias we introduce a classification ranging from
equivalent changes to changes with minor overlap. For all these classes of overlapping changes we provide
migration strategies. These include the automatic re–linking of process instances to the changed process
type schema and the necessary structural and state–related adaptations. All concepts presented have
been implemented in a powerful proof–of–concept prototype.