Inheritance of Workflows
An approach to tackling problems related to change
Inheritance is one of the key issues of object-orientation.
The inheritance mechanism allows for the definition
of a subclass which inherits the features of a specific
superclass. When adapting a workflow process definition
to specific needs (ad-hoc change) or changing the structure
of the workflow process as a result of reengineering efforts
(evolutionary change), inheritance concepts are useful to
check whether the new workflow process inherits some
desirable properties of the old workflow process.
Today's workflow management systems have problems
dealing with both ad-hoc changes and evolutionary changes. As a result, a
workflow management system is not used to support dynamically changing
workflow processes or the workflow processes are supported in a rigid manner,
i.e., changes are not allowed or handled outside of the workflow management
system. In this paper, we propose inheritance-preserving transformation
rules for workflow processes
and show that these rules can be used to avoid problems such
as the "dynamic-change bug." The dynamic-change bug refers to errors
introduced by migrating a case (i.e., a process instance) from an old process
definition to a new one. A transfer from an old process
to a new process can lead to duplication of work,
skipping of tasks, deadlocks, and livelocks.
Restricting change to the inheritance-preserving
transformation rules guarantees transfers without any of these problems.
Moreover, the transformation rules can also be used to extract aggregate management information
in case more than one version of a workflow process cannot be avoided.
(The full version is not available because the paper is superseded by
the following publication)
Back to the list of technical reports.