This Article 
 Bibliographic References 
 Add to: 
Exception Handling in Workflow Management Systems
October 2000 (vol. 26 no. 10)
pp. 943-958

Abstract—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.) In this paper, 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. The paper describes the mechanism incorporating both transactions and exceptions and presents a validation technique allowing to assess the correctness of process specifications.

[1] G. Alonso et al., “WISE: Business to Business E-commerce.” Proc. IEEE Ninth Int'l Workshop Research Issues on Data Eng., Mar. 1999.
[2] G. Alonso and C. Hagen, “Geo-Opera: Workflow Concepts for Spatial Processes,” Proc. Fifth Int'l Symp. Spatial Databases (SSD '97), June 1997.
[3] G. Alonso et al., "Distributed Processing over Stand-Alone Systems and Applications," 23rd Int'l Conf. Very Large Databases (VLDB '97), Morgan Kaufmann, San Francisco, 1997, pp. 575-579.
[4] G. Alonso et al., “Towards a Platform for Distributed Application Development,” Workflow Management Systems and Interoperability, A. Dogac et al., eds., 1998.
[5] G. Alonso et al., “Advanced Transaction Models in Workflow Contexts,” Proc. Int'l. Conf. Data Eng., Feb. 1996.
[6] G. Alonso and C. Mohan, “Workflow Management: The Next Generation of Distributed Processing Tools,” Advanced Transaction Models and Architectures, S. Jajodia and L. Kerschberg, eds., Kluwer Academic, 1997.
[7] G. Alonso and H.J. Schek, “Research Issues in Large Workflow Management Systems,” Proc. NSF Workshop Workflow and Process Automation in Information Systems, A. Sheth ed., pp. 126–132 May 1996. NSF-workflowproceedings.html.
[8] T. Anderson and P.A. Lee, Fault Tolerance—Principles and Practice. Prentice Hall Int'l, 1981.
[9] P. Arnold, “Integration eines erweiterten Transaktionsmodells in ein Workflow-Modell,” master's thesis, ETH Zürich, Institut für Informationssysteme, 1996.
[10] P.A. Bernstein and E. Newcomer, Principles of Transaction Processing, Morgan Kaufmann, San Mateo, Calif., 1997.
[11] Y. Breitbart et al., “Merging Application-Centric and Data-Centric Approaches to Support Transaction-Oriented Multi-System WorkFlows,” SIGMOD Record, vol. 22, no. 3, Sept. 1993.
[12] A. Buchmann, M. Ozsu, M. Hornick, D. Georgakopoulos, and F. Manola, "A Transaction Model for Active Distributed Object Systems," Advanced Transaction Models for New Applications, A. Elmagarmid, ed. Morgan-Kaufmann, 1992.
[13] C. Canamero, “Validierung der Atomarität in Workflow- und Prozessunterstützungssystemen,” master's thesis, ETH Zürich, 1998.
[14] Q. Chen and U. Dayal, “A Transactional Nested Process Management System,” Proc. 12th Int'l Conf. Data Eng. (ICDE '96), 1996.
[15] Q. Chen and U. Dayal, “Failure Handling for Transaction Hierarchies,” Proc. 13th Int'l Conf. Data Eng. (ICDE '97), 1997.
[16] C.T. Davies, “Data Processing Spheres of Control,” IBM Systems J., vol. 17, no. 2,pp. 179–198, 1978.
[17] J. Eder and W. Liebhart, “Workflow Recovery,” Proc. First IFCIS Int'l Conf. Cooperative Information Systems (CoopIS '96), June 1996.
[18] A. Elmagarmid, Database Transaction Models for Advanced Applications. Morgan-Kaufmann Publishing Company, 1992.
[19] A. Elmagarmid, Y. Leu, W. Litwin, and M. Rusinkiewicz, "A Multidatabase Transaction Model for InterBase," Proc. 16th Int'l Conf. VLDB, 1990.
[20] D. Flanagan, Java in a Nutshell. O'Reilly&Associates, 1996.
[21] H. Garcia-Molina and K. Salem, "Sagas," Proc. ACM SIGMOD Ann. Conf., pp. 249-259, May 1987.
[22] D. Georgakopoulos, M. Hornick, and A. Sheth, "An Overview of Workflow Management: From Process Modeling to Workflow Automation Infrastructure," Distributed and Parallel Databases, Vol. 3, No. 2, Apr. 1995, pp. 119-153.
[23] D. Georgakopoulos and M.F. Hornick, “A Framework for Enforcable Specification of Extended Transaction Models and Transactional Workflows,” Int'l J. Intelligent and Cooperative Information Systems, Sept. 1994.
[24] D. Georgakopoulos, M. Hornick, and F. Manola, Customizing Transaction Models and Mechanisms in a Programmable Environment Supporting Reliable Workflow Automation IEEE Trans. Knowledge and Data Eng., vol. 8, no. 4, pp. 630-649, Aug. 1996.
[25] J. Goodenough, “Exception Handling: Issues and Proposed Notation,” Comm. ACM, Vol. 18, No. 12, pp. 683–696, 1975.
[26] The Open Group, Distributed TP: The XA Specification, Open Group Technical Standard, 1992.
[27] C. Hagen and G. Alonso, “Backup and Process Migration Mechanisms in Process Support Systems.” Technical Report 304, ETH Zurich, Ins. of Information Systems, Aug. 1998. publicationsha98d.html.
[28] C. Hagen and G. Alonso, "Flexible Exception Handling in the OPERA Process Support System," 18th Int'l Conf. Distributed Computing Systems (ICDCS), IEEE Computer Soc. Press, Los Alamitos, Calif., 1998, pp. 526-533.
[29] C. Hagen and G. Alonso, “Beyond the Black Box: Event-Based Inter-Process Communication in Process Support Systems,” Proc. 19th Int'l Conf. Distributed Computer Systems (ICDCS 99), June 1999.
[30] C. Hagen and G. Alonso, “Highly Available Process Support Systems: Implementing Backup Mechanisms,” Proc. 18th IEEE Symp. Reliable Distributed Systems, Oct. 1999.
[31] Bulletin IEEE Technical Committee on Data Eng., Special Issue on Workflow and Extended Transaction Systems, M. Hsu ed., IEEE Computer Soc., June 1993.
[32] Bulletin IEEE Technical Comittee on Data Eng., Special Issue on Workflow Systems, M. Hsu, ed., IEEE Computer Soc., Mar. 1995.
[33] S. Jablonski and C. Bussler, Workflow Management. Int'l Thomson Computer Press, 1996.
[34] P. Jalote and R.H. Campbell,“Atomic actions for fault tolerance using CSP,” IEEE Trans. Software Engineering, vol. 12, no. 1, pp. 59-68, Jan. 1986.
[35] “Towards Adaptive Workflow Systems,” Proc. Computer Supported Cooperative Work (CSCW 98') Workshop, M. Klein, C. Dellarocas, and A. Bernstein, eds. 1998.
[36] Dependability: Basic Concepts and Terminology, J.C. Laprie ed., Springer-Verlag, 1992.
[37] Y. Leu, A.K. Elmagarmid, and N. Boudriga, “Specification and Execution of Transactions for Advanced Database Applications,” Information Systems, vol. 17, no. 2,pp. 171–183, 1992.
[38] F. Leymann, “Supporting Business Transactions via Partial Backward Recovery in Workflow Management Systems,” Datenbanksysteme in Büro, Technik und Wissenschaft, pp. 51–70, 1995.
[39] F. Leymann and W. Altenhuber, “Managing Business Processes as an Information Resource,” IBM Systems J., vol. 33, no. 2,pp. 326–348, 1994.
[40] D.L. Parnas, “Response to Detected Errors in Well-Structured Programs,” technical report, Computer Science Dept, Carnegie-Mellon Univ., 1972.
[41] L.C. Paulson, ML for the Working Programmer. Cambridge Univ. Press, 1991.
[42] A. Romanowsky, “Pratical Exception Handling and Resolution in Concurrent Programs,” Computer Languages, vol. 23, no. 1, 1997.
[43] R.W. Sebesta, Concepts of Programming Languages, third ed. Addison-Wesley, 1996.
[44] Proc. NSF Workshop Workflow and Process Automation in Information Systems, A.Sheth, ed., May 1996. NSF-workflowproceedings.html.
[45] G.L. Steele, Common Lisp: The Language, second ed. Digital Press, 1990.
[46] B. Stroustrup,The C++ Programming Language. Reading MA: Addison-Wesley, 1991, 2nd ed.
[47] P. van Zee, M. Burnett, and M. Chesire, “Retire Superman: Handling Exceptions Seamlessly in a Declarative Visual Programming Language,” Proc. IEEE Symp. Visual Languages, pp. 222–230, Sept. 1996.
[48] H. Wachter and A. Reuter, “The Contract Model,” Database Transaction Models for Advanced Applications, A. Elmagarmid, ed., pp. 219–263, 1991.
[49] G. Weikum and H.-J. Schek, “Concepts and Applications of Multilevel Transactions and Open Nested Transactions,” Database Transaction Models for Advanced Applications, A.K. Elmagarmid, ed., chapter 13, 1992.
[50] Workflow Management Coalition–Terminology and Glossary, Version 2.0. June 1996.
[51] J. Xu, A. Romanovsky, and B. Randell, “Coordinated Exception Handling in Distributed Object Systems: From Model to System Implementation,” Proc. Int'l Conf. Distributed Computing Systems, May 1998.
[52] S. Yemini, D. Berry, “A Modular Verifiable Exception-Handling Mechanism,” ACM Trans. Programming Languages and Systems, Vol. 7, No. 2, pp. 213–243, Apr. 1985.

Index Terms:
Dependability, exception handling, workflow management, process support systems.
Claus Hagen, Gustavo Alonso, "Exception Handling in Workflow Management Systems," IEEE Transactions on Software Engineering, vol. 26, no. 10, pp. 943-958, Oct. 2000, doi:10.1109/32.879818
Usage of this product signifies your acceptance of the Terms of Use.