Скачать презентацию Chapter 2 The Language Rationale and Fundamentals Part Скачать презентацию Chapter 2 The Language Rationale and Fundamentals Part

c2bcffce49d877c7667f5df991651f52.ppt

  • Количество слайдов: 124

Chapter 2 The Language: Rationale and Fundamentals (Part IV) Nick Russell Arthur ter Hofstede Chapter 2 The Language: Rationale and Fundamentals (Part IV) Nick Russell Arthur ter Hofstede a university for the real world R © 2009, www. yawlfoundation. org

Outline • Part I – Petri nets – Workflow nets – Reset nets • Outline • Part I – Petri nets – Workflow nets – Reset nets • Part II – Background – Wf. MS and PAIS – Conceptual Foundations • the Workflow Patterns Initiative – Control-flow patterns • Part III – Control-flow in YAWL • Part IV – Data patterns – Resource patterns real a university for the © 2009, www. yawlfoundation. org world R 2

Workflow Patterns Framework time 2000 2003 Jun 2005 Resource P: s - 43 Control-flow Workflow Patterns Framework time 2000 2003 Jun 2005 Resource P: s - 43 Control-flow P: s 20 Oct 2005 Data P: s - 40 W. van der Aalst A. ter Hofstede B. Kiepuszewski A. Barros N. Russell W. van der Aalst A. ter Hofstede D. Edmond The ordering of activities in a process Resource definition Data representation & work distribution and handling in a process Coop. IS’ 2000 DAPD’ 2003 CAi. SE’ 2005 N. Russell A. ter Hofstede D. Edmond W. van der Aalst ER’ 2005 Sep 2006 Jun 2006 revised Control-flow P: s 43 Exception P: s N. Russell A. ter Hofstede W. van der Aalst A. ter Hofstede N. Mulyar Exception handling - 23 new patterns in. Formalised in - a process CPN notation TR CAi. SE’ 2006 These perspectives follow S. Jablonski and C. Bussler’s classification from: Workflow Management: Modeling Concepts, Architecture, and Implementation. International Thomson Computer Press, 1996 www. workflowpatterns. com real a university for the © 2009, www. yawlfoundation. org world R 3

Workflow Patterns Framework The Workflow Data Patterns real a university for the © 2009, Workflow Patterns Framework The Workflow Data Patterns real a university for the © 2009, www. yawlfoundation. org world R 4

Data Pattern Categories Data Visibility: § The extent and manner in which data elements Data Pattern Categories Data Visibility: § The extent and manner in which data elements can be viewed and utilised by workflow components. Internal Data Interaction: § Data communication between active elements within a workflow. External Data Interaction: § Data communication between active elements within a workflow and the external operating environment. Data Transfer: § Data element transfer across the interface of a workflow component. Data Routing: § The manner in which data elements can influence the operation of the workflow. real a university for the © 2009, www. yawlfoundation. org world R 5

Data Visibility Patterns The extent and manner in which data elements can be viewed Data Visibility Patterns The extent and manner in which data elements can be viewed by workflow components § § § § Task data Block data Scope data Multiple instance data Case data Folder data Workflow data Environment data real a university for the © 2009, www. yawlfoundation. org world R 6

Data Visibility Scopes real a university for the © 2009, www. yawlfoundation. org world Data Visibility Scopes real a university for the © 2009, www. yawlfoundation. org world R 7

Task Data visibility restricted to single task instance Staffware + Web. Sph ere +/- Task Data visibility restricted to single task instance Staffware + Web. Sph ere +/- FLOWer +/- COSA + YAWL + BPMN + BPEL +/- UML 2. 0 ADs real a university for the © 2009, www. yawlfoundation. org world +/- R 8

Block Data visibility restricted to tasks in single block or workflow net in a Block Data visibility restricted to tasks in single block or workflow net in a process instance Staffware Web. Sphere +/- COSA + YAWL + BPMN + BPEL - UML 2. 0 ADs real + FLOWer a university for the © 2009, www. yawlfoundation. org world + + R 9

Scope Data visibility restricted to set of tasks in single process instance Staffware Web. Scope Data visibility restricted to set of tasks in single process instance Staffware Web. Sph ere - FLOWer +/- COSA - YAWL - BPMN - BPEL + UML 2. 0 ADs real a university for the © 2009, www. yawlfoundation. org world - R 10

Multiple Instance Data Multiple instance: -Designated multiple instance task -Shared implementation of decomposed tasks Multiple Instance Data Multiple instance: -Designated multiple instance task -Shared implementation of decomposed tasks -Multiply triggered task real a university for the © 2009, www. yawlfoundation. org world R 11

Multiple Instance Data Solutions • UML 2. 0 AD Supported + Expansion. Kind + Multiple Instance Data Solutions • UML 2. 0 AD Supported + Expansion. Kind + Loop + Shared decomp. • BPMN Partially supported - MI + Loop + Shared decomp. real a university for the © 2009, www. yawlfoundation. org world R 12

Case Data visibility restricted to all tasks in single process instance Staffware Web. Sphere Case Data visibility restricted to all tasks in single process instance Staffware Web. Sphere + COSA + YAWL - BPMN + BPEL + UML 2. 0 ADs real + FLOWer a university for the © 2009, www. yawlfoundation. org world +/- - R 13

Folder Data case-1 use(folder-A) Case data repository B C use(X) folder-A A use(X) def Folder Data case-1 use(folder-A) Case data repository B C use(X) folder-A A use(X) def var X A B C use(X) folder-B def var Y case-2 use(folder-A) use(X) use(folder-A, folder-B) case-3 A C use(X, Y) real B use(X, Y) a university for the © 2009, www. yawlfoundation. org world R 14

Task and Block Data in YAWL task data block data real a university for Task and Block Data in YAWL task data block data real a university for the © 2009, www. yawlfoundation. org world R 15

Data Interaction Patterns: Internal Data communication between active elements within a workflow § § Data Interaction Patterns: Internal Data communication between active elements within a workflow § § § Data interaction between tasks Block task to sub-workflow decomposition Sub-workflow decomposition to block task To multiple instance task From multiple instance task Case to case real a university for the © 2009, www. yawlfoundation. org world R 16

Data Interaction between Tasks Integrated Control and Data Channels pass(X, Y) A B use(X) Data Interaction between Tasks Integrated Control and Data Channels pass(X, Y) A B use(X) use(X, Y) pass(Y) C use(Y) § Single integrated control-flow and data channel § Synchronous passing of control-flow and data between preceding and subsequent task(s) § Data passing approach used by YAWL and BPEL real a university for the © 2009, www. yawlfoundation. org world R 17

Data Interaction between Tasks Approach 1: Integrated Conrol and Data Channels real a university Data Interaction between Tasks Approach 1: Integrated Conrol and Data Channels real a university for the © 2009, www. yawlfoundation. org world R 18

Data Interaction between Tasks Distinct Control and Data Channels A B C use(X, Y) Data Interaction between Tasks Distinct Control and Data Channels A B C use(X, Y) use(X) use(Y) pass(X) pass(Y) • Different control-flow and data channel • Timing considerations in order to ensure both control-flow and data arrive at tasks at the required time • Used by Web. Sphere where data passing is based on the notion of containers sent between tasks real a university for the © 2009, www. yawlfoundation. org world R 19

Data Interaction between Tasks Approach 2: Distinct Control-Flow and Data Channels real a university Data Interaction between Tasks Approach 2: Distinct Control-Flow and Data Channels real a university for the © 2009, www. yawlfoundation. org world R 20

Data Interaction between Tasks No Explicit Data Passing Global Shared Data def var X Data Interaction between Tasks No Explicit Data Passing Global Shared Data def var X def var Y A B C use(X, Y) use(X) use(Y) • No explicit data passing • Data elements held in global data store and used by tasks when required • Data passing approach used by Staffware, FLOWer, COSA, BPMN, etc. real a university for the © 2009, www. yawlfoundation. org world R 21

Data Interaction between Tasks Approach 3: Global Data Store real a university for the Data Interaction between Tasks Approach 3: Global Data Store real a university for the © 2009, www. yawlfoundation. org world R 22

Task-to-Task Data Interaction in YAWL via net variables real a university for the © Task-to-Task Data Interaction in YAWL via net variables real a university for the © 2009, www. yawlfoundation. org world R 23

Data Interaction: Task to/from Subworkflow Approach 1: Implicit Data Passing • Data in the Data Interaction: Task to/from Subworkflow Approach 1: Implicit Data Passing • Data in the block task is accessible to all sub-tasks which make up the underlying implementation. i. e. the main block task and the corresponding subworkflow share the same address space • No explicit data passing is necessary. • Data passing approach used by FLOWer, COSA, BPMN real a university for the © 2009, www. yawlfoundation. org world R 24

Data Interaction: Task to/from Subworkflow Approach 2: Explicit Data Passing using Parameters • Data Data Interaction: Task to/from Subworkflow Approach 2: Explicit Data Passing using Parameters • Data elements in the block task must be specifically passed as parameters to the underlying subworkflow • Mapping strategy required between block and subworkflow data elements • Data passing approach used by YAWL, Web. Sphere MQ, BPMN, UML 2. 0 ADs real a university for the © 2009, www. yawlfoundation. org world R 25

Data Interaction: Task to/from Subworkflow Approach 3: Explicit Data Passing using Data Channels • Data Interaction: Task to/from Subworkflow Approach 3: Explicit Data Passing using Data Channels • Data elements in the block task are specifically passed via data channels to all tasks in the subworkflow that require access to them • Data passing approach used by Staffware real a university for the © 2009, www. yawlfoundation. org world R 26

Task to Subprocess Data Interaction in YAWL real a university for the © 2009, Task to Subprocess Data Interaction in YAWL real a university for the © 2009, www. yawlfoundation. org world R 27

Data Interaction – To/From Multiple Instance Tasks Instance-Specific Data Passed by Value A use(M) Data Interaction – To/From Multiple Instance Tasks Instance-Specific Data Passed by Value A use(M) pass(M) (not supported in UML 2. 0, BPMN) instances B 3 use(m[3]) B 2 use(m[2]) pass(M) C use(M) B 1 use(m[1]) multiple instance task real a university for the © 2009, www. yawlfoundation. org world R 28

Data Interaction – To/From Multiple Instance Tasks shared data storage Instance-Specific Data Passed by Data Interaction – To/From Multiple Instance Tasks shared data storage Instance-Specific Data Passed by Reference A use(&M) pass(&M) array M: instances B 3 use(*m[3]) B 2 use(*m[2]) pass(&M) 1 2 3 4. . C use(*M) B 1 use(*m[1]) (not supported in BPMN) multiple instance task real a university for the © 2009, www. yawlfoundation. org world R 29

Data Interaction – To/From Multiple Instance Tasks shared data storage Shared Data Passed by Data Interaction – To/From Multiple Instance Tasks shared data storage Shared Data Passed by Reference A use(&M) var M: instances B 3 use(*m[3]) pass(&M) B 2 use(*m[2]) (not supported in UML 2. 0, BPMN) pass(&M) C use(*M) B 1 use(*m[1]) multiple instance task real a university for the © 2009, www. yawlfoundation. org world R 30

MI data in YAWL (source: YAWL User Manual) • Four XQueries are used to MI data in YAWL (source: YAWL User Manual) • Four XQueries are used to specify how data is passed to and from the instances of a multiple instances task. – accessor query for manipulating the overall multiple instance data before the unique values are split out (to individual execution instances); – splitter query for separating the unique values from the overall multiple instance data and passing a unique value to each instance; – instance query for transforming the XML document returned on completion of an instance to a form that is suitable for aggregation; – aggregate query for generating an overall result and passing the result to the higher level on completion of the multiple instance task. real a university for the © 2009, www. yawlfoundation. org world R 31

MI data in YAWL real a university for the © 2009, www. yawlfoundation. org MI data in YAWL real a university for the © 2009, www. yawlfoundation. org world R 32

MI data in YAWL MI task data real a university for the © 2009, MI data in YAWL MI task data real a university for the © 2009, www. yawlfoundation. org world R 33

MI data in YAWL real a university for the © 2009, www. yawlfoundation. org MI data in YAWL real a university for the © 2009, www. yawlfoundation. org world R 34

Data Interaction Support: MI tasks to MI task from MI task Staffware - - Data Interaction Support: MI tasks to MI task from MI task Staffware - - Web. Sphere - - FLOWer + + COSA - - YAWL + + BPMN - - BPEL - - UML 2. 0 ADs + + real a university for the © 2009, www. yawlfoundation. org world R 35

Data Interaction Patterns: External Data communication between active elements within a workflow and the Data Interaction Patterns: External Data communication between active elements within a workflow and the external operating environment. § § § Task to Environment – Push-Oriented Environment to Task – Pull-Oriented Environment to Task – Push-Oriented Task to Environment – Pull-Oriented Case to Environment – Push-Oriented Environment to Case – Pull-Oriented Environment to Case – Push-Oriented Case to Environment – Pull-Oriented Workflow to Environment – Push-Oriented Environment to Workflow – Pull-Oriented Environment to Workflow – Push-Oriented Workflow to Environment – Pull-Oriented real a university for the © 2009, www. yawlfoundation. org world R 36

Data Interaction - Task to/from Environment case pattern 14 B pass(M) D A def Data Interaction - Task to/from Environment case pattern 14 B pass(M) D A def var M E C def var N pattern 15 request(T) external process def var S def var T pass(T) pattern 16 pass(S) pattern 17 request(N) pass(N) real a university for the © 2009, www. yawlfoundation. org world R 37

Data Interaction: Task – Environment - 1 • Interaction initiated by task • Environment Data Interaction: Task – Environment - 1 • Interaction initiated by task • Environment receives data • Task receives data real a university for the © 2009, www. yawlfoundation. org world R 38

Data Interaction: Task – Environment - 2 • Interaction initiated by env. • Task Data Interaction: Task – Environment - 2 • Interaction initiated by env. • Task receives data • Environment receives data real a university for the © 2009, www. yawlfoundation. org world R 39

Data Interaction Support: Task - Environment TEPush ETPull ETPush TEPull Staffware + + +/- Data Interaction Support: Task - Environment TEPush ETPull ETPush TEPull Staffware + + +/- Web. Spher e +/- +/- +/- + + +/- COSA + + YAWL +/- - BPMN + + BPEL + + +/- - - FLOWer UML 2. 0 ADs real a university for the © 2009, www. yawlfoundation. org world R 40

Data Transfer Patterns Focus on the means by which a data element is transferred Data Transfer Patterns Focus on the means by which a data element is transferred across the interface of a workflow component. § § § § Data Transfer by Value – Incoming Data Transfer by Value – Outgoing Data Transfer – Copy In/Copy Out Data Transfer by Reference – Unlocked Data Transfer by Reference – Locked Data Transformation – Input Data Transformation – Output real a university for the © 2009, www. yawlfoundation. org world R 41

Data Transfer by Value var G var H transient variable A use(R) par out Data Transfer by Value var G var H transient variable A use(R) par out par in ret R→G def var S: =G real a university for the © 2009, www. yawlfoundation. org world transient variable B use(S) par out par in ret S→H def var T: =H C use(T) R 42

Data Transfer by Value Staffware - Web. Sphere + FLOWer - COSA +/- YAWL Data Transfer by Value Staffware - Web. Sphere + FLOWer - COSA +/- YAWL + BPMN + BPEL + UML 2. 0 ADs - The ability of a workflow component to receive incoming data elements by value relieving it from the need to have shared names or common address space with the component(s) from which it receives them. real a university for the © 2009, www. yawlfoundation. org world R 43

Data Transformation var G transient variable A use(R) par out par in return transform(R)→G Data Transformation var G transient variable A use(R) par out par in return transform(R)→G def var S: = prepare(G) real a university for the © 2009, www. yawlfoundation. org world B use(S) R 44

Data Transformation Staffware +/- Web. Sphere - FLOWer +/- COSA - YAWL + BPMN Data Transformation Staffware +/- Web. Sphere - FLOWer +/- COSA - YAWL + BPMN - BPEL +/- UML 2. 0 ADs + Ability to apply a transformation function to a data element during passing between workflow components. real a university for the © 2009, www. yawlfoundation. org world R 45

Data Transfer and Transformation in YAWL real a university for the © 2009, www. Data Transfer and Transformation in YAWL real a university for the © 2009, www. yawlfoundation. org world R 46

Data Routing Patterns Focus on the manner in which data elements can influence the Data Routing Patterns Focus on the manner in which data elements can influence the operation of the workflow § § § § Task Precondition - Data Existence Task Precondition - Data Value Task Postcondition – Data Existence Task Postcondition - Data Value Event-based Task Trigger Data-based Routing real a university for the © 2009, www. yawlfoundation. org world R 47

Task Postcondition – Data Existence not exists(R) A use(R) par out return(R) postcondition exist(R) Task Postcondition – Data Existence not exists(R) A use(R) par out return(R) postcondition exist(R) real a university for the © 2009, www. yawlfoundation. org world par in def var S: =R B use(S) R 48

Event-based Task Trigger Start_A() task Start_B() Start_C() task real a university for the © Event-based Task Trigger Start_A() task Start_B() Start_C() task real a university for the © 2009, www. yawlfoundation. org world R 49

Data-based Routing workflow repository def var M 2. 7 case repository def var N Data-based Routing workflow repository def var M 2. 7 case repository def var N AB 02 case B R > 10 A par out M > 3. 1 ret R C N <> AB 01 D real a university for the © 2009, www. yawlfoundation. org world R 50

Data-based Routing Staffware +/- Web. Sphere + FLOWer +/- COSA + YAWL + BPMN Data-based Routing Staffware +/- Web. Sphere + FLOWer +/- COSA + YAWL + BPMN + BPEL + UML 2. 0 ADs + The ability to alter the control flow within a workflow case as a consequence of the value of data-based expressions real a university for the © 2009, www. yawlfoundation. org world R 51

Data-based Routing in YAWL real a university for the © 2009, www. yawlfoundation. org Data-based Routing in YAWL real a university for the © 2009, www. yawlfoundation. org world R 52

 Data Perspective: Evaluation real a university for the © 2009, www. yawlfoundation. org Data Perspective: Evaluation real a university for the © 2009, www. yawlfoundation. org world 1 – YAWL 2 – BPMN 3 – BPEL R 53

Data Patterns: General Findings § Workflow data patterns generalise to all forms of PAIS Data Patterns: General Findings § Workflow data patterns generalise to all forms of PAIS – All patterns observed in surveyed tools; – Wide variations in support between tools. § Data support for concurrent processes is limited: – Lack of concurrency control; – Minimal support for multiple instance tasks. § Direct support for data patterns in current design tools is limited; and § Current standards (e. g. XPDL, BPEL) do not provide useful guidance of data usage in workflow. real a university for the © 2009, www. yawlfoundation. org world R 54

Workflow Patterns Framework The Workflow Resource Patterns real a university for the © 2009, Workflow Patterns Framework The Workflow Resource Patterns real a university for the © 2009, www. yawlfoundation. org world R 55

Workflow Resource Patterns • Focus on the manner in which work is offered to, Workflow Resource Patterns • Focus on the manner in which work is offered to, allocated to and managed by workflow participants • Consider both the system and resource perspectives • Assume the existence of a process model and related organisational model • Take into account differing workflow paradigms: – – richness of process model (esp. allocation directives) autonomy of resources alternate routing mechanisms work management facilities real a university for the © 2009, www. yawlfoundation. org world R 56

Resource Patterns Classes • Creation patterns: design-time work allocation directives • Push patterns: workflow Resource Patterns Classes • Creation patterns: design-time work allocation directives • Push patterns: workflow system proactively distributes work items • Pull patterns: resources proactively identify and commit to work items • Detour patterns: re-routing of work items • Auto-start patterns: automated commencement • Visibility patterns: observability of workflow activities • Multiple resource patterns: work allocation involving multiple participants or resources real a university for the © 2009, www. yawlfoundation. org world R 57

Work Item Lifecycle S: offer-s offered to a single resource suspended R: start-s R: Work Item Lifecycle S: offer-s offered to a single resource suspended R: start-s R: allocate-s R: suspend R: resume S: created allocated to a single resource S: allocate R: complete R: start R: allocate-m S: offer-m R: start-m offered to multiple resources real a university for the © 2009, www. yawlfoundation. org world started completed R: failed R 58

Creation Patterns Design time considerations relating to which resources may execute a work item Creation Patterns Design time considerations relating to which resources may execute a work item at runtime § § § Direct Allocation Role-Based Allocation Deferred Allocation Authorisation Separation of Duties Case Handling Retain Familiar Capability-Based Allocation History-Based Allocation Organisational Allocation Automatic Execution real a university for the © 2009, www. yawlfoundation. org world R 59

Creation Patterns offered to a single resource S: offer-s suspended R: start-s R: allocate-s Creation Patterns offered to a single resource S: offer-s suspended R: start-s R: allocate-s R: suspend R: resume S: created allocated to a single resource S: allocate S: offer-m R: allocate-m offered to multiple resources real a university for the © 2009, www. yawlfoundation. org world R: start-m started R: fail completed R: complete failed R 60

Direct Allocation The ability to directly specify at design time the identity of the Direct Allocation The ability to directly specify at design time the identity of the resource that will execute a task. Staffware Web. Sphere + COSA + YAWL + BPMN + Oracle BPEL + UML 2. 0 ADs real + FLOWer a university for the © 2009, www. yawlfoundation. org world + + R 61

Direct Allocation in YAWL real a university for the © 2009, www. yawlfoundation. org Direct Allocation in YAWL real a university for the © 2009, www. yawlfoundation. org world R 62

Role-based Allocation • The ability to specify at design time that a task can Role-based Allocation • The ability to specify at design time that a task can only be executed by resources which correspond to a given role. • Actual decision for distribution is deferred till runtime and can be influenced without changing workflow specification (thus providing more flexibility). Staffware + Web. Sphere FLOWer + YAWL + BPMN + Oracle BPEL + UML 2. 0 ADs real + COSA a university for the © 2009, www. yawlfoundation. org world + + R 63

Role-based Allocation in YAWL real a university for the © 2009, www. yawlfoundation. org Role-based Allocation in YAWL real a university for the © 2009, www. yawlfoundation. org world R 64

Deferred Allocation • The ability to defer specifying the identity of the resource that Deferred Allocation • The ability to defer specifying the identity of the resource that will execute a task until runtime • Takes deferral of resource allocation one step further • Can be achieved through a variable that contains actual resource(s) to be used real a university for the © 2009, www. yawlfoundation. org world R 65

Deferred Allocation real a university for the © 2009, www. yawlfoundation. org world R Deferred Allocation real a university for the © 2009, www. yawlfoundation. org world R 66

Separation of Duties • The ability to specify that two tasks must be allocated Separation of Duties • The ability to specify that two tasks must be allocated to different resources in a given workflow case. • Also referred to as the “ 4 eyes principle” Staffware Web. Sphere + COSA +/- YAWL + BPMN - Oracle BPEL - UML 2. 0 ADs real + FLOWer a university for the © 2009, www. yawlfoundation. org world - - R 67

Separation of Duties in YAWL real a university for the © 2009, www. yawlfoundation. Separation of Duties in YAWL real a university for the © 2009, www. yawlfoundation. org world R 68

Retain Familiar • Where several resources are available to undertake a work item, the Retain Familiar • Where several resources are available to undertake a work item, the ability to allocate a work item within a given workflow case to the same resource that undertook a preceding work item. Staffware Web. Sphere + COSA + YAWL + BPMN - Oracle BPEL + UML 2. 0 ADs real + FLOWer a university for the © 2009, www. yawlfoundation. org world - - R 69

Retain Familiar in YAWL real a university for the © 2009, www. yawlfoundation. org Retain Familiar in YAWL real a university for the © 2009, www. yawlfoundation. org world R 70

Capability-based Allocation The ability to offer or allocate instances of a task to resources Capability-based Allocation The ability to offer or allocate instances of a task to resources based on specific capabilities that they possess. Staffware Web. Sphere + COSA + YAWL + BPMN - Oracle BPEL + UML 2. 0 ADs real - FLOWer a university for the © 2009, www. yawlfoundation. org world - - R 71

Capability-based Allocation in YAWL real a university for the © 2009, www. yawlfoundation. org Capability-based Allocation in YAWL real a university for the © 2009, www. yawlfoundation. org world R 72

Push Patterns • Correspond to situations where newly created work items are proactively routed Push Patterns • Correspond to situations where newly created work items are proactively routed to resources by the workflow system • Key dimensions: – – Offer or allocation Single or multiple resources Basis of allocation Timing of distribution vs enablement real a university for the © 2009, www. yawlfoundation. org world R 73

Push Patterns offered to a single resource S: offer-s suspended R: start-s R: allocate-s Push Patterns offered to a single resource S: offer-s suspended R: start-s R: allocate-s R: suspend R: resume S: created allocated to a single resource S: allocate S: offer-m R: allocate-m offered to multiple resources real a university for the © 2009, www. yawlfoundation. org world R: start-m started R: fail completed R: complete failed R 74

Push Patterns § § § § § Distribution by Offer - Single Resource Distribution Push Patterns § § § § § Distribution by Offer - Single Resource Distribution by Offer - Multiple Resources Distribution by Allocation - Single Resource Random Allocation Round Robin Allocation Shortest Queue Early Distribution on Enablement Late Distribution real a university for the © 2009, www. yawlfoundation. org world R 75

Distribution by Offer – Single Resource • The ability to offer a work item Distribution by Offer – Single Resource • The ability to offer a work item to a selected resource • Corresponds to the workflow analogy to the act of “asking for consideration" in real life – resource is advised of but not committed to undertaking the work item Staffware Web. Sphere - COSA +/- YAWL + BPMN + Oracle BPEL +/- UML 2. 0 ADs real - FLOWer a university for the © 2009, www. yawlfoundation. org world - +/- R 76

Distribution by Offer in YAWL real a university for the © 2009, www. yawlfoundation. Distribution by Offer in YAWL real a university for the © 2009, www. yawlfoundation. org world R 77

Distribution by Offer – Multiple Resources • The ability to offer a work item Distribution by Offer – Multiple Resources • The ability to offer a work item to a group of selected resources. • Offering a work item to multiple resources is the workflow analogy to the act of "calling for a volunteer" in real life. It provides a means of advising a suitably qualified group of resources that a work item exists but leaves the onus with them as to who actually commits to undertaking the activity. • Can be realised through so-called work groups real a university for the © 2009, www. yawlfoundation. org world R 78

Distribution by Offer – Multiple Resources real a university for the © 2009, www. Distribution by Offer – Multiple Resources real a university for the © 2009, www. yawlfoundation. org world R 79

Distribution by Allocation – Single Resource • The ability to allocate a work item Distribution by Allocation – Single Resource • The ability to allocate a work item to a selected resource • Corresponds to the workflow analogy to the act of "appointing an owner" in real life – the selected resource is committed to undertaking the work item Staffware Web. Sphere + COSA + YAWL + BPMN + Oracle BPEL + UML 2. 0 ADs real + FLOWer a university for the © 2009, www. yawlfoundation. org world + + R 80

Shortest Queue • The ability to allocate a work item to the resource that Shortest Queue • The ability to allocate a work item to the resource that has the least number of work items allocated to it. • Aims to expedite throughput • Different definition of shortest queue possible Staffware Web. Sphere - COSA + YAWL + BPMN - Oracle BPEL +/- UML 2. 0 ADs real - FLOWer a university for the © 2009, www. yawlfoundation. org world - - R 81

Distribution by Allocation in YAWL real a university for the © 2009, www. yawlfoundation. Distribution by Allocation in YAWL real a university for the © 2009, www. yawlfoundation. org world R 82

Pull Patterns • Correspond to situations where a resource proactively seeks information on available Pull Patterns • Correspond to situations where a resource proactively seeks information on available work and commits to undertaking specific work items • Key dimensions – Allocation vs execution – Configurability of work basket – Autonomy in selecting next work item real a university for the © 2009, www. yawlfoundation. org world R 83

Pull Patterns offered to a single resource S: offer-s suspended R: start-s R: allocate-s Pull Patterns offered to a single resource S: offer-s suspended R: start-s R: allocate-s R: suspend R: resume S: created allocated to a single resource S: allocate S: offer-m R: allocate-m offered to multiple resources real a university for the © 2009, www. yawlfoundation. org world R: start-m started R: fail completed R: complete failed R 84

Pull Patterns § § § Resource-Initiated Allocation Resource-Initiated Execution – Allocated Work Item Resource-Initiated Pull Patterns § § § Resource-Initiated Allocation Resource-Initiated Execution – Allocated Work Item Resource-Initiated Execution – Offered Work Item System-Determined Work List Management Resource-Determined Work List Management Selection Autonomy real a university for the © 2009, www. yawlfoundation. org world R 85

Resource-Initiated Allocation • The ability for a resource to commit to undertake a work Resource-Initiated Allocation • The ability for a resource to commit to undertake a work item without needing to commence working on it immediately. • Allows a resource to signal its intention to execute a given work item at some point although it may not commence working on it immediately. • The work item is considered to be allocated to the resource and it cannot be allocated to or executed by another resource. Staffware Web. Sphere + COSA +/- YAWL + BPMN - Oracle BPEL - UML 2. 0 ADs real - FLOWer a university for the © 2009, www. yawlfoundation. org world - - R 86

Resource-Initiated Allocation in YAWL real a university for the © 2009, www. yawlfoundation. org Resource-Initiated Allocation in YAWL real a university for the © 2009, www. yawlfoundation. org world R 87

Resource-Initiated Execution – Allocated Work Item • The ability for a resource to commence Resource-Initiated Execution – Allocated Work Item • The ability for a resource to commence a work item previously allocated to them Staffware Web. Sphere + COSA + YAWL + BPMN - Oracle BPEL + UML 2. 0 ADs real + FLOWer a university for the © 2009, www. yawlfoundation. org world + - R 88

Resource-Initiated Execution in YAWL real a university for the © 2009, www. yawlfoundation. org Resource-Initiated Execution in YAWL real a university for the © 2009, www. yawlfoundation. org world R 89

Detour Patterns • Correspond to unplanned variations in work item routing • Key dimensions Detour Patterns • Correspond to unplanned variations in work item routing • Key dimensions – Initiator of re-routing action – system or resource – Execution state of work item – Recipient of re-routed work item real a university for the © 2009, www. yawlfoundation. org world R 90

Detour Patterns S: escalate-oo offered to a single resource R: escalate-so S: deallocate-so suspended Detour Patterns S: escalate-oo offered to a single resource R: escalate-so S: deallocate-so suspended R: deallocate-ao R: suspend S: escalate-ao S: escalate-aa S: escalate-sm R: delegate allocated to a single resource created started S: escalate-am R: reallocation-no-state R: deallocate-am S: escalate-sa R: deallocate-sm S: escalate-sm offered to multiple resources R: resume R: reallocationwith-state completed S: skip R: failed S: escalate-mm real a university for the © 2009, www. yawlfoundation. org world R 91

Detour Patterns § § § § § Delegation Escalation Deallocation Stateful Reallocation Stateless Reallocation Detour Patterns § § § § § Delegation Escalation Deallocation Stateful Reallocation Stateless Reallocation Suspension/Resumption Skip Redo Pre-Do real a university for the © 2009, www. yawlfoundation. org world R 92

Delegation • The ability for a resource to allocate a work item previously allocated Delegation • The ability for a resource to allocate a work item previously allocated to it to another resource. • Delegation provides a resource with a means of re-routing work items that it is unable to execute. This may be because the resource is unavailable (e. g. on vacation) or because they do not wish to take on any more work. • What happens where a work item is delegated to a user who is not authorised to execute it? – This scenario is only a problem for workflow engines that support distinct task routing and authorisation mechanisms. – COSA’s solution is to allow the new user to see the work item but not to be able to delegate it, they can then delegate themselves or acquire necessay rights real a university for the © 2009, www. yawlfoundation. org world R 93

Delegation Staffware Web. Sphere - COSA + YAWL + BPMN - Oracle BPEL + Delegation Staffware Web. Sphere - COSA + YAWL + BPMN - Oracle BPEL + UML 2. 0 ADs real + FLOWer a university for the © 2009, www. yawlfoundation. org world + - R 94

Delegation in YAWL real a university for the © 2009, www. yawlfoundation. org world Delegation in YAWL real a university for the © 2009, www. yawlfoundation. org world R 95

Stateful Reallocation • The ability of a resource to allocate a work item to Stateful Reallocation • The ability of a resource to allocate a work item to another resource without loss of state data. • Provides a resource with the ability to offload both pending and currently executing work items to other resources whilst retaining work already performed. • Centres on the ability to retain the current values of all data elements associated with the work item. • Delegation also results in a work item being reassigned to another resource, but delegation only occurs for work items that have not yet been started • Two main issues: – Managing the transfer of state data. – Ensuring the resource to which the work item is reallocated is entitled to execute it and access the associated state information. real a university for the © 2009, www. yawlfoundation. org world R 96

Stateful Reallocation Staffware Web. Sphere - COSA + YAWL + BPMN - Oracle BPEL Stateful Reallocation Staffware Web. Sphere - COSA + YAWL + BPMN - Oracle BPEL + UML 2. 0 ADs real + FLOWer a university for the © 2009, www. yawlfoundation. org world +/- - R 97

Stateful Reallocation in YAWL real a university for the © 2009, www. yawlfoundation. org Stateful Reallocation in YAWL real a university for the © 2009, www. yawlfoundation. org world R 98

Auto-start Patterns • Relate to situations where execution of a work item is triggered Auto-start Patterns • Relate to situations where execution of a work item is triggered by specific events in the lifecycle of a work item or related work items: • e. g. – – Creation Allocation Completion of preceding tasks Completion of another instance of the same task real a university for the © 2009, www. yawlfoundation. org world R 99

Auto-start Patterns offered to a single resource S: offer-s S: create suspended R: allocate-s Auto-start Patterns offered to a single resource S: offer-s S: create suspended R: allocate-s R: start-s R: suspend S: start-on-created S: offer-m R: complete allocated to a single resource S: allocate R: allocate-m real R: start S: start-on-allocate started R: fail completed S: piled-execution S: chained-execution R: start-m offered to multiple resources a university for the © 2009, www. yawlfoundation. org world R: resume failed R 100

Auto-start Patterns Commence on Creation § The ability for a resource to commence execution Auto-start Patterns Commence on Creation § The ability for a resource to commence execution on a work item as soon as it is created. Commence on Allocation § The ability for a resource to commence execution on a work item as soon as it is allocated. Piled Execution § The ability to initiated the next instance of a task (perhaps in a different case) once the previous one has completed with all associated work items being allocated to the same resource. Chained Execution § The ability to automatically start the next work item in a case once the previous one has completed. The transition to Chained Execution mode is at the instigation of the resource. real a university for the © 2009, www. yawlfoundation. org world R 101

Commencement on Creation The ability for a resource to commence execution on a work Commencement on Creation The ability for a resource to commence execution on a work item as soon as it is created Staffware Web. Sphere - COSA - YAWL + BPMN - Oracle BPEL - UML 2. 0 ADs real - FLOWer a university for the © 2009, www. yawlfoundation. org world - - R 102

Commencement on Creation in YAWL real a university for the © 2009, www. yawlfoundation. Commencement on Creation in YAWL real a university for the © 2009, www. yawlfoundation. org world R 103

Piled Execution • The ability of the workflow system to initiate the next instance Piled Execution • The ability of the workflow system to initiate the next instance of a workflow task (perhaps in a different case) once the previous one has completed. • Provides a means of optimising task execution by pipelining instances of the same task and allocating them to the same resource. • The resource undertakes work items sequentially and once a work item is completed, if another work item of the same type is present in the work queue, it immediately commences work on it - in effect it attempts to work on piles of the same types of work items. • The aim is to leverage of experience of a resource in performing a certain type of task. real a university for the © 2009, www. yawlfoundation. org world R 104

Piled Execution Staffware Web. Sphere - COSA - YAWL + BPMN - Oracle BPEL Piled Execution Staffware Web. Sphere - COSA - YAWL + BPMN - Oracle BPEL - UML 2. 0 ADs real - FLOWer a university for the © 2009, www. yawlfoundation. org world - - R 105

Piled Execution in YAWL real a university for the © 2009, www. yawlfoundation. org Piled Execution in YAWL real a university for the © 2009, www. yawlfoundation. org world R 106

Chained Execution • The ability of the workflow engine to automatically start the next Chained Execution • The ability of the workflow engine to automatically start the next work item in a case once the previous one has completed. • Aims to expedite throughput • Keeps a resource constantly busy in progressing a case real a university for the © 2009, www. yawlfoundation. org world R 107

Chained Execution real a university for the © 2009, www. yawlfoundation. org world R Chained Execution real a university for the © 2009, www. yawlfoundation. org world R 108

Visibility & Multiple Resource Patterns Visibility Patterns Relate to visibility of the existence and Visibility & Multiple Resource Patterns Visibility Patterns Relate to visibility of the existence and status of work items by workflow participants § Configurable Unallocated Work Item Visibility § Configurable Allocated Work Item Visibility Multiple Resource Patterns Relate to situations where work allocation involves multiple participants or resources § Simultaneous Execution § Additional Resource real a university for the © 2009, www. yawlfoundation. org world R 109

Resource Patterns: Evaluation real a university for the © 2009, www. yawlfoundation. org world Resource Patterns: Evaluation real a university for the © 2009, www. yawlfoundation. org world 1 – YAWL 2 – BPMN, 3 – Oracle BPEL PM (from [Mulyar 2005]) R 110

Major findings: survey of resource patterns • Broad support for simple work distribution mechanisms Major findings: survey of resource patterns • Broad support for simple work distribution mechanisms • Current offerings incorporate minimalistic organisational models. • Little support for specifying user privileges and security restrictions. • Limited granularity for varying method and timing of work distribution within a given process. • Limited support for managing work items involving multiple participants. • No support for optimising work item throughput by aligning work distribution with user worklist interaction. real a university for the © 2009, www. yawlfoundation. org world R 111

Some Observations • Virtually all patterns have been observed in at least one system/language Some Observations • Virtually all patterns have been observed in at least one system/language • Overall pattern support is generally limited, especially the resource perspective and exception handling • Provide detailed insight into relative strengths and weaknesses of various approaches • More research needed into relation between patterns and their suitability for specific types of applications real a university for the © 2009, www. yawlfoundation. org world R 112

Further details Key papers • N. Russell, A. H. M. ter Hofstede, D. Edmond, Further details Key papers • N. Russell, A. H. M. ter Hofstede, D. Edmond, and W. M. P. van der Aalst. Workflow Data Patterns: Identification, Representation and Tool Support. In L. Delcambre et al. , editors, Proceedings of the 24 th International Conference on Conceptual Modeling (ER 2005), volume 3716 of Lecture Notes in Computer Science, pages 353 -368. Springer-Verlag, Berlin, 2005. • N. Russell, W. M. P. van der Aalst, A. H. M. ter Hofstede, and D. Edmond. Workflow Resource Patterns: Identification, Representation and Tool Support. In O. Pastor and J. Falcao e Cunha, editors, Proceedings of the 17 th Conference on Advanced Information Systems Engineering (CAi. SE'05), volume 3520 of Lecture Notes in Computer Science, pages 216 -232. Springer-Verlag, Berlin, 2005. Online references • www. workflowpatterns. com • www. BPMcenter. org real a university for the © 2009, www. yawlfoundation. org world R 113

Instruction question – 1 Evaluate the extent of support for the following patterns in Instruction question – 1 Evaluate the extent of support for the following patterns in Staffware, YAWL, core BPMN and Protos. Use a three point scale where + is full support, +/- indicates a partial solution or workaround and – corresponds to no support – – – Synchronisation Multi-choice Deferred choice Multiple choice Local synchronising merge Milestone real a university for the © 2009, www. yawlfoundation. org world R 114

Instruction question – 2 For the YAWL model opposite, explain what configuration is required Instruction question – 2 For the YAWL model opposite, explain what configuration is required to pass the data elements shown in the pick order and print invoice tasks to the pack order task. Identify the data patterns used. What are the advantages and disadvantages of this data passing strategy? real a university for the © 2009, www. yawlfoundation. org world R 115

Instruction question – 3 For the YAWL process shown, determine the necessary data passing Instruction question – 3 For the YAWL process shown, determine the necessary data passing configuration to support the exclusive choice associated with the pack order task. Identify the data patterns used. NB: Assume the weight and value variables are defined for the pack order task. real a university for the © 2009, www. yawlfoundation. org world R 116

Instruction question – 4 For the YAWL process shown, determine the necessary data passing Instruction question – 4 For the YAWL process shown, determine the necessary data passing configuration to support (1) the passing of the custid and value data elements from the credit check task to the subprocess and (2) the configuration of the associated XOR-split. Identify the data patterns used. real a university for the © 2009, www. yawlfoundation. org world R 117

Instruction question – 5 The organisational model opposite corresponds to the YAWL process in Instruction question – 5 The organisational model opposite corresponds to the YAWL process in Q 2. Explain how the following task allocations are configured in YAWL: • • • offer pick order to bart allocate pack order to the warehouse role offer pick order to bart and homer allocate print invoice to the admin role member with the shortest queue • allocate pack order to milhouse in the started state • allocate pack order to a member of the warehouse role that didn’t execute pick order for the same case Identify the patterns used in each case real a university for the © 2009, www. yawlfoundation. org world R 118

Instruction question – 6 In a workflow system such as YAWL, active work items Instruction question – 6 In a workflow system such as YAWL, active work items can be in an offered, allocated or started state. The transition to each state can be initiated by the system or the resource. The triple (offered by, allocated by, started by) is termed the interaction sequence for a task. Explain the events associated with the following interaction sequences: – SSR – SRS – SRR – SSS – RSR – RRS – RRR How are each of them configured in YAWL? Which patterns do they correspond to? real a university for the © 2009, www. yawlfoundation. org world R 119

Instruction question – 7 • Which patterns do the following approaches to work distribution Instruction question – 7 • Which patterns do the following approaches to work distribution correspond to? – – – – – Offer the quote shipment task to john smith Allocate the batch rivet task to a manager Allocate the batch rivet task to the resource with the least work Offer the dangerous mission task to all junior soldiers Allocate the dangerous mission task to a soldier who serves in the marine or infantry division Allocate the dangerous mission task to a soldier with one or more bravery citations Allocate the batch rivet task to the resource who has not executed the earlier prepare solder task Allocate the count cash task to a resource who has undertaken the prepare reconciliation task for more than 2 weeks Distribute the coordinate journey task to the least busy colonel in the marine corps real a university for the © 2009, www. yawlfoundation. org world R 120

Instruction question - 8 • With the aid of a task lifecycle diagram, explain Instruction question - 8 • With the aid of a task lifecycle diagram, explain the difference between the delegation and stateful reallocation patterns • How are each of them configured in YAWL? • What user interactions are associated with each of them? real a university for the © 2009, www. yawlfoundation. org world R 121

References I • www. workflowpatterns. com • W. M. P. van der Aalst, M. References I • www. workflowpatterns. com • W. M. P. van der Aalst, M. Dumas, A H. M. ter Hofstede, N. Russell, H. M. W Verbeek, and P. Wohed. Life After BPEL? In Proceedings of the 2 nd International Workshop on Web Services and Formal Methods (WS-FM). Versailles, France, September 2005. Springer Verlag. • N. Mulyar. Pattern-based Evaluation of Oracle-BPEL. BPM Center Report BPM-05 -24, BPMcenter. org, 2005. • N. Russell, Wil M. P. van der Aalst , A. H. M. ter Hofstede , and Petia Wohed. On the Suitability of UML 2. 0 Activity Diagrams for Business Process Modelling. In M. Stumptner, S. Hartmann, and Y. Kiyoki, editors, Proceedings of the Third Asia-Pacific Conference on Conceptual Modelling (APCCM 2006), volume 53 of CRPIT, pages 95 -104, Hobart, Australia, 2006. ACS. • N. Russell, A. H. M. ter Hofstede, D. Edmond, and W. M. P. van der Aalst. Workflow Data Patterns. QUT Technical report, FIT-TR-2004 -01, Queensland University of Technology, Brisbane, 2004. • N. Russell, A. H. M. ter Hofstede, D. Edmond, and W. M. P. van der Aalst. Workflow Data Patterns: Identification, Representation and Tool Support. In L. Delcambre et al. , editors, Proceedings of the 24 th International Conference on Conceptual Modeling (ER 2005), volume 3716 of Lecture Notes in Computer Science, pages 353 -368. Springer-Verlag, Berlin, 2005. • N. Russell, A. H. M. ter Hofstede, D. Edmond, and W. M. P. van der Aalst. Workflow Resource Patterns. BETA Working Paper Series, WP 127, Eindhoven University of Technology, Eindhoven, 2004. real a university for the © 2009, www. yawlfoundation. org world R 122

References II • N. Russell, W. M. P. van der Aalst, A. H. M. References II • N. Russell, W. M. P. van der Aalst, A. H. M. ter Hofstede, and D. Edmond. Workflow Resource Patterns: Identification, Representation and Tool Support. In O. Pastor and J. Falcao e Cunha, editors, Proceedings of the 17 th Conference on Advanced Information Systems Engineering (CAi. SE'05), volume 3520 of Lecture Notes in Computer Science, pages 216232. Springer-Verlag, Berlin, 2005. • N. Russell, W. M. P. van der Aalst, and A. H. M. ter Hofstede. Exception Handling Patterns in Process-Aware Information Systems. BPM Center Report BPM-06 -04 , BPMcenter. org, 2006. • N. Russell, W. M. P. van der Aalst, and A. H. M. ter Hofstede. Workflow Exception Patterns. In E. Dubois and K. Pohl, editors, Proceedings of the 18 th International Conference on Advanced Information Systems Engineering (CAi. SE 06), volume 4001 of Lecture Notes in Computer Science, pages 288 -302. Springer-Verlag, Berlin, 2006. • P. Wohed, W. M. P. van der Aalst, M. Dumas, A. H. M. ter Hofstede, and N. Russell. Patternbased Analysis of UML Activity Diagrams. BETA Working Paper Series, WP 129, Eindhoven University of Technology, Eindhoven, 2004. • P. Wohed, W. M. P. van der Aalst, M. Dumas, A. H. M. ter Hofstede, and N. Russell, On the Suitability of BPMN for Business Process Modelling. in Proc. of the 4 th Int. Conf. on Business Process Management, Vienna, September 2006. • P. Wohed, W. M. P. van der Aalst, M. Dumas, A. H. M. ter Hofstede, and N. Russell. Patternbased Analysis of BPMN - An extensive evaluation of the Control-flow, the Data and the Resource Perspectives (revised version). BPM Center Report BPM-06 -17 , BPMcenter. org, 2006. real a university for the © 2009, www. yawlfoundation. org world R 123

Disclaimer • No legal liability or responsibility is assumed for the accuracy and completeness Disclaimer • No legal liability or responsibility is assumed for the accuracy and completeness of any product-specific information. real a university for the © 2009, www. yawlfoundation. org world R 124