The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.02 - March/April (2010 vol.36)
pp: 162-183
Stefan Christov , University of Massachusetts, Amherst
Leon J. Osterweil , University of Massachusetts, Amherst
Reda Bendraou , Université Pierre & Marie Curie, Paris
Udo Kannengiesser , NICTA, Alexandria and University of New South Wales, Sydney
Alexander Wise , University of Massachusetts, Amherst
ABSTRACT
Process modeling allows for analysis and improvement of processes that coordinate multiple people and tools working together to carry out a task. Process modeling typically focuses on the normative process, that is, how the collaboration transpires when everything goes as desired. Unfortunately, real-world processes rarely proceed that smoothly. A more complete analysis of a process requires that the process model also include details about what to do when exceptional situations arise. We have found that, in many cases, there are abstract patterns that capture the relationship between exception handling tasks and the normative process. Just as object-oriented design patterns facilitate the development, documentation, and maintenance of object-oriented programs, we believe that process patterns can facilitate the development, documentation, and maintenance of process models. In this paper, we focus on the exception handling patterns that we have observed over many years of process modeling. We describe these patterns using three process modeling notations: UML 2.0 Activity Diagrams, BPMN, and Little-JIL. We present both the abstract structure of the pattern as well as examples of the pattern in use. We also provide some preliminary statistical survey data to support the claim that these patterns are found commonly in actual use and discuss the relative merits of the three notations with respect to their ability to represent these patterns.
INDEX TERMS
Exception handling patterns, process modeling, process modeling languages.
CITATION
Stefan Christov, Leon J. Osterweil, Reda Bendraou, Udo Kannengiesser, Alexander Wise, "Exception Handling Patterns for Process Modeling", IEEE Transactions on Software Engineering, vol.36, no. 2, pp. 162-183, March/April 2010, doi:10.1109/TSE.2010.1
REFERENCES
[1] A.G. Cass and L.J. Osterweil, "Process Support to Help Novices Design Software Faster Better," Proc. 20th IEEE/ACM Int'l Conf. Automated Software Eng., pp. 295-299, 2005.
[2] M. Li, B. Boehm, and L.J. Osterweil, Unifying the Software Process Spectrum. Springer-Verlag, New York, 2006.
[3] Modelplex, IST European Project Contract IST-3408, http:/www.modelplex-ist.org, 2010.
[4] W.M.P. van der Aalst, "Business Process Management Demystified: A Tutorial on Models, Systems and Standards for Workflow Management," Lectures on Concurrency and Petri Nets, J. Desel, W. Reisig, and G. Rozenberg, eds., pp. 1-65, Springer-Verlag, 2004.
[5] A.-W. Scheer, ARIS—Business Process Modeling, third ed. Springer-Verlag, 2000.
[6] H.A. Reijers, S. Limam, and W.M.P. van der Aalst, "Product-Based Workflow Design," J. Management Information Systems, vol. 20, no. 1, pp. 229-262, 2003.
[7] D. Müller, M. Reichert, and J. Herbst, "Data-Driven Modeling and Coordination of Large Process Structures," Proc. Move to Meaningful Internet Systems '07: Int'l Conf. Cooperative Information Systems, Int'l Conf. Distributed Objects and Applications, Conf. Ontologies, DataBases, and Applications of Semantics, Int'l Conf. Grid Computing, High Performance and Distributed Applications, and Int'l Symp. Information Security, 2007.
[8] S.C. Christov, G.S. Avrunin, B. Chen, L.A. Clarke, L.J. Osterweil, D. Brown, L. Cassells, and W. Mertens, "Rigorously Defining and Analyzing Medical Processes: An Experience Report," Proc. Models in Software Eng.: Workshops and Symp. at MoDELS '07, 2007.
[9] A. ten Teije, M. Marcos, M. Balser, J. van Croonenborg, C. Duelli, F. van Harmelen, P. Lucas, S. Miksch, W. Reif, K. Rosenbrand, and A. Seyfang, "Improving Medical Protocols by Formal Methods," Artificial Intelligence in Medicine, vol. 36, no. 3, pp. 193-209, 2006.
[10] M.S. Raunak, L.J. Osterweil, A. Wise, L.A. Clarke, and P.L. Henneman, "Simulating Patient Flow through an Emergency Department Using Process-Driven Discrete Event Simulation," Proc. Workshop Software Eng. in Health Care, 2009.
[11] M.S. Raunak, B. Chen, A. Elssamadisy, L.A. Clarke, and L.J. Osterweil, "Definition and Analysis of Election Processes," Proc. Software Process Workshop (SPW '06) and 2006 Process Simulation Workshop, pp. 178-185, 2006.
[12] L.J. Osterweil, C.M. Schweik, N.K. Sondheimer, and C.W. Thomas, "Analyzing Processes for E-Government Development: The Emergence of Process Modeling Languages," J. E-Govt., vol. 1, no. 4, pp. 63-89, 2004.
[13] B.I. Simidchieva, M.S. Marzilli, L.A. Clarke, and L.J. Osterweil, "Specifying and Verifying Requirements for Election Processes," Proc. 2008 Int'l Conf. Digital Govt. Research, pp. 63-72, 2008.
[14] L. Clarke, A. Gaitenby, D. Gyllstrom, E. Katsh, M. Marzilli, L.J. Osterweil, N.K. Sondheimer, L. Wing, A. Wise, and D. Rainey, "A Process-Driven Tool to Support Online Dispute Resolution," Proc. 2006 Int'l Conf. Digital Govt. Research, pp. 356-357, 2006.
[15] M. Adams, A.H.M. ter Hofstede, D. Edmond, and W.M.P. van der Aalst, "Dynamic and Extensible Exception Handling for Workflows: A Service-Oriented Implementation," BPM Center Report BPM-07-03, BPMCenter.org, 2007.
[16] E.H. Henneman, R.L. Cobleigh, K. Frederick, E. Katz-Bassett, G.A. Avrunin, L.A. Clarke, L.J. Osterweil, C. Andrzejewski, K. Merrigan, and P.L. Henneman, "Increasing Patient Safety and Efficiency in Transfusion Therapy Using Formal Process Definitions," Transfusion Medicine Rev., vol. 21, no. 1, pp. 49-57, 2007.
[17] E. Gamma, R. Helm, R. Johnson, and J.M. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1994.
[18] S. Stelting, Robust Java: Exception Handling, Testing and Debugging. Prentice Hall, 2005.
[19] A. Haase, "Java Idioms: Exception Handling," Proc. Seventh European Conf. Pattern Languages of Programs, July 2002.
[20] A. Longshaw and E. Woods, "Patterns for Generation, Handling and Management of Errors," Proc. Ninth European Conf. Pattern Languages of Programs, July 2004.
[21] A. Longshaw and E. Woods, "More Patterns for the Generation, Handling and Management of Errors," Proc. 10th European Conf. Pattern Languages of Programs, July 2005.
[22] J.O. Coplien, "A Development Process Generative Pattern Language," Pattern Languages of Programs, 1994.
[23] S.W. Ambler, Process Patterns: Building Large-Scale Systems Using Object Technology. Cambridge Univ. Press, 1998.
[24] W. van der Aalst, A. ter Hofstede, B. Keipuszewski, and A.P. Barros, "Workflow Patterns," Distributed and Parallel Databases, vol. 14, no. 3, pp. 5-51, July 2003.
[25] W. van der Aalst, A. ter Hofstede, B. Keipuszewski, and A.P. Barros, "Advanced Workflow Patterns," Proc. Seventh Int'l Conf. Cooperative Information Systems, O. Etzion and P. Scheuermann, eds., pp. 18-29, 2000.
[26] N. Russell, A. ter Hofstede, D. Edmond, and W. van der Aalst, "Workflow Data Patterns: Identification, Representation and Tool Support," Proc. 24th Int'l Conf. Conceptual Modeling, L. Delcambre et al., eds., pp. 353-368, 2005.
[27] N. Russell, W. van der Aalst, A. ter Hofstede, and D. Edmond, "Workflow Resource Patterns: Identification, Representation and Tool Support," Proc. 17th Conf. Advanced Information Systems Eng., O. Pastor and J.F. e Cunha, eds., pp. 216-232, 2005.
[28] N. Russell, W. van der Aalst, and A. ter Hofstede, "Exception Handling Patterns in Process-Aware Information Systems," BPM Center Report BPM-06-04, BPMCenter.org, http://www.workflowpatterns.com/documentation/ documentsBPM-06-04.pdf, 2006.
[29] L.J. Osterweil, "Software Processes Are Software, Too," Proc. Ninth Int'l Conf. Software Eng., pp. 2-13, 1987.
[30] OMG, Unified Modeling Language, Superstructure Specification, Version 2.1.1, http://www.omg.org/spec/UML/2.1.1/Superstructure PDF/, 2010.
[31] OMG, Business Process Modeling Notation (BPMN) Version 1.2, http://www.omg.org/spec/BPMN1.2, 2010.
[32] A. Wise, "Little-JIL 1.5 Language Report," technical report, Dept. of Computer Science, Univ. of Massachusetts, 2006.
[33] A.G. Cass, S.M. Sutton, and L.J. Osterweil, "Formalizing Rework in Software Processes," Proc. Ninth European Workshop Software Process Technology, pp. 16-31, 2003.
[34] Object Management Group (OMG), "Software Process Engineering Meta-Model, Version 2.0," technical report, http://www.omg. org/docs/formal08-04-01.pdf , 2008.
[35] Eclipse Process Framework (EPF), http://www.eclipse.orgepf, 2010.
[36] R.K.L. Lo, S.S.G. Lee, and E.W. Lee, "Business Process Management (BPM) Standards: A Survey," Business Process Management J., vol. 15, no. 5, 2009.
[37] F. Casati, S. Ceri, S. Paraboschi, and G. Pozzi, "Specification and Implementation of Exceptions in Workflow Management Systems," ACM Trans. Database Systems, vol. 24, no. 3, pp. 405-451, 1999.
[38] C. Hagen and G. Alonso, "Exception Handling in Workflow Management Systems," IEEE Trans. Software Eng., vol. 26, no. 10, pp. 943-958, Oct. 2000.
[39] S. Nepal, A. Fekete, P. Greenfield, J. Jang, D. Kuo, and T. Shi, "A Service-Oriented Workflow Language for Robust Interacting Applications," Proc. Move to Meaningful Internet Systems '05: Int'l Conf. Cooperative Information Systems, Int'l Conf. Distributed Objects and Applications, and Conf. Ontologies, DataBases, and Applications of Semantics, pp. 40-58, 2005.
[40] "Web Services Business Process Execution Language Version 2.0," http://docs.oasis-open.org/wsbpel/2.0wsbpel-v2.0.pdf , Apr. 2007.
[41] F. Curbera, R. Khalaf, F. Leymann, and S. Weerawarana, "Exception Handling in the BPEL4WS Language," Proc. Conf. Business Process Management, 2003.
[42] P. Fong and J. Brent, "Exception Handling in WebSphere Process Server and WebSphere Enterprise Service Bus," http://www.ibm.com/developerworks/websphere/ library/techar- ticles/0705_fong 0705_fong.htm, 2010.
[43] A. Avižienis, J.-C. Laprie, B. Randell, and C. Landwehr, "Basic Concepts and Taxonomy of Dependable and Secure Computing," IEEE Trans. Dependable and Secure Computing, vol. 1, no. 1, pp. 11-33, Jan.-Mar. 2004.
[44] M. Golani and A. Gal, "Flexible Business Process Management Using Forward Stepping and Alternative Paths," Business Process Modeling, pp. 48-63, Springer, 2005.
[45] J. Li, Y. Mai, and G. Butler, "Implementing Exception Handling Policies for Workflow Management System," Proc. 10th Asia-Pacific Software Eng. Conf., 2003.
[46] L. Zeng, H. Lei, J.-J. Jeng, J.-Y. Chung, and B. Benatallah, "Policy-Driven Exception-Management for Composite Web Services," Proc. Seventh IEEE Int'l Conf. E-Commerce Technology, pp. 355-363, July 2005.
[47] M. Schäfer, P. Dolog, and W. Nejdl, "An Environment for Flexible Advanced Compensations of Web Service Transactions," ACM Trans. Web, vol. 2, no. 2, pp. 1-36, Apr. 2008.
[48] OMG, OCL: Object Constraint Language 2.0, http://www.omg. org/spec/OCL/2.0PDF, 2010.
[49] S.A. White and D. Miers, BPMN Modeling and Reference Guide, L. Fischer, ed. Future Strategies, Inc., 2008.
[50] B.S. Lerner, "Verifying Process Models Built Using Parameterized State Machines," Proc. ACM SIGSOFT Int'l Symp. Software Testing and Analysis, G. Rothermel, ed., pp. 274-284, 2004.
[51] A. Wise, A. Cass, B.S. Lerner, E. McCall, and S. Sutton, "Using Little-JIL to Coordinate Agents in Software Engineering," Proc. 15th Int'l Conf. Automated Software Eng., pp. 155-163, 2000.
21 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool