Automatic Detection of Business Process Interference Nick van Beest - - PowerPoint PPT Presentation

automatic detection of business process interference
SMART_READER_LITE
LIVE PREVIEW

Automatic Detection of Business Process Interference Nick van Beest - - PowerPoint PPT Presentation

Automatic Detection of Business Process Interference Nick van Beest , Eirini Kaldeli, Pavel Bulanov, Hans Wortmann, Alexander Lazovik University of Groningen, Netherlands KIBP 2012 15-06-2012 Context Distributed or service-oriented


slide-1
SLIDE 1

Automatic Detection of Business Process Interference

Nick van Beest, Eirini Kaldeli, Pavel Bulanov, Hans Wortmann, Alexander Lazovik University of Groningen, Netherlands KIBP 2012 15-06-2012

slide-2
SLIDE 2

Context

 Distributed or service-oriented information systems  Knowledge-intensive  External stakeholders  Assumption of process independence  Concurrent business process execution

slide-3
SLIDE 3

Problem

A1 [D = X] A3 [D ≠ X] A2 A4 B1 Change D

t

slide-4
SLIDE 4

Process interference:

the situation where data mutations by one process affect one or more other concurrently executing processes, causing undesired process outcomes for

  • ne or more of these processes.
slide-5
SLIDE 5

Related work

 Single process verification  Analysis of failing process instances  Run-time vs design-time

slide-6
SLIDE 6

Solution (1)

 Awareness of dependencies of a process  Define special sections in the business process that are

vulnerable for external changes → Dependency Scope: A section in the business process whose correct execution relies on the accuracy of a volatile process variable. A volatile process variable is a process variable that can be changed externally during execution of the process.

slide-7
SLIDE 7

Solution (2)

 Automatic execution of compensation activities

→ Intervention Process: sub-process comprising a set of compensation activities, which together restore the consistent state of a business process.

slide-8
SLIDE 8

A1 A3 A2 A4 A5 [D = X] [D ≠ X]

Dependency scope

Dependency Scope DS1 [D]

slide-9
SLIDE 9

Intervention process

A1 A3 A4 A5 [D = X] [D ≠ X] A2: Halt

Dependency Scope DS1 [D]

Activity P Activity Q Continue A3 A4

slide-10
SLIDE 10

Case Study: e-Government

 Dutch Law for Societal Support

 Home modifications  Wheelchair provision  Domestic help

slide-11
SLIDE 11

[Approved]

Request Payment

[Appeal] [Affirm decision] [Revise decision] [No appeal] [Rejected]

Terminate Terminate

Provision

+

Research and Decision

+

Example: WMO Process

slide-12
SLIDE 12

Provision

[Domestic help] [Approved] [Else] [Wheelchair] [Home Modification]

Tender procedure Check tender with decision

[Tender not ok] [Tender ok]

Acquire requirements

[Personal budget] [Care in kind]

Send request to supplier Receive delivery confirmation Handle Invoice

+

Send order to supplier Send order confirmation to selected supplier Receive delivery confirmation Handle Invoice

+

slide-13
SLIDE 13

Dependency scopes

[Domestic help] [Approved] [Else] [Wheelchair] [Home Modification]

Tender procedure Check tender with decision

[Tender not ok] [Tender ok]

Acquire requirements

[Personal budget] [Care in kind]

Send request to supplier Receive delivery confirmation Handle Invoice

+

Send order to supplier Send order confirmation to selected supplier Receive delivery confirmation Handle Invoice

+

DS1: {Address, Medical Condition} DS2: {WMO Eligibility Criteria} DS3: {Address, Medical Condition}

slide-14
SLIDE 14

Intervention processes

Send order to supplier Home visit Receive delivery confirmation Acquire requirements

a) b)

Send order to supplier Resume order Home visit [Requirements Unchanged] [New Requirements] Acquire requirements Cancel order Pause order Receive delivery confirmation Home visit Decision [Different situation] [Similar situation]

c)

[Approved] [Rejected] Tender procedure Check tender with decision Send order to supplier Receive delivery confirmation [Tender not ok] [Tender ok]

Terminate

Home visit Cancel order

d)

Decision [Different situation] [Similar situation] [Approved] [Rejected] Tender procedure Check tender with decision Send order to supplier Receive delivery confirmation [Tender not ok] [Tender ok]

Terminate

Cancel order Notify city hall

e)

slide-15
SLIDE 15

Components of a DS

Sub-process in the BP to be monitored

A number of events to react upon

A number of intervention processes to be triggered Guard block: specifies the sub-process of the BP Verify block: specifies the types of events that require intervention

slide-16
SLIDE 16

XML example

<ds> <guard> <variables> <variable name="address" dataType="dt:address"/> <variable name="medCond" dataType="dt:medInfo"/> </variables> <!– Sub-process covered by DS1 as in Figure 2 --> </guard> <verify> <case condition="address.county!='Groningen'"> <terminate> <invoke name="IPa"/> </terminate> </case> <case condition="address.county='Groningen' && medCond!='deceased'"> <invoke name="IPb"/> </case> <case condition="medCond='deceased'"> <terminate> <invoke name="IPc"/> </terminate> </case> </verify> </ds>

slide-17
SLIDE 17

DS and IP: the manual way

 Service Repository  Business Process Modeller

 BP specification  DS specification  IP specification

 Process Executor

 BP execution  IP execution

 Environment

slide-18
SLIDE 18

Architecture: the manual way

Process Executor Service Repository

Service Descriptions

Process Modeller Environment Design Time Runtime

BP Specification Service Descriptions

slide-19
SLIDE 19

DS and IP: the automated way

 Service Repository  Business Process Modeller

 BP specification  DS specification  IP specification

 Process Executor

 BP execution  IP execution

 Environment  CSP-based Planner

 IP generation

 DS generator

 DS specification

slide-20
SLIDE 20

Process Executor Service Repository

Service Descriptions

CSP-based Planner Process Modeller Environment Compose Planning Domain Domain Generator Design Time Runtime

Goal Planning Domain BP Specification BP Specification Service Descriptions + Initial State Intervention Process

Compose DSs

BP Specification DS definition

DS Generator

Architecture: the automated way

slide-21
SLIDE 21

Identification of a DS

 DSs cover all activities that are directly or indirectly

dependent on a certain volatile variable (VV), i.e.:

 using the VV as input  using the output of another activity, which is dependent on that VV.  part of an XOR-construct with a condition over VV.

 Any part of the process in a potential execution path

between two activities dependent on the same VV should also be covered by the respective DS.

slide-22
SLIDE 22

Dependency scopes: some examples

a) b) c)

slide-23
SLIDE 23

TR DEP TR TR TR DEP

Algorithm

Branching End Branching Start

  • All branches covered
  • DSs are adjacent
slide-24
SLIDE 24

Implementation

 Demonstrated and tested on the e-Government case study  Three volatile variables were identified:

 Address  Medical condition  Eligibility criteria

 Five dependency scopes:

 Three for provision (as shown)  Two regarding the decision

slide-25
SLIDE 25

Screenshot

slide-26
SLIDE 26

Conclusion

 Data is scattered  No single ownership  Cloud etc.  A lot of work to be done in this area  Continuity of the process can be ensured in an

automated way

 Easy integration with existing BPMS platforms

slide-27
SLIDE 27

Thank you for your attention

slide-28
SLIDE 28

Architecture

Service Repository

prec: eff:

Generate IP

CSP-based Planner Process Executor Process Modeller

Process Specific Constraints

DS

+ +

Verifier

Environment Compose Planning Domain Domain Generator Design Time Runtime

Goal Planning Domain BP Specification + Atomic actions BP Specification Service Descriptions Planning Domain + Goal + Initial State

prec: eff:

goal: Initial state: + Initial State Intervention Process

Compose DSs

BP Specification DS definition

DS Generator

slide-29
SLIDE 29

About the planner

 CSP  Knowlege-level representation

 XOR, sensing, replanning

 Domain independent  Supports extended goals

 temporal  maintainability

slide-30
SLIDE 30

Golog

 The goal to be achieved has to be specified in

a procedural way, as a non-deterministic program,

 No use of high-level declarative goals  The adaptation process has to be pre-

specified in an action-centric way, which requires domain-specific knowledge of the available services

 Arduous hand-coding by a human expert.

slide-31
SLIDE 31

Domain Example

HomeVisit(hvIn_cid, hvIn_address) Prec: hvIn_cid = bpCid hvIn_address = bpAddress known(itOut_prov) Eff: sense(hvOut_homeInfo) sense(hvOut_maRequired) AcquireRequirements(arIn_cid, arIn_homeInfo) Prec: (itOut_prov = 3 OR itOut_prov = 4) itOut_prov = 3 arIn_cid = bpCid arIn_homeInfo = hvOut_homeInfo known(dcOut_approvalCheck) dcOut_approvalCheck = true Eff: sense(arOut_requirements)

slide-32
SLIDE 32

[Approved]

Request Payment

[Appeal] [Affirm decision] [Revise decision] [No appeal] [Rejected]

Terminate Terminate

Provision

+

Research and Decision

+

Example: WMO Process

slide-33
SLIDE 33

Research and Decision

Home visit Decision Medical advice

[Medical advice] [No medical advice]