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

Chapter 2 The Language: Rationale and Fundamentals (Part IV)

Jan 08, 2016

Download

Documents

cricket

Chapter 2 The Language: Rationale and Fundamentals (Part IV). Nick Russell Arthur ter Hofstede. Outline. Part I Petri nets Workflow nets Reset nets Part II Background – WfMS and PAIS Conceptual Foundations the Workflow Patterns Initiative Control-flow patterns Part III - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
PowerPoint Presentation(Part IV)
Nick Russell
Workflow Patterns Framework
These perspectives follow S. Jablonski and C. Bussler’s classification from:
Workflow Management: Modeling Concepts, Architecture, and Implementation. International Thomson Computer Press, 1996
time
www.workflowpatterns.com
Data Visibility:
The extent and manner in which data elements can be viewed and utilised by workflow components.
Internal Data Interaction:
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.
a university for the
The extent and manner in which data elements can be
viewed by workflow components
Staffware
© 2009, www.yawlfoundation.org
Block Data
Data visibility restricted to tasks in single block or workflow net in a process instance
Staffware
© 2009, www.yawlfoundation.org
Scope Data
Data visibility restricted to set of tasks in single process instance
Staffware
Multiply triggered task
single process instance
a workflow
To multiple instance task
From multiple instance task
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
a university for the
2757.unknown
Distinct Control and Data Channels
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 WebSphere where data passing is based on the notion of containers sent between tasks
a university for the
2758.unknown
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.
a university for the
2759.unknown
via net variables
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
2760.unknown
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, WebSphere MQ, BPMN, UML 2.0 ADs
2761.unknown
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
2763.unknown
a university for the
a university for the
a university for the
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;
*
to MI task
from MI task
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
a university for the
A
C
D
Interaction initiated by task
Interaction initiated by env.
TE-Push
ET-Pull
ET-Push
TE-Pull
Staffware
Focus on the means by which a data element is
transferred across the interface of a workflow
component.
Data Transformation – Input
Data Transformation – Output
Data Transfer by Value
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.
Value
Staffware
© 2009, www.yawlfoundation.org
Data Transformation
Ability to apply a transformation function to a data element during passing between workflow components.
Staffware
a university for the
influence the operation of the workflow
Task Precondition - Data Existence
Task Precondition - Data Value
Task Postcondition – Data Existence
Task Postcondition - Data Value
© 2009, www.yawlfoundation.org
Data-based Routing
The ability to alter the control flow within a workflow case as a consequence of the value of data-based expressions
Staffware
+
+
+
+
+
-
-
-
-
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.
a university for the
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
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
Multiple resource patterns: work allocation involving multiple participants or resources
a university for the
resources may execute a work item at runtime
Direct Allocation
Role-Based Allocation
Deferred Allocation
© 2009, www.yawlfoundation.org
Direct Allocation
The ability to directly specify at design time the identity of
the resource that will execute a task.
Staffware
© 2009, www.yawlfoundation.org
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
© 2009, www.yawlfoundation.org
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
a university for the
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
a university for the
© 2009, www.yawlfoundation.org
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
© 2009, www.yawlfoundation.org
Capability-based Allocation
The ability to offer or allocate instances of a task to resources
based on specific capabilities that they possess.
Staffware
© 2009, www.yawlfoundation.org
Push Patterns
Correspond to situations where newly created work items are proactively routed to resources by the workflow system
Key dimensions:
a university for the
Random Allocation
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
a university for the
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
a university for the
2786.unknown
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
© 2009, www.yawlfoundation.org
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
Staffware
a university for the
Correspond to situations where a resource proactively seeks information on available work and commits to undertaking specific work items
Key dimensions
a university for the
System-Determined Work List Management
Resource-Determined Work List Management
© 2009, www.yawlfoundation.org
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
Allocated Work Item
The ability for a resource to commence a work item previously allocated to them
Staffware
Key dimensions
Execution state of work item
Recipient of re-routed work item
a university for the
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
a university for the
© 2009, www.yawlfoundation.org
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.
a university for the
© 2009, www.yawlfoundation.org
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
a university for the
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.
a university for the
Commencement on Creation
The ability for a resource to commence execution on a work item as soon as it is created
Staffware
a university for the
© 2009, www.yawlfoundation.org
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.
a university for the
© 2009, www.yawlfoundation.org
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
a university for the
Relate to visibility of the existence and status of work
items by workflow participants
Multiple Resource Patterns
multiple participants or resources
+
+
+
+
+
-
-
-
-
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.
a university for the
© 2009, www.yawlfoundation.org
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
a university for the
© 2009, www.yawlfoundation.org
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 24th 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 17th Conference on Advanced Information Systems Engineering (CAiSE'05), volume 3520 of Lecture Notes in Computer Science, pages 216-232. Springer-Verlag, Berlin, 2005.
Online references
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
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?
pick order
print invoice
pack order
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.
air mail
sea mail
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.


Instruction question – 5
The organisational model opposite corresponds to the YAWL process in Q2.
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
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
maggie
edna
milhouse
homer
lisa
monty
waylon
bart
marg
G(employee)
R(warehouse)
R(admin)
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
RSS
RSR
RRS
RRR
Which patterns do they correspond to?
a university for the
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
a university for the
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?
a university for the
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 2nd 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 (APCCM2006), 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 24th 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.
a university for the
© 2009, www.yawlfoundation.org
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 17th Conference on Advanced Information Systems Engineering (CAiSE'05), volume 3520 of Lecture Notes in Computer Science, pages 216-232. 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 18th International Conference on Advanced Information Systems Engineering (CAiSE 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. Pattern-based 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 4th 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. Pattern-based 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.
a university for the
Disclaimer
No legal liability or responsibility is assumed for the accuracy and completeness of any product-specific information.
123123
7Workflow Data- - -
28by Value - Outgoing+ + +
10Task to Sub-workflow Decomp.+ + - 30by Reference - Unlocked- - +
11Sub-workflow Decomp. to Task+ + - 31by Reference - Locked- + +/-
12to MI Task+ - - 32Data Transformation - Input+ +/- -
13from MI Task+ - - 33Data Transformation - Output+ +/- -
14Case to Case- - +/-
18Task to Env - Pull-Oriented- + +/- 38Event-based Task Trigger- + +
19Case to Env. - Push-Oriented- - - 39Data-based Task Trigger- + +/-
20Env. to Case - Pull-Oriented- - - 40Data-based Routing+ + +
Data Visibility
3Deferred Allocation + - + 26Selection Autonomy + - +
13Distribution by Offer-Multiple Resources + - +
15Random Allocation + - +/- 37Commencement on Allocation + - -
16Round Robin Allocation + - +/- 38Piled Execution + - -
17Shortest Queue + - +/- 39Chained Execution + + -
20Lata Distribution- - - 41Config. Allocated WI Visibility - - -
21Resource-Init. Allocation + - - 42Simultaneous Execution + + +
23Resource-Init. Exec. - Offered WI + - +