Exception Handling in Workflow Management Systems

Fault tolerance is a key requirement in process support systems (PSS), a class of distributed computing middleware encompassing applications such as workflow management systems and process centered software engineering environments. A PSS controls the flow of work between programs and users in networked environments based on a "metaprogram" (the process). The resulting applications are characterized by a high degree of distribution and a high degree of heterogeneity (properties that make fault tolerance both highly desirable and difficult to achieve). We present a solution for implementing more reliable processes by using exception handling, as it is used in programming languages, and atomicity, as it is known from the transaction concept in database management systems. We describe the mechanism incorporating both transactions and exceptions and present a validation technique allowing to assess the correctness of process specifications.

[1]  Guy L. Steele,et al.  Common Lisp the Language , 1984 .

[2]  Roy H. Campbell,et al.  Atomic actions for fault-tolerance using CSP , 1986, IEEE Transactions on Software Engineering.

[3]  Hector Garcia-Molina,et al.  Coordinating activities through extended sagas: a summary , 1991, COMPCON Spring '91 Digest of Papers.

[4]  Daniel M. Berry,et al.  A modular verifiable exception handling mechanism , 1985, TOPL.

[5]  Robert W. Sebesta,et al.  Concepts of programming languages (2. ed.) , 1993, Benjamin/Cummings series in computer science.

[6]  Hans-Jörg Schek,et al.  Concepts and Applications of Multilevel Transactions and Open Nested Transactions , 1992, Database Transaction Models for Advanced Applications.

[7]  Andreas Reuter,et al.  The ConTract Model , 1991, Database Transaction Models for Advanced Applications.

[8]  Gustavo Alonso,et al.  Workflow Management: The Next Generation of Distributed Processing Tools , 1997 .

[9]  Ahmed K. Elmagarmid,et al.  Specification and execution of transactions for advanced database applications , 1992, Inf. Syst..

[10]  Mark F. Hornick,et al.  Customizing Transaction Models and Mechanisms in a Programmable Environment Supporting Reliable Workflow Automation , 1996, IEEE Trans. Knowl. Data Eng..

[11]  David Flanagan,et al.  Java in a Nutshell , 1996 .

[12]  Alexander Romanovsky Practical exception handling and resolution in concurrent programs , 1996 .

[13]  Mark F. Hornick,et al.  A Framework for Enforceable Specification of Extended Transaction Models and Transaction Workflows , 1994, Int. J. Cooperative Inf. Syst..

[14]  Umeshwar Dayal,et al.  Failure handling for transaction hierarchies , 1997, Proceedings 13th International Conference on Data Engineering.

[15]  Frank Leymann,et al.  Supporting Business Transactions Via Partial Backward Recovery In Workflow Management Systems , 1995, BTW.

[16]  Gustavo Alonso,et al.  Distributed Processing over Stand-alone Systems and Applications , 1997, VLDB.

[17]  Gustavo Alonso,et al.  Flexible exception handling in the OPERA process support system , 1998, Proceedings. 18th International Conference on Distributed Computing Systems (Cat. No.98CB36183).

[18]  Hans-Jörg Schek,et al.  Merging application-centric and data-centric approaches to support transaction-oriented multi-system workflows , 1993, SGMD.

[19]  Gustavo Alonso,et al.  Beyond the black box: event-based inter-process communication in process support systems , 1999, Proceedings. 19th IEEE International Conference on Distributed Computing Systems (Cat. No.99CB37003).

[20]  Mark Klein,et al.  Towards Adaptive Workflow Systems , 1999 .

[21]  Ahmed K. Elmagarmid,et al.  A Multidatabase Transaction Model for InterBase , 1990, VLDB.

[22]  Charles T. Davies,et al.  Data Processing Spheres of Control , 1978, IBM Syst. J..

[23]  John C. Mitchell,et al.  Concepts in programming languages , 2002 .

[24]  David Lorge. Parnas Response to detected errors in well-structured programs , 1972 .

[25]  Jie Xu,et al.  Coordinated exception handling in distributed object systems: from model to system implementation , 1998, Proceedings. 18th International Conference on Distributed Computing Systems (Cat. No.98CB36183).

[26]  Philip A. Bernstein,et al.  Principles of Transaction Processing , 1996 .

[27]  Hermann Kopetz,et al.  Fault tolerance, principles and practice , 1990 .

[28]  A. Elmagarmid Database transaction models for advanced applications , 1992 .

[29]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[30]  Gustavo Alonso,et al.  Advanced transaction models in workflow contexts , 1996, Proceedings of the Twelfth International Conference on Data Engineering.

[31]  Gustavo Alonso,et al.  Backup and process migration mechanisms in process support systems , 1998 .

[32]  Ahmed K. Elmagarmid,et al.  Transaction Models for Advanced Database Applications , 1991 .

[33]  Gustavo Alonso,et al.  WISE: business to business e-commerce , 1999, Proceedings Ninth International Workshop on Research Issues on Data Engineering: Information Technology for Virtual Enterprises. RIDE-VE'99.

[34]  Gustavo Alonso,et al.  Geo-Opera: Workflow Concepts for Spatial Processes , 1997, SSD.

[35]  Margaret M. Burnett,et al.  Retire Superman: Handling Exceptions Seamlessly in a Declarative Visual Programming Language , 1996, VL.

[36]  Frank Leymann,et al.  Managing Business Processes an an Information Resource , 1994, IBM Syst. J..

[37]  Gustavo Alonso,et al.  Towards a Platform for Distributed Application Development , 1998 .

[38]  Bjarne Stroustrup,et al.  The C++ programming language (2nd ed.) , 1991 .

[39]  Umeshwar Dayal,et al.  A transactional nested process management system , 1996, Proceedings of the Twelfth International Conference on Data Engineering.

[40]  Gustavo Alonso,et al.  Highly available process support systems: implementing backup mechanisms , 1999, Proceedings of the 18th IEEE Symposium on Reliable Distributed Systems.

[41]  Alejandro P. Buchmann,et al.  A Transaction Model for Active Distributed Object Systems , 1992, Database Transaction Models for Advanced Applications.

[42]  H. Kopetz,et al.  Dependability: Basic Concepts and Terminology , 1992, Dependable Computing and Fault-Tolerant Systems.

[43]  John B. Goodenough,et al.  Exception handling: issues and a proposed notation , 1975, CACM.

[44]  Johann Eder,et al.  Workflow recovery , 1996, Proceedings First IFCIS International Conference on Cooperative Information Systems.