32
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 )

MTAT.03.231 Business Process Management (BPM) (for Masters … · 2010. 3. 29. · MTAT.03.231 Business Process Management (BPM) (for Masters of IT) Lecture 8: Resource Allocation

  • 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/