On The Use of Petri Nets for Business Process Modeling

Size: px
Start display at page:

Download "On The Use of Petri Nets for Business Process Modeling"

Transcription

1 On The Use of Petri Nets for Business Process Modeling Eswar Sivaraman and Manjunath Kamath School of Industrial Engineering & Management Oklahoma State University Stillwater, OK Abstract We review the fundamentals of business process modeling, and the correctness issues that arise in the conceptual specification of workflows to support workflow management systems (WfMS). WfMS s automate the control and coordination of distributed tasks, and also manage associated resource assignments within prespecified organizational contexts. The increased efficiency of automated control and coordination of business processes is made possible by task control constructs that model behaviors like concurrency, asynchronism, and choice. However, there is a real danger of introducing control flow anomalies and behavioral inconsistencies like deadlock, livelock, imperfect termination, and multiple task repetitions. We illustrate the use of Petri nets for formalizing business process specifications and the use of analytical techniques to support verification studies, and conclude with a few issues that merit further research. Keywords Business Process Modeling, Workflow Management, Petri Nets, Verification Introduction The need for re-designing existing business processes, improving process efficiencies, coordinating technology with distributed manpower and material resources, and enforcing rapid process development and design makes it imperative to adequately represent, study, and automate business processes[6, 9]. Business processes are market-centered descriptions of an organization s activities, comprising both material processes (involving physical transformation, assembly, manufacture, etc.) and information processes (involving semi- or fully automated tasks requiring information infrastructure and support)[9]. Business process modeling (BPM) provides a conceptual basis for the specification of all business procedures. It aids the coordination and integration of distributed resources, tasks, and individuals, the effective management of all of which is critical to sustaining organizational capabilities[5]. Workflow Management supports both business process specification and automated execution of business procedures, and is a next-generation extension to BPM efforts that emphasizes the increased role that information systems have come to play in today s businesses[]. Workflow Management involves two phases (i) the modeling phase that abstracts from business procedures and defines computer-implementable workflow specifications, and (ii) the execution phase that executes instances of the workflows to meet business requirements, and both these phases are managed and coordinated by a Workflow Management System (WfMS). Essentially, a WfMS integrates and automates the execution of steps that comprise a business process [], and simultaneously manages resource (information, people, etc.) assignments. Figure highlights the three major functional areas that a WfMS provides support for, namely, workflow design & definition (the context of this paper), workflow instantiation & control, and interaction with users & other applications[, 0]. This paper focuses on the modeling and analysis issues involved in establishing logical and syntactical correctness of business process specifications before they are implemented. Other issues related to post-implementation correctness, namely, data consistency and database integrity (i.e., transactional guarantees), and exception (i.e., failure) handling required for run-time control[5, 4, ] are beyond the scope of this paper.

2 Workflow Design & Definition Workflow Instantiation & Control Interaction with Users & Application Tools Human Resources Process Definition Process Changes Workflow Enactment Service Modeling and Analysis Tools Applications & IT Tools Build-Time Run-Time Figure : Workflow Management System - Reference Model The complete specification of business processes includes (i) the control flow, i.e., the partial and total ordering specifying the sequence of the various tasks, (ii) the data flow, i.e., the information requirements, and the resource (people, machines, etc.) allocations for the execution of the various tasks. This is required for identifying the input and output requirements for each task, and also to put together a skeletal outlay of the process that is both conceptually and descriptively complete. There has been siginificant research in developing process metamodels, namely, a representational language in which to express workflow models amenable to automation the reader is referred to [7, 5, 5] for an excellent review of the same. Additionally, the Workflow Management Coalition (WfMC) has been working toward standardizing workflow specification languages to enable interoperability between different vendors, and has evolved a process modeling language, the syntax of which should be supported by all WfMSs this is discussed further in Section. Stated simply, the ability to represent behaviors like concurrency and choice increases the chances of defining logically incorrect models with control flow errors, the execution of which could result in deadlock, livelock, etc. The focus of this paper is to highlight the versatility of Petri nets as a technique for formalizing business process models to analyze verification issues, and to support performance evaluation studies. Process Modeling: The Essentials The purpose of process modeling is to produce an abstraction of the process that serves as a basis for detailed definition, study, and possible reengineering to eliminate non-value added activities. The process model must allow for a clear and transparent understanding of the activities being undertaken, the dependencies among the activities, and roles (people, machines, information, etc.) necessary for the process. We will use an activity-centered modeling methodology for defining process models in that a process is viewed as a sequence of inter-related tasks, the transfer of control between them being determined by logical operations; the reader is referred to [6, 4, 5, 9] for an excellent review of other modeling methodologies. Sequential Control Concurrent Control 4 Asynchronous Completion Choice Figure : Process Modeling - An Example (showing control flow only) For the remainder of our discussion, we will consider a business process model to be a collection of elements, where an element is either a task, or a logical operand that serves to route the flow of control (parallel and/or sequential) between the tasks these are based on generic modeling concepts prescribed by the WfMC[6].

3 . Analysis Issues in Business Process Modeling The ease and flexibility of graphical modeling languages brings with it a possibility for introducing control flow anomalies in process specifications. Table illustrates a few of the major control flow verification issues, i.e., checking for deadlock, livelock, multiple repetition, etc., and [8] presents a more elaborate presentation on other issues that are further classified as simple and complex. Additionally, improving process efficiency, performance evaluation, etc., requires that we have a definite framework within which to formulate questions to study all aspects of processes data and resource allocations, and task definitions. Table : Verification Issues in Business Process Specifications Verification Issues Example Deadlock: When control flow from one of several required merging paths is missing. T T T T4 Multiple Repetition: When control flow arrives from multiple sources, but only one is necessary. T T T T4 Livelock: When control flow fails to exit out of a set of previously executed tasks. T T T T4 An incremental approach to formalizing and analyzing business process models is suggested, as follows: Control Flow Correctness: Create a control-flow model specifying just the tasks, and the ordering required within, without the overhead of resource, data requirements - Petri nets have emerged as a very popular technique for such abstractions[0, ]. These models have been used to answer the following questions: (i) the initiation problem is to determine if there is a sequence of task executions that will lead to the execution of a particular task this has been shown to be NP-complete[], and (ii) the termination problem is to determine if the control-flow specification will lead to a terminal state this has been shown to require exponential storage requirements[]. Data Flow Correctness: Extend the control-flow model with the operational specifics of resource requirements, allocations, etc., thereby specifying the data flow as well. A few questions that could be posed to this model are: (i) given a task that we need to execute, what other tasks must be executed before we can fulfil the input requirements (resource and data) for the chosen task?, (ii) if a particular task is disabled, what other tasks will be affected? and (iii) if a resource, or data element is disabled, will the process be affected?, to state just a few. Metagraphs[] appear very promising as an analytically sound technique, with much visual appeal, to address these questions this is a relatively new concept, and research is still forthcoming. Between the two, control-flow correctness ensures that the process, by design, is correct, independent of how it is implemented or monitored, and for the remainder of our discussion, we will explore the use of Petri nets for establishing the same. Petri-Net Formalizations of Business Process Models Intuitively, any process can be understood to be a collection of events, the conditions that enable these events to occur, and the conditions that are satisfied following the completion of these events. A Petri net ideally

4 mirrors this intuition, and explicitly separates the conditions, and the events involved in a process, and models state changes involved therein, through a simulated movement of tokens. A Petri net is a directed, bi-partite graph with two kinds of nodes places (represented as circles), where one or more tokens (black dots) can reside, and transitions (represented as bars) that can be fired to move tokens from their input places to their output places. The places model the conditions required to enable events, which are modeled by the transitions readers will no doubt note that the explicit delineation of conditions and events pertains to the activity-based methodology discussed in Section. Figure depicts the Petri net representation of the process described in Figure, and Table illustrates the Petri net mappings for basic routing constructs required in process modeling. Sequential Control 4 Asynchronous Completion Concurrent Control Choice Stop Start Figure : Petri Net Representation - An Example (control flow only) Petri-nets offer the advantage of graphical appeal coupled with a rigorous formalism that has found tremendous use in modeling systems and processes that exhibit asynchronism, concurrency, and determinism[7, 7]. Petri nets are especially attractive for formalizing and analyzing business processes for the following reasons: (i) clear and unambiguous description of process logic, (ii) intuitive ease and feel of a self-documenting graphical formalism that retains complete conceptual clarity, and (iii) extensive analysis capabilities that vastly extend the power and usefulness of structured process description languages like IDEF. The control flow issues highlighted in section. are readily expressed in Petri-net theoretic terms, e.g., reachability, deadlock, liveness, etc.[7]. Moreover, Petri nets allow for a study of both (i) structural properties pertaining to the static aspects of the process s definition, and (ii) behavioral properties pertaining to the dynamic aspects of the process observed during its execution[7, 7], the latter being useful in deriving summary measures (e.g., cycle time) for performance evaluation studies[5].. Current Research Approaches for Establishing Control Flow Correctness There are two approaches to ensuring correct models (i) build it correctly, or (ii) check it completely. The former relies on strict grammatical rules that govern the composition of the various elements in the model, and this is the basis of the model-theoretic event algebras designed by [, 8], which may not be very suitable for practical implementation in industry. The latter, on the contrary, is more appealing, both in allowing the user tremendous flexibility in expressing process requirements, and in offering interesting analysis challenges to the modeler. These are the considerations that have prompted the use of graph-theoretic techniques[9, ], and Petri nets [,, 4] for verification studies they do not inhibit the modeler, or the analyst. The standard approach to establishing control-flow correctness in Petri net formalizations of business process models is to establish the soundness property[], or the simple control property[], which is the initiation problem and the termination problem both wrapped in one (refer Section.). Stated simply, the idea is to put a token in the place labeled Start (Figure ), and to see if the execution of the Petri net will produce a token in the place labeled Stop, without leaving any residual tokens elsewhere in the net. The majority of business processes have been analyzed using acyclic (i.e., loop-free) free-choice nets, a special class of Petri nets[7] that enjoys the added advantage that soundness can be verified in polynomial time[]. Additionally, establishing soundness in a free-choice net implies that the net is free from deadlock, and is also live, i.e., no dead tasks[]. However, hurdles remain, in that the modeling of exceptions or precedence partially destroys the free-choiceness of the equivalent Petri net mapping. Moreover, modeling iteration necessitates the presence of loops in the control flow model, a problem which is yet to be satisfactorily addressed.

5 Table : Petri Net Mappings of Basic Routing Constructs Logical Operand Graphical Construct Petri Net Mapping -Join: A point within the process model where a single thread of control splits into two or more threads to be executed simultaneously Join: A point within the process model where two or more different threads of control merge asynchronously. -Split: A point within the process model where the thread of control selectively chooses one of several possible paths. -Join: A point within the process model where the thread of control from one of several different paths converges. Iteration/Feedback Routing: A section within the process model that may require the repetitive execution of one or more activities until certain conditions are satisfied. 4 Summary & Conclusions Petri nets have emerged as the medium of choice for analyzing business process models to provide useful diagnostic feedback to support process re-design, and effective resource, organization, and function management[, 0]. We have presented a self-contained overview of the opportunities available in the emerging field of workflow management, the correctness issues involved therein, and some of the ideas being pursued in the author s dissertation. The focus has been to illustrate the use of Petri nets to bridge the gap between process modeling languages[4, 7], and process implementation & workflow automation techniques[5, ], so that logically correct process specifications created with the former are effectively implemented in the latter.

6 The issues that merit future research are: (i) extend soundness results established for acyclic free-choice constructions to business process models involving iteration, and potential non-free-choice constructions, and (ii) establish results for verifying data-flow correctness that could find use in performance evaluation studies, and other real-time transactional issues[4, ]. A more interesting question that could very well supersede all the efforts presented in this paper is is the process definition really optimal? this is the focus of the ideas initiated in [0], and there is much ground to be covered here. Acknowledgments This research was supported, in part, by NSF Grant #DMI under the Scalable Enterprise Systems Initiative. We would also like to thank Dr. Nikunj Dalal, Dr. William Kolarik, Mr. Amit Chaugule, Mr. Ramasamy ChinnanChetty, and Mr. Karthik Ayodhiramanujan for their support and comments. References [] Aalst, W.M.P. The Application of Petri Nets to Workflow Management. The Journal of Circuits, Systems, and Computers, 8(): 66, 998. [] Aalst, W.M.P. Workflow Verification: Finding Control-Flow Errors Using Petri-Net Based Techniques. In Aalst, W.M.P., Desel, J., and Oberweis, A., editors, Business Process Management Models, Techniques, and Empirical Studies, volume 806 of Lecture Notes in Computer Science, pages 6 8. Springer-Verlag, 000. [] Basu, A. and Blanning, R.W. A Formal Approach to Workflow Analysis. Information Systems Research, ():7 6, 000. [4] Chen, P. A Use Case Driven Object-Oriented Design Methodology for the Design of Multi-Level Workflow Schemas. PhD thesis, Department of Computer Science, Ill. Inst. of Tech., Chicago, IL, 000. [5] Cichocki, A., Helal, A., Rusinkiewicz, M., and Woelk, D. Workflow and Process Automation: Concepts and Technology. Kluwer Academic Publishers, MA, 998. [6] Curtis, B., Kellner, M.I., and Over, J. Process Modeling. Comm. of the ACM, 5(9):75 90, 99. [7] Desel, J. and Esparza, J. Free Choice Petri Nets. Cambridge University Press, 995. [8] Fan, W. and Weinstein, S. Specifying and Reasoning About Workflows with Path Constraints. In Proceedings of the 5th International Computer Science Conference(ICSC 99), HongKong, China, volume 749 of Lecture Notes in Computer Science. Springer, Dec [9] Georgakopoulos, D., Hornick, M., and Sheth, A. An Overview of Workflow Management: From Process Modeling to Workflow Automation Infrastructure. Distributed and Parallel Databases, :9 5, 995. [0] Hofacker, I. and Vetschera, R. Algorithmical Approaches to Business Process Design. Computers & Operations Research, 8:5 75, 00. [] Hofstede, A.H.M., Orlowska, M.E., and Rajapakse, J. Verification Problems in Conceptual Workflow Specifications. Data & Knowledge Engineering, 4():9 56, 998. [] Hollingsworth, D. The Workflow Reference Model. Technical Report WfMC-TC-00, The Workflow Management Coalition, [] Kamath, M.U. Improving Correctness and Failure Handling in Workflow Management Systems. PhD thesis, Department of Computer Science, University of Massachusetts, Amherst, MA, 998. [4] Kamath, M.U. and Ramamritham, K. Correctness Issues in Workflow Management. Distributed Systems Engineering Journal, (4):, December 996. Special Issue on Workflow Systems. [5] Lei, Y. and Singh, M.P. A Comparison of Workflow Metamodels. Proceedings of the ER-97 Workshop on Behavioral Modeling & Design Transformation Issues and Opportunities in Conceptual Modeling, Los Angeles, CA, November

7 [6] Mentzas, G., Halaris, C., and Kavadias, S. Modelling Business Processes with Workflow Systems: An Evaluation of Alternative Approaches. Int. J. of Information Management, : 5, 00. [7] Murata, T. Petri Nets: Properties, Analysis, and Applications. Proceedings of the IEEE, 77(4):54 580, 989. [8] Sadiq, W. and Orlowska, M.E. On Correctness Issues in Conceptual Modeling of Workflows. Proceedings of the 5th European Conference on Information Systems (ECIS 97), Cork, Ireland, June 9, [9] Sadiq, W. and Orlowska, M.E. Analyzing Process Models using Graph Reduction Techniques. Information Systems, 5():7 4, 000. [0] Salimifard, K. and Wright, M. Petri-Net based Modeling of Workflow Systems: An Overview. European Journal of Operational Research, 4():8 0, 00. [] Sheth, A., Aalst, W.M.P., and Arpinar, I. Processes Driving the Networked Economy. IEEE Concurrency, 7():8, 999. [] Singh, M.P. Formal Semantics for Workflow Computations. Technical Report TR-96-08, Department of Computer Science, North Carolina State University, January 996. [] Straub, P. and Hurtado, C.L. The Simple Control Property of Business Process Models. Proceedings of the XV Conference of the Chilean Computer Society, Arica, Chile, Oct. 0-Nov., 995. ftp://ing.puc.cl/doc/techreports. [4] Straub, P. and Hurtado, C.L. Control in Multi-Threaded Information Systems. Unpublished working report, Computer Science Department, Catholic University of Chile, Santiago, Chile, 997. [5] Viswanadham, N. and Narahari, Y. Performance Modeling of Automated Manufacturing Systems. Prentice-Hall, Inc., 99. [6] WfMC. Terminology & Glossary. Technical Report WfMC-TC-0, The Workflow Management Coalition, [7] WfMC Work Group. Interface : Process Definition Interchange Process Model. Technical Report WfMC-TC-06-P, The Workflow Management Coalition,