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 + - +
LOAD MORE