Upload
others
View
9
Download
1
Embed Size (px)
Citation preview
MTAT.03.231 Business Process Management (BPM)
(for Masters of IT)
Lecture 8: Resource Allocation in Automated Business Processes
Marlon Dumas
(based on lecture material by Arthur ter Hofstede and other members of the YAWL foundation:
http://www.yawlfoundation.org)
2
Process Modelling Viewpoints
What (functional perspective) What tasks/functions are happening in the process (manual or automated)
When (control-flow perspective) In what order do they occur
Which (data perspective) Which data is created/produced by the process and its tasks
Who (resource perspective) Who performs these tasks
3
Path of a Work Item in YAWL
4
Resourcing Decision Points
• There are stages in a work item’s lifecycle where resourcing decisions are to be made until the work item is placed in a work queue
• At each interaction point, the decision may be: – system-initiated – automatically performed by the
system, using parameters set at design time, or – user-initiated – manually performed by a participant or
administrator at runtime
5
Resourcing Decision Points • The three decision points are:
– Offer: The work item is offered to one or more participants for execution. There is no obligation (from the system’s perspective) for the participant to accept the offer.
– Allocate: The work item is allocated to a single participant, so that the participant is committed (willingly or not) to performing that work item at a later time. If the work item was previously offered to several other participants, the offer is withdrawn from them.
– Start: The work item is started by the allocated participant (i.e. enters executing state).
6
Default YAWL Worklist Handler
7
Resource Patterns
• 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
8
Work Item Lifecycle
created
offered to a single resource
offered to multiple
resources
allocated to a single resource
suspended
failed
started completed
Resource Patterns
R:allocate-s
R:start-s
R:suspend R:resume
R:complete R:fail
R:start
R:start-m
S:create
S:offer-s
S:offer-m
S:allocate
R:allocate-m
9
Creation Patterns Creation
created
offered to a single resource
offered to multiple
resources
allocated to a single resource
suspended
failed
started completed
R:allocate-s
R:start-s
R:suspend R:resume
R:complete R:fail
R:start
R:start-m
S:create
S:offer-s
S:offer-m
S:allocate
R:allocate-m
10
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
Creation
11
Direct Allocation
12
Role-based Allocation Creation: 2
• 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 deferred till runtime, can be influenced without changing workflow specification (thus providing more flexibility)
• http://www.workflowpatterns.com/patterns/resource/creation/wrp2_animation.php
13
Role-based Allocation in YAWL
14
YAWL Organisational Model
15
Separation of Duties Creation: 5
• The ability to specify that two tasks must be allocated to different resources in a given workflow case.
• Also referred to as “4 eyes principle” • http://www.workflowpatterns.com/patterns/
resource/creation/wrp5_animation.php
16
Separation of Duties in YAWL
17
Retain Familiar
• The opposite of the “separation of duties” • 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 of the same case.
• http://www.workflowpatterns.com/patterns/resource/creation/wrp7_animation.php
18
Retain Familiar in YAWL
19
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
Push
20
Push Patterns Push
created
offered to a single resource
offered to multiple
resources
allocated to a single resource
suspended
failed
started completed
R:allocate-s
R:start-s
R:suspend R:resume
R:complete R:fail
R:start
R:start-m
S:create
S:offer-s
S:offer-m
S:allocate
R:allocate-m
21
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 Distribution on Enablement Late Distribution
Push
22
Shortest Queue Push: 17
• 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 • One of a number of distribution strategies
among possible (authorised) resources • http://www.workflowpatterns.com/patterns/
resource/push/wrp17_animation.php
23
Distribution by Allocation in YAWL
24
After Distribution • Given appropriate privileges, a participant may:
– If a work item is allocated: • deallocate it (removes themselves from the distribution set
and redistribute the item); • delegate it (to a member of their ‘team’); or • skip the work item (complete it immediately without first
starting it)
– If a work item has started: • reallocate it (to a member of their team), and in doing so may
preserve the work done within the work item thus far (stateful reallocation), or to reset the work item data to its original values (stateless reallocation).
25
Detour Patterns Detour
created
offered to a single resource
offered to multiple
resources
allocated to a single resource
suspended
failed
started completed
R:suspend R:resume
R:fail
R:escalate-so S:deallocate-so
R:deallocate-sm S:escalate-sm
R:reallocation-no-state S:escalate-sa
S:skip
R:deallocate-ao S:escalate-ao
R:delegate S:escalate-aa
S:escalate-oo
S:escalate-mm
R:reallocation- with-state
S:escalate-sm
S:escalate-am R:deallocate-am
26
Detour Patterns
Unplanned variations in work item routing
Delegation Escalation Deallocation Stateful Reallocation Stateless Reallocation Suspension/Resumption Skipping
Detour
27
Delegation Detour: 27
• The ability for a resource to allocate a work item previously allocated to it to another resource.
• Delegation allows a resource to re-route work items that it is unable to execute, e.g. because it is unavailable or because they do not wish to take on more work.
• http://www.workflowpatterns.com/patterns/resource/detour/wrp27_animation.php
28
Delegation in YAWL
29
Stateful Reallocation Detour: 30
• 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
• http://www.workflowpatterns.com/patterns/resource/detour/wrp30_animation.php
30
Stateful Reallocation in YAWL
31
Recap: Resource specification in YAWL
32
For more info
• Detailed description of the workflow patterns: – http://www.workflowpatterns.com/patterns/resource/