A major limitation of current workflow systems is their lack of supporting dynamic workflow adaptations. However, this functionality is a major requirement for next-generation systems in order to provide sufficient flexibility to cope with unexpected situations and failures. Most of the proposed workflow flexibility approaches assume that a human expert decides which changes have to be applied. In contrast to this, it has not yet been investigated how to automatically decide first whether a running workflow instance is no longer adequate, and second which changes of the original workflow definition have to be applied to better reflect the new situation. In our research project Adaptive Workflow Management, we investigate the automation potential of knowledge bases to dynamically adapt the control and data flow of running instances. The following adaptation scenario is addressed:
Event-oriented workflow adaption: Because of unexpected events, running workflow instances may become logically inappropriate. For example, a workflow definition W may specify the application of a drug M. However, after a workflow instance based on W has been started, it may be detected that the patient has an allergy w.r.t. M. This requires that all nodes representing the application of M have to be dropped from the control flow of the workflow instance.
To address this problem, we have developed a rule-based approach for the detection of logical failure events and for event-oriented workflow adaptation. This is done in several steps: First, a so-called event monitoring agent decides which events occurring somewhere in the workflow environment constitute logical failure events. Second, a control agent determines which running workflows are affected by such a logical failure event. Third, an adaptation agent adapts affected workflows, for example, by removing or inserting activities so that the workflow can better cope with the new situation caused by the logical failure event. The so-called workflow monitoring agent is additionally involved to check whether the assumptions of the adaptation agent are matched when the adapted workflow is executed. Finally, the inter-workflow agent determines whether a logical failure occurring to a workflow has any implications for other workflows cooperating with this workflow.
The figure below shows the architectural components of this system.
The approach has been implemented within the workflow adaptation system AdaptFlow, whose prototype is runnable and has been evaluated in a medical project. AdaptFlow uses the ADEPTflex workflow system as workflow engine. (ADEPTflex has been kindly provided by the Database Group of the Department of Computer Science, University of Ulm, Germany.) The following screenshot shows the worklist client of AdaptFlow with a medical treatment workflow currently executed. The upper part of the window shows a graphical representation of the workflow instance (blue activities have already been executed, red ones have to be executed next, light red ones are future activities). The lower part of the window contains the worklist for the user with the activities he has to execute next.
The next screenshot shows the same medical treatment workflow after an activity representing a drug application (‘DA’) has been replaced by a workflow adaptation. The old activity is marked as deleted (crossed out), the green activity is the new one.
Since October 2000, the project is supported by the Deutsche Forschungsgemeinschaft (DFG). Currently we are developing the Web-Flow system that applies the concepts described above to web-service-based, cooperative processes. Web services are increasingly used to integrate heterogeneous and autonomous applications in cross-organizational, cooperative processes (for instance collaborative fulfillment, procurement, supply chain or construction processes, request handling in e-government, or medical treatment of a patient). A key problem is to support a high execution quality of such complex cooperative processes. This implies achieving a high quality of web service execution which is affected by various quality characteristics on services such as response time, cost, or constraints on service input or output parameters (e.g., price limits, product configurations, or patient status).
Therefore, Web-Flow supports definition and monitoring of quality constraints for web service calls in cooperative processes through the Web-Flow MaX (Monitoring and eXecution) component, the main component of Web-Flow. Events that may lead to a violation of constraints (e.g., timeouts or output messages with erroneous data) are detected automatically. Constraint violations (e.g., a price higher than the specified limit, an exceeded response time, etc.) and other failure events (e.g., fault messages) are handled flexibly using a rule-based exception handling approach. This leads to higher execution quality and robustness of cooperative processes. The Web-Flow MaX component is intended to work with different web service process engines. It is currently implemented using the BPWS4J process engine from IBM alphaworks (BPWS4J is a process engine that executes cooperative processes defined in BPEL4WS, the Business Process Execution Language for Web Services).
Completed Diploma Theses:
- Pippig, Th. (2002): Daten- und Anwendungsintegration eines Workflow-Systems für die Krebsbehandlung (Data and Application Integration of a Workflow System for Cancer Therapy).
- Böhme, R. (2000). Konzeption und Implementierung eines Workflow-Editors (Concept and Implementation of a Workflow Editor).
- Dietzsch, A. (2000): Konzeption und Implementierung einer Workflow-Engine (Concept and Implementation of a Workflow Engine).
- Greiner, U. (2000): Konzeption und Implementierung eines Agenten zur ereignisorientierten Adaptation von Workflows (Concept and Implementation of an Agent for Event-Oriented Workflow Adaptation).
- Fiebig, F. (1999): Geschäftsprozeß-Modellierung und -Simulation in einer onkologischen Studienzentrale (Business Process Modelling and Simulation at an Oncological Commission).
- Neubert, U. (1999): CORBA-Integration des Workflow-Management-Systems IBM FlowMark (CORBA Integration of the Workflow Management System IBM Flowmark).
- Berger, H. (1997): TherPlan: Ein Therapieplan-Editor für die Hämato-Onkologie (TherPlan: A Therapy Editor for Hematooncology).
- Brümmer, F. (1997): Entwurf und Implementation einer Patienten-Datenbank zur Repräsentierung onkologischer Behandlungsverläufe (Concept and Implementation of a Patient Database for the Representation of Cancer Treatments).
- Jödecke, E. (1997): Konzept und Implementierung eines datenbankgestützten Dokumentenstruktur-Editors und -Generators für die Medizin (Concept and Implementation of a Document Type Editor and Generator for Medicine).
- Speer, R. (1997): Modellierung und Realisierung einer Client/Server-Datenbank zur Erfassung und Auswertung medizinischer Studien (Model and Realization of a Client/Server Database for the Acquisition and Analysis of Clinical Trials).