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.
Read full abstract