WORKFLOW CONTROL-FLOW PATTERNS A Revised View

Similar documents
Open and Extensible Business Process Simulator

A Holistic Method for Selecting Web Services in Design of Composite Applications

Deadline-based Escalation in Process-Aware Information Systems

Chapter 1 Microeconomics of Consumer Theory

Henley Business School at Univ of Reading. Pre-Experience Postgraduate Programmes Chartered Institute of Personnel and Development (CIPD)

TRENDS IN EXECUTIVE EDUCATION: TOWARDS A SYSTEMS APPROACH TO EXECUTIVE DEVELOPMENT PLANNING

Granular Problem Solving and Software Engineering

Sebastián Bravo López

Findings and Recommendations

State of Maryland Participation Agreement for Pre-Tax and Roth Retirement Savings Accounts

Customer Efficiency, Channel Usage and Firm Performance in Retail Banking

Henley Business School at Univ of Reading. Chartered Institute of Personnel and Development (CIPD)

An Enhanced Critical Path Method for Multiple Resource Constraints

' R ATIONAL. :::~i:. :'.:::::: RETENTION ':: Compliance with the way you work PRODUCT BRIEF

Channel Assignment Strategies for Cellular Phone Systems

A Comparison of Service Quality between Private and Public Hospitals in Thailand

UNIVERSITY AND WORK-STUDY EMPLOYERS WEB SITE USER S GUIDE

FOOD FOR THOUGHT Topical Insights from our Subject Matter Experts

THE UNIVERSITY OF TEXAS AT ARLINGTON COLLEGE OF NURSING. NURS Introduction to Genetics and Genomics SYLLABUS

i_~f e 1 then e 2 else e 3

) ( )( ) ( ) ( )( ) ( ) ( ) (1)

Weighting Methods in Survey Sampling

Capacity at Unsignalized Two-Stage Priority Intersections

Board Building Recruiting and Developing Effective Board Members for Not-for-Profit Organizations

MEMBER. Application for election MEMBER, NEW GRADUATE. psychology.org.au. April 2015

Software Ecosystems: From Software Product Management to Software Platform Management

Computer Networks Framing

Static Fairness Criteria in Telecommunications

INCOME TAX WITHHOLDING GUIDE FOR EMPLOYERS

RATING SCALES FOR NEUROLOGISTS

i e AT 21 of 2006 EMPLOYMENT ACT 2006

FIRE DETECTION USING AUTONOMOUS AERIAL VEHICLES WITH INFRARED AND VISUAL CAMERAS. J. Ramiro Martínez-de Dios, Luis Merino and Aníbal Ollero

Supply chain coordination; A Game Theory approach

A Context-Aware Preference Database System

SOFTWARE ENGINEERING I

Optimal Sales Force Compensation

INCOME TAX WITHHOLDING GUIDE FOR EMPLOYERS

Price-based versus quantity-based approaches for stimulating the development of renewable electricity: new insights in an old debate

Agile ALM White Paper: Redefining ALM with Five Key Practices

REVISTA INVESTIGACIÓN OPERACIONAL Vol. 28, No.1, 4-16, 2007

VOLUME 13, ARTICLE 5, PAGES PUBLISHED 05 OCTOBER DOI: /DemRes

Transfer of Functions (Isle of Man Financial Services Authority) TRANSFER OF FUNCTIONS (ISLE OF MAN FINANCIAL SERVICES AUTHORITY) ORDER 2015

AUDITING COST OVERRUN CLAIMS *

protection p1ann1ng report

arxiv:astro-ph/ v2 10 Jun 2003 Theory Group, MS 50A-5101 Lawrence Berkeley National Laboratory One Cyclotron Road Berkeley, CA USA

Dynamic and Competitive Effects of Direct Mailings

Retirement Option Election Form with Partial Lump Sum Payment

A Keyword Filters Method for Spam via Maximum Independent Sets

Intelligent Measurement Processes in 3D Optical Metrology: Producing More Accurate Point Clouds

A novel active mass damper for vibration control of bridges

BENEFICIARY CHANGE REQUEST

OpenScape 4000 CSTA V7 Connectivity Adapter - CSTA III, Part 2, Version 4.1. Developer s Guide A31003-G9310-I D1

Masters Thesis- Criticality Alarm System Design Guide with Accompanying Alarm System Development for the Radioisotope Production L

MEDICATION MANAGEMENT ASSESSMENT

A Survey of Usability Evaluation in Virtual Environments: Classi cation and Comparison of Methods

Big Data Analysis and Reporting with Decision Tree Induction

The Optimal Deterrence of Tax Evasion: The Trade-off Between Information Reporting and Audits

Procurement auctions are sometimes plagued with a chosen supplier s failing to accomplish a project successfully.

The Application of Mamdani Fuzzy Model for Auto Zoom Function of a Digital Camera

Pattern Recognition Techniques in Microarray Data Analysis

Hierarchical Clustering and Sampling Techniques for Network Monitoring

Context-Sensitive Adjustments of Cognitive Control: Conflict-Adaptation Effects Are Modulated by Processing Demands of the Ongoing Task

Using Live Chat in your Call Centre

Table of Contents. Appendix II Application Checklist. Export Finance Program Working Capital Financing...7

Learning Curves and Stochastic Models for Pricing and Provisioning Cloud Computing Services

Improved Vehicle Classification in Long Traffic Video by Cooperating Tracker and Classifier Modules

Deliverability on the Interstate Natural Gas Pipeline System

university of illinois library AT URBANA-CHAMPAIGN BOOKSTACKS

Neural network-based Load Balancing and Reactive Power Control by Static VAR Compensator

Picture This: Molecular Maya Puts Life in Life Science Animations

RESEARCH SEMINAR IN INTERNATIONAL ECONOMICS. Discussion Paper No The Evolution and Utilization of the GATT/WTO Dispute Settlement Mechanism

PROCEEDS OF CRIME (BUSINESS IN THE REGULATED SECTOR) ORDER 2015

Improved SOM-Based High-Dimensional Data Visualization Algorithm

London Metropolitan Business School

i e AT 6 of 2001 REHABILITATION OF OFFENDERS ACT 2001

An integrated optimization model of a Closed- Loop Supply Chain under uncertainty

Account Contract for Card Acceptance

Strategic Plan. Achieving our 2020 vision. Faculty of Health Sciences

Behavior Analysis-Based Learning Framework for Host Level Intrusion Detection

BUILDING CODE SUMMARY GENERAL NOTES DESIGN BUILD ELECTRICAL DESIGN BUILD MECHANICAL & PLUMBING GENERAL NOTES GENERAL NOTES G101

Trade Information, Not Spectrum: A Novel TV White Space Information Market Model

International Journal of Supply and Operations Management. Mathematical modeling for EOQ inventory system with advance payment and fuzzy Parameters

Entrepreneur s Guide. Starting and Growing a Business in Pennsylvania FEBRUARY newpa.com

Unit 12: Installing, Configuring and Administering Microsoft Server

Paid Placement Strategies for Internet Search Engines

A Theoretical Analysis of Credit Card Reform in Australia *

A Design Environment for Migrating Relational to Object Oriented Database Systems

Robust Classification and Tracking of Vehicles in Traffic Video Streams

TECHNOLOGY-ENHANCED LEARNING FOR MUSIC WITH I-MAESTRO FRAMEWORK AND TOOLS

Impact Simulation of Extreme Wind Generated Missiles on Radioactive Waste Storage Facilities

Parametric model of IP-networks in the form of colored Petri net

protection p1ann1ng report

Customer Reporting for SaaS Applications. Domain Basics. Managing my Domain

Road Map to a Perinatal Patient Safety Program

AT 6 OF 2012 GAMBLING DUTY ACT 2012

The Basics of International Trade: A Classroom Experiment

Discovering Trends in Large Datasets Using Neural Networks

SLA-based Resource Allocation for Software as a Service Provider (SaaS) in Cloud Computing Environments

Fixed-income Securities Lecture 2: Basic Terminology and Concepts. Present value (fixed interest rate) Present value (fixed interest rate): the arb

SCHEME FOR FINANCING SCHOOLS

Transcription:

WORKFLOW CONTROL-FLOW PATTERNS A Revised View Nik Russell 1, Arthur H.M. ter Hofstede 1, 1 BPM Group, Queensland University of Tehnology GPO Box 2434, Brisbane QLD 4001, Australia {n.russell,a.terhofstede}@qut.edu.au Wil M.P. van der Aalst 1,2, Nataliya Mulyar 2 2 Department of Tehnology Management, Eindhoven University of Tehnology PO Box 513, NL-5600 MB Eindhoven, The Netherlands {w.m.p.v.d.aalst,n.mulyar}@tm.tue.nl Abstrat The Workflow Patterns Initiative was established with the aim of delineating the fundamental requirements that arise during business proess modelling on a reurring basis and desribe them in an imperative way. The first deliverable of this researh projet was a set of twenty patterns desribing the ontrol-flow perspetive of workflow systems. Sine their release, these patterns have been widely used by pratitioners, vendors and aademis alike in the seletion, design and development of workflow systems [vdathkb03]. This paper presents the first systemati review of the original twenty ontrol-flow patterns and provides a formal desription of eah of them in the form of a Coloured Petri-Net (CPN) model. It also identifies twenty three new patterns relevant to the ontrol-flow perspetive. Detailed ontext onditions and evaluation riteria are presented for eah pattern and their implementation is assessed in fourteen ommerial offerings inluding workflow and ase handling systems, business proess modelling formalisms and business proess exeution languages. 1 Introdution It has been seven years sine the Workflow Patterns Initiative first ommened identifying the ore arhitetural onstruts inherent in workflow tehnology [vdabthk00, vdathkb03]. The original objetive was to delineate the fundamental requirements that arise during business proess modelling on a reurring basis and desribe them in an imperative way. A patterns-based approah was taken to desribing these requirements as it offered both a language-independent and tehnology-independent means This researh is onduted in the ontext of the Patterns for Proess-Aware Information Systems (P4PAIS) projet whih is supported by the Netherlands Organisation for Sientifi Researh (NWO). It is also reeives partial support from the Australian Researh Counil under the Disovery Grant Expressiveness Comparison and Interhange Failitation between Business Proess Exeution Languages. 1

of expressing their ore harateristis in a form that was suffiiently generi to allow for its appliation to a wide variety of offerings. One of the drivers for this researh was the observation that although many workflow systems were based on similar oneptual underpinnings, they differed markedly in their expressive power and the range of onepts that they were able to apture. Indeed these differenes were so signifiant that it raised the question of how the suitability of speifi tools for speifi purposes might be evaluated. Despite the plethora of workflow systems in both the ommerial and researh domains, there was a notable absene of ore foundational onepts that individual offerings ould be expeted to support or that ould be used as a basis for omparison. This absene differs markedly from other areas of information systems suh as database design or transation management whih are based on formal oneptual foundations that have effetively beome de fato standards. In line with the traditional patterns approahes employed by Alexander [AIS77] and the Gang of Four [GHJV95], that are based on broad survey of existing problems and praties within a partiular domain, the original twenty ontrol-flow patterns were identified through a omprehensive evaluation of workflow systems and proess modelling formalisms. They desribe a series of onstruts that are embodied in existing offers in response to atual modelling requirements. The imperative approah employed in their desription ensures that their intent and funtion is learly presented without mandating a speifi implementation approah. An overriding objetive was that they desribe ontrol-flow harateristis whih it would be desirable to support in a given offering. The publiation of the original patterns in 2000 [vdathkb03] had a galvanising effet on the workflow ommunity. It provided larity to onepts that were not previously well-defined and provided a basis for omparative disussion of the apabilities of individual workflow systems. Amongst some vendors, the extent of patterns support soon beame a basis for produt differentiation and promotion. Although initially foussed on workflow systems, it soon beame lear that the patterns were appliable in a muh broader sense and they were used to examine the apabilities of business proess modelling languages suh as BPMN, UML Ativity Diagrams and EPCs, web servie omposition languages suh as WCSI and business proess exeution languages suh as BPML, XPDL and BPEL. Their overage was also extended to the other lassial workflow perspetives [JB96] and a series of new patterns were identified in the data [RtHEvdA05], resoure [RvdAtHE05] and exeption [RvdAtH06] perspetives. These patterns have been used to extend the reviews desribed above and have provided a series of new insights into the apabilities of partiular offerings. The ontrol-flow patterns have been subjet to ongoing srutiny over the past few years partiularly in terms of their ompleteness and preision. In order to ensure their ontinued relevane, a omprehensive review of the ontrol-flow perspetive has been onduted over the past six months, the results of whih are presented in this doument. As well as assessing their ontinued appliability, one of the major objetives of this review was to thoroughly overhaul the desription of eah of the patterns and to put them on a more formal footing to remove any potential ambiguities that may have previously existed. This has been ahieved by augmenting eah pattern desription with a Coloured Petri-Net model [Jen97] desribing its operation. There is also a more detailed disussion of the operational ontext in whih eah of the pat- 2

terns is intended to funtion and a speifi set of evaluation riteria whih desribe how pattern support is assessed in an offering. This review has onfirmed the ontinued appliability of the original twenty patterns, all of whih ontinue to be widely supported. It has also identified twenty three new patterns whih are appliable to the ontrol-flow perspetive, some of whih are based on refinements of the original patterns and many of whih are the result of ritial assessment of additional fators whih are relevant to the ontrol-flow perspetive. A omprehensive review of patterns support has been onduted in fourteen distint offerings inluding workflow systems (Staffware, WebSphere MQ, COSA, iplanet, SAP Workflow and FileNet), ase handling systems (FLOWer), business proess modelling languages (BPMN, UML 2.0 Ativity Diagrams and EPCs) and business proess exeution languages (BPEL4WS, WebSphere BPEL, Orale BPEL and XPDL). The remainder of this paper proeeds as follows: Setion 2 provides bakground information on the patterns and disusses related work. Setion 3 presents a ompletely revised set of desriptions for the original twenty patterns. Setion 4 douments the new ontrol-flow patterns that have been identified. Setion 5 disusses the results of the produt evaluations whih have been onduted using the omplete set of patterns. Setion 6 disusses the relationships whih exist between the patterns and Setion 7 onludes the paper. 2 Bakground and Related Work The notion of patterns as a means of ategorising reurring problems and solutions in a partiular domain is generally attributed to Christopher Alexander [AIS77] as is the onept of a patterns language for desribing the inter-relationships between speifi patterns. The original patterns work entred on the field of arhiteture, however the onept has general appliability and has been used widely in a number of other domains. It has had most impat however in the field of information tehnology where patterns have been used to ategorise the major onepts in a number of areas inluding system design [GHJV95], business analysis [Hay95, Fow96], business proess design [EP00], software arhiteture [BMR + 96, SSRB00] and enterprise appliation integration [HW04]. The appliation of a patterns-based approah to the identifiation of generi workflow onstruts was first proposed in [vdabthk00], whih identified several ontrolflow patterns relevant to the ontrol-flow perspetive of workflow systems. This work was subsequently expanded to enompass twenty ontrol-flow patterns together with a formalisation and analysis of their implementation in fifteen ommerial and researh workflow systems. This work triggered researh efforts in two main diretions: the first of these being the use of the patterns to establish a formal basis for understanding the requirements of the ontrol-flow perspetive, the seond being the use of the patterns to evaluate the apabilities of a series of business proess modelling languages and web servies standards. In [Kie03], the patterns were used to motivate an investigation into the fundamentals of workflow tehnology, in partiular the expressiveness of various approahes to implementing ontrol-flow onstruts in workflow systems. In [DtH01], 3

they were first utilised to examine the apabilities of speifi modelling languages, in this ase UML 1.4 Ativity Diagrams, in an effort to understand its strengths, weaknesses and also to suggest areas for possible improvement. This researh strategy led to a series of subsequent investigations into the expressiveness of languages inluding BPEL4WS [WvdADtH03], BML [WPDtH03], UML 2.0 Ativity Diagrams [WvdAD + 05b, RvdAtHW06] and BPMN [Whi04, WvdAD + 05a]. The original workflow patterns foussed on the ontrol-flow perspetive, however as noted in [JB96], a omprehensive desription of a workflow proess also requires onsideration of the data and resoure perspetives. With this requirement in mind, the Workflow Patterns Initiative was subsequently extended to inlude 40 patterns in the data perspetive [RtHEvdA05] and 43 patterns in the resoure perspetive [RtHEvdA05, RvdAtHE05]. Subsequent researh [RvdAtH06] has also investigated inter-relationships between these perspetives and has proposed a patterns-based approah to workflow exeption handling. There has also been researh into the use of patterns for haraterising servie interations [BDtH05]. Most reently, the Workflow Pattern Speifiation Language (WPSL) [MvdAtHR06] has been developed. This is a formal language motivated by the workflow patterns whih provides a deterministi basis for apturing and omparing the ontrol-flow apabilities of Proess-Aware Information Systems (PAISs). The workflow patterns have provided the oneptual basis for the YAWL workflow system [vdath05]. YAWL is an aronym for Y et Another W orkflow Language, an initiative that aims to provide both a workflow language that is based on the workflow patterns and also an open-soure referene implementation that demonstrates the manner in whih these onstruts an interoperate. Sine their release, the workflow patterns have been used for a wide variety of purposes inluding evaluation of PAISs, tool seletion, proess design, eduation and training. They have been enthusiastially reeived by both industry pratitioners and aademis alike. The original Workflow Patterns paper has been ited by over 150 aademi publiations and the workflow patterns website has been visited more than 40,000 times. Full details an be found at http://www.workflowpatterns.om. The webpage also ontains an impat page desribing the tangible effet of the patterns. Many organizations around the globe and in partiular in The Netherlands have used the patterns for workflow management system seletion. The patterns have also diretly influened the development of many aademi and ommerial tools and have influened the development of standards inluding BPMN and BPEL. The ontribution of this paper to the problem domain is twofold: (1) it provides a ritial evaluation of the existing patterns on a formal basis using CPN Tools and (2) it defines 23 new patterns whose semantis are also formalised and expressed in terms of CPN Tools. 3 A Review of the Original Control-Flow Patterns In this setion, we examine the original twenty ontrol-flow patterns and revise their definitions. The format in whih eah pattern is presented has been signifiantly expanded to inorporate a more detailed desription of the pattern and a more omprehensive rationale for its usage. One of the major areas of ambiguity in regard to the original desriptions related 4

to varying interpretations of their appliability and operation. In an effort to remove this area of unertainty, we provide a detailed definition of the operational semantis of eah pattern in the form of a Coloured Petri-Net (CPN) diagram 1 [Jen97] together with the ontext onditions that apply to the pattern. One again, we examine the operational support for the pattern aross a series of ontemporary offerings in the business proess management field and we extend the range of produts we review to inlude not only urrent ommerial workflow and ase handling produts, but also business proess modelling notations suh as BPMN, EPCs and UML 2.0 Ativity Diagrams and business proess exeution languages suh as XPDL and BPEL. A signifiant hange in the manner in whih this proess is undertaken is the establishment of a definitive set of evaluation riteria for rating patterns support in a given offering. Details of these riteria are inluded for eah pattern. 3.1 Review and Augmentation of the Original Control-Flow Patterns The original set of twenty patterns in the ontrol-flow perspetive were derived from a detailed examination of ontemporary workflow systems and business proess modelling notations in order to identify generi, reurring onstruts. They have proven to be extremely popular with both theoretiians and pratitioners alike as they provide a useful basis for disussing and omparing the apabilities and expressiveness of individual offerings in a manner whih is independent of speifi modelling formalisms and implementation tehnologies. More reently, it has beome lear that there are a number of additional senarios in the ontrol-flow perspetive that require ategorization. Moreover, there are several of the original patterns that would benefit from a more preise desription in order to remove potential ambiguities in relation to the onepts that they are intended to represent. Indeed with a more rigorous foundation, it beomes possible to further refine several of the patterns into forms that more effetively desribe and distinguish between the distint situations to whih they might be appliable. As a onsequene of this refletion there have been some hanges to the existing pattern definitions and the identifiation of twenty three new patterns, some of them new and some based on speializations of existing patterns. The original Synhronizing Merge pattern did not adequately differentiate between possible ontext assumptions, eah of whih has a distint semantis. Consequently, it has now been divided into three distint patterns: the Strutured Synhronizing Merge (WCP-7), whih restrits the original pattern to use in a strutured workflow ontext and sees it take the form of a join whih is paired with a speifi preeding Multi-Choie i.e. there is a one-to-one orrespondene between split and join; the Ayli Synhronizing Merge (WCP-37), whih reognizes tratable OR-join implementations, based on onventions suh as true/false token passing, whih allow their evaluation to be based on information diretly available to the merge (i.e. loal semantis) but whih are unable to deal with loops; and 1 We use CPN Tools for preparation and validation of these models, opies of whih are available from http://www.workflowpatterns.om. More details on CPN Tools an be found at http:// wiki.daimi.au.dk/pntools/ 5

the General Synhronizing Merge (WCP-38), whih denotes a general solution to OR-join evaluation based on a thorough analysis of the urrent and potential future states of a proess instane (i.e. non-loal semantis). In a similar vein, the original Disriminator pattern did not differentiate between distint implementation approahes and the degree to whih they were able to deal with onurreny within a proess instane. It is now reognized as having three distint forms: the Strutured Disriminator (WCP-9), where it operates in a safe and strutured workflow ontext (i.e. it is assumed that eah branh exeutes preisely one before a reset takes plae and there is a one-to-one orrespondene between splits and joins); the Bloking Disriminator (WCP-28), where onurreny within a proess instane is dealt with by bloking additional exeution threads within a given branh until the disriminator has reset; and the Canelling Disriminator (WCP-29), where remaining inoming branhes whih are still exeuting after the disriminator fires are anelled. The Partial (or N-out-of-M) Join pattern, whih had previously only been denoted as a sub-ase of the Disriminator, is now also reognized as a pattern in its own right with three distint forms: the Strutured Partial Join (WCP-30), the Bloking Partial Join (WCP-31) and the Canelling Partial Join (WCP-32). The Strutured Loop (WCP-21) pattern has been introdued to deal with more restritive forms of iteration suh as while and repeat loops whih are not adequately overed by the Arbitrary Cyles pattern. Similarly the Reursion pattern (WCP-22) overs repetitive ativity exeution whih is based on self-invoation. Existing multiple instane patterns assume that all ativity instanes must omplete before a subsequent ativity an be enabled. In reognition that more effiient means exist of implementing onurreny with respet to overall proess exeution and determination as to when the proess an proeed beyond the multiple instane task, three new patterns have been introdued: the Stati Partial Join for Multiple Instanes (WCP-34), the Canelling Partial Join for Multiple Instanes (WCP-35) and the Dynami Partial Join for Multiple Instanes (WCP-36). The ability to respond to external signals within a proess instane was not well overed by the original patterns other than by the Deferred Choie (WCP-16) whih allows a deision regarding possible exeution paths to be based on environmental input. To remedy this, two new patterns are introdued to denote the ability of external signals to affet proess exeution. These are the Transient Trigger (WCP- 23) and the Persistent Trigger (WCP-24). The Interleaved Parallel Routing pattern (WCP-17) is extended to two new patterns: the Critial Setion pattern (WCP-39), whih provides the ability to prevent onurrent exeution of speifi parts of a proess; and the Interleaved Routing pattern (WCP-40), whih denotes situations where a group of ativities an be exeuted sequentially in any order. Previous notions of anellation only related to individual ativities and omplete proess instanes (ases). In order to deal with anellation in a more general sense, 6

the Canel Region pattern (WCP-25) has been introdued, whih allows for arbitrary groups of ativities in a proess to be anelled during exeution. Similarly, in reognition that the semantis of anelling a multiple instane ativity is different to those assoiated with anelling a normal ativity, the Canel Multiple Instane Ativity (WCP-26) pattern has also been inluded and there is also a Complete Multiple Instane Ativity (WCP-27) to handle the situation where a multiple instane ativity is fored to omplete during exeution. Other new inlusions are the Generalised AND-Join pattern (WCP-33) whih defines a model of AND-join operation for use in highly onurrent proesses, Thread Merge (WCP-41) and Thread Split (WCP-42) whih provide for oalesene and divergene of distint threads of ontrol along a single branh and Expliit Termination (WCP-43) whih provides an alternative approah to defining proess ompletion. 3.2 Context Assumptions As far as possible, eah pattern is illustrated using the Coloured Petri-Net (CPN) formalism. This allows us to provide a preise desription of eah pattern that is both deterministi and exeutable. This approah beomes inreasingly important with some of the revised pattern definitions (as well as for some of the new patterns) as the atual ontext in whih the pattern an our requires detailed desription. There are some blanket assumptions that apply to all of the CPN models used in this paper. For eah of them, we adopt a notation in whih input plaes are labelled i1...in, output plaes are labelled o1...on, internal plaes are labelled p1...pn and transitions are labelled A...Z. In the ase where either plaes or transitions serve a more signifiant role in the ontext of the pattern, they are given more meaningful names (e.g. buffer or anti-plae). In general, transitions are intended to represent tasks or ativities in proesses and plaes are the preeding and subsequent states whih desribe when the ativity an be enabled and what the onsequenes of its ompletion are. Unless stated otherwise, we assume that the tokens flowing through a CPN model that signify ontrol-flow are typed (short for Case ID ) and that eah exeuting ase (i.e. proess instane) has a distint ase identifer. For most patterns, the assumption is also made that the model is safe i.e. that eah plae in the model an only ontain at most one token (i.e. one thread of ontrol for eah ase urrently being exeuted). This provides larity in regard to the way in whih eah of the CPN models desribing pattern operation are intended to funtion. Safe behaviour is not a mandatory quality of workflow systems. Some of the systems that we examine during the ourse of this paper, do implement safe proess models whilst others do not. Where a system does provide a safe exeution environment, this is typially ahieved in one of two ways: either (1) during exeution, the state of a given ase is never allowed to transition into an unsafe state. This is the approah adopted by COSA, whih bloks an ativity s exeution where it has a token in the plae immediately after it and allowing it to exeute ould potentially result in an unsafe state (i.e. the following plae having two tokens in it). The other alternative (2) is to detet any unsafe situations that may arise and migrate them to safe states. An example of this is the strategy employed by Staffware (often referred to as the Pa-Man approah ) where any additional triggerings reeived by an ativity that is urrently exeuting are oalesed into the same thread of ontrol 7

resulting in a single thread of ontrol being delivered to outgoing branhes when the ativity ompletes. These variations in the ways in whih distint offerings implement onurreny with a proess instane lead to differenes in the ranges of patterns that they are able to support and the means by whih they realise them. In the following setions, we will provide preise desription of eah pattern and examine the approahes to their implementation taken by various workflow tools and business proess modelling languages. 3.3 Revisiting the Original Patterns This setion presents a revised desription of the original twenty ontrol-flow patterns previously presented in [vdathkb03]. Although this material is motivated by earlier researh onduted as part of the Workflow Patterns Initiative 2, the desriptions for eah of these patterns have been thoroughly revised and a new set of evaluations have been undertaken. In several ases, detailed review of a pattern has indiated that there are potentially several distint ways in whih the original pattern ould be interpreted and implemented. In order to resolve these ambiguities, we have taken the deision to base the revised definition of the original pattern on the most restritive interpretation of its operation and to delineate this from other possible interpretations that ould be made. In several situations, a substantive ase exists for onsideration of these alterative operational senarios and where this applies, these are presented in the form of new ontrol-flow patterns in Setion 4. 3.3.1 Basi Control-Flow Patterns This lass of patterns aptures elementary aspets of proess ontrol and are similar to the definitions of these onepts initially proposed by the Workflow Management Coalition (WfMC) [Wor99]. Pattern WCP-1 (Sequene) Desription An ativity in a workflow proess is enabled after the ompletion of a preeding ativity in the same proess. Synonyms Sequential routing, serial routing. Examples The verify-aount ativity exeutes after the redit ard details have been aptured. The odail-signature ativity follows the ontrat-signature ativity. A reeipt is printed after the train tiket is issued. Motivation The Sequene pattern serves as the fundamental building blok for workflow proesses. It is used to onstrut a series of onseutive ativities whih exeute in turn one after the other. Two ativities form part of a Sequene if there is a ontrol-flow edge from one of them to the next whih has no guards or onditions assoiated with it. Context Figure 1 illustrates the Sequene pattern using the Coloured Petri-Net (CPN) formalism. 2 See http://www.workflowpatterns.om for further details. 8

i1 A p1 B o1 Figure 1: Sequene pattern Implementation The Sequene pattern is widely supported and all of the workflow systems and business proess modelling languages examined diretly implement it. Issues Although all of the offerings examined implement the Sequene pattern, there are however, subtle variations in the manner in whih it is supported. In the main, these differenes entre on how individual offerings deal with onurreny within a given proess instane and also between distint proess instanes. In essene these variations are haraterised by whether the offering implements a safe proess model or not. In CPN terms, this orresponds to whether eah of the plaes in the proess model suh as that in Figure 1 are 1-bounded (i.e. an only ontain at most one token for a ase) or not. Solutions This issue is handled in a variety of differing ways. BPMN, XPDL and UML 2.0 Ativity Diagrams assume the use of a token-based approah to managing proess instanes and distinguishing between them, although no details are given as to how this atually ours. Further, although individual tokens are assumed to be onserved during exeution of a proess instane, it is possible for an ativity, split or join onstrut to speifially add or remove tokens during exeution beyond what would reasonably be expeted. Staffware simply ignores the issue and where a step reeives two threads (or more) of exeution at the same time, they are simply oalesed into a single firing of the step (thus resulting in rae onditions). COSA adopts a prevention strategy, both by implementing a safe proess model and also by disabling the ativity(s) preeding a urrently enabled ativity and not allowing the preeding ativity(s) to fire until the subsequent ativity has ompleted. Evaluation Criteria Full support for this pattern is demonstrated by any offering whih is able to provide a means of speifying the exeution sequene of two (or more) ativities. This may be based on direted ars between ativities or rules speifying the overall exeution sequene. Pattern WCP-2 (Parallel Split) Desription The divergene of a branh into two or more parallel branhes eah of whih exeute onurrently. Synonyms AND-split, parallel routing, parallel split, fork. Examples After ompletion of the apture enrolment ativity, run the reate student profile and issue enrolment onfirmation ativities simultaneously. When an intrusion alarm is reeived, trigger the despath patrol ativity and the inform polie ativity immediately. One the ustomer has paid for the goods, issue a reeipt and pak them for despath. Motivation The Parallel Split pattern allows a single thread of exeution to be split into two or more branhes whih an exeute ativities onurrently. These branhes may or may not be re-synhronized at some future time. 9

Context Figure 2 illustrates the implementation of the Parallel Split. After ativity A has ompleted, two distint threads of exeution are initiated and ativities B and C an proeed onurrently. i1 A p1 p2 B C o1 o2 Figure 2: Parallel split pattern Implementation The Parallel Split pattern is implemented by all of the offerings examined. It may be depited either expliitly or impliitly in proess models. Where it is represented expliitly, a speifi onstrut exists for the Parallel Split with one inoming edge and two or more outgoing edges. Where it is represented impliitly, this an be done in one of two ways: either (1) the edge representing ontrol-flow an split into two (or more) distint branhes or (2) the ativity after whih the Parallel Split ours has multiple outgoing edges whih do not have any onditions assoiated with them. Of the offerings examined, Staffware, WebSphere MQ, FLOWer, COSA and iplanet represent the pattern impliitly. SAP Workflow, EPCs and BPEL 3 do so with expliit branhing onstruts. UML 2.0 ADs, BPMN and XPDL allow it to be represented in both ways. Issues None identified. Solutions N/A. Evaluation Criteria Full support for this pattern is demonstrated by any offering that provides a onstrut (either impliit or expliit) that allows the thread of ontrol at a given point in a proess model to be split into two or more onurrent branhes. Pattern WCP-3 (Synhronization) Desription The onvergene of two or more branhes into a single subsequent branh suh that the thread of ontrol is passed to the subsequent branh when all input branhes have been enabled. Synonyms AND-join, rendezvous, synhronizer. Examples The despath-goods ativity runs immediately after both the hek-invoie and produe-invoie ativities are ompleted. 3 In general, the two BPEL implementations examined WebSphere BPEL (whih is part of WebSphere Proess Server) and Orale BPEL provide a relatively faithful implementation of the BPEL 1.1 speifiation hene the evaluation results are idential for all three offerings. For this reason in this paper we do not list them individually unless there is a variation between them. 10