37
01 Verifying Business Process Compatibility Peter Wong, University of Oxford, UK (Joint work with Jeremy Gibbons) June 2007

Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

01

Verifying Business Process

Compatibility

Peter Wong, University of Oxford, UK

(Joint work with Jeremy Gibbons)

June 2007

Page 2: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

02

Introduction

• Business processes may be described as a Business ProcessModelling Notation (BPMN) diagram;

• Local business process is the composition of service/taskcomponents within a local domain;

• Globally these business processes may collaborate via messaging ;

• We formally describe these diagrams semantically using thelanguage of the process algebra Communicating SequentialProcesses (CSP);

• Our approach facilitates specification and verification(consistency, compatibility etc.);

• This work is prerequisite to a BPM-based support for clinicaltrial specification.

see: Example

Page 3: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

03

Business Process Modelling Notation

Page 4: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

04

Business Process Modelling Notation (cont.)

Tasks, subprocesses ...

Page 5: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

05

Business Process Modelling Notation (cont.)

Tasks, subprocesses ...

With exception flows ...

Page 6: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

06

Business Process Modelling Notation (cont.)

Sequential and parallel multiple instances of tasks and subprocesses...

Page 7: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

07

Business Process Modelling Notation (cont.)

Sequential and parallel multiple instances of tasks and subprocesses...

Decision gateways ...

Page 8: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

08

Business Process Modelling Notation (cont.)

Sequential and parallel multiple instances of tasks and subprocesses...

Decision gateways ...

Events ...

Page 9: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

09

Business Process Modelling Notation (cont.)

Local composition ...

Page 10: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

10

Business Process Modelling Notation (cont.)

Local composition ...

Global collaboration ...

Page 11: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

11

On formalising BPMN

• Use Z as a syntactic vehicle (schema language, typed set theory);

• Define each BPMN state with the schema type State;

State =̂ [in, out , error : P Transition; type : Type;rec, snd , acc, rep, brk : P Messageflow ]

• A BPMN diagram is a non-empty finite set of well-formed statesWCF : P(P State);

BPD ::= states〈〈WCF 〉〉Env == BName 7→ BPD

• A process semantics for BPMN in CSP.

[[.]] : BName 7→ Env 7→ Process

Page 12: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

12

CSP

The grammar of CSP (subset).

P ,Q ::= P ||| Q | P [|A |] Q | P ‖ Q | P \ A | P 4 Q |P 2 Q | P o

9 Q | e → P | Skip | Stop

• We write 2 i : { 1 . . n } • P(i) to denote P(1) 2 . . 2 P(n),similarly for operators ||| and ‖;

• Three standard behavioural models(Traces T , Stable Failures F , Failures-Divergences N );

• Formal verification via refinement checks;

• FDR - automated CSP model checker.

see: CSP

Page 13: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

13

A Workflow Activity

In CSP the following process description P1 defines a basic activity.αP is the alphabet of process P .

P1 = let X = 2 i : (αY \ {fin.1 }) • (i → X 2 fin.1→ Skip)Y = (S ‖ B ‖ E )S = int .b → fin.1→ SkipB = (int .b → st .b → int .e → B) 2 fin.1→ SkipE = int .e → fin.1→ Skip

within (Y [| αY |] X ) \ {|int |}

Page 14: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

14

Case Study

We present two simple examples based on a ticket reservation systemadopted from Web Services Choreography Interface specificationdocument.

• 1st example: single business process (orchestration) to showconsistency check.

• 2nd example: business collaboration (choreography) to showcompatibility check.

Page 15: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

15

Orchestration and Choreography

Orchestration Choreography

• Service composition; • Collaboration protocol;

• Local domain; • Global domain;

• Single participant viewpoint; • Multi-participant viewpoint;

• Executable (BPEL) • Abstract (not executable)

or Abstract (WSCI interface); (WSCDL or WSCI Global Model);

• Individual BPMN Pool • Message flows between

BPMN Pools

Page 16: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

16

A Single Business Process

see: Booking subprocesssee: Process in CSP

see: Consistency Verification

Page 17: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

17

A Single Business Process (cont.)

Let J be the index set:

Airline = let X = 2 i : (αY \ {fin.1, abt .1 }) •(i → X 2 abt .1→ Stop 2 fin.1→ Skip)

Y = (‖ j : J • αP(j ) ◦ P(j ))within (Y [| αY |] X ) \ {|init |}

P(timeout) = (int .timeout → st .timeout → int .notify2→ P(notify))

2 (fin.1→ Skip)

P(notify) = ((int .notify1→ Skip 2 int .notify2→ Skip) o9

st .notify → int .abt → P(notify)) 2 (fin.1→ Skip)

see: BPMN diagram

Page 18: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

18

A Single Business Process (cont.)

Booking subprocess, let J ′′ be the index set:

Booking = let X = 2 i : (αY \ {fin.3,fin.4 }) •(i → X 2 (fin.3→ Skip 2 fin.4→ Skip))

Y = (‖ j : J ′′ • αP(j ) ◦ P(j ))within (Y [| αY |] X ) \ {|int |}

P(start2) = (int .xs3→ P(start2)) 2 (fin.3→ Skip 2 fin.4→ Skip)

P(xs3) = ((int .xs3→ (int .pbooking → Skip 2 init .cancel → Skip)) o9

P(xs3)) 2 (fin.3→ Skip 2 fin.4→ Skip)

see: BPMN diagram

Page 19: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

19

Consistency Verification

• CSP’s process refinement allows us to design and constructspecifications using BPMN;

• We ask FDR to verify the following refinement assertion;

Spec1 vF (Airline \ (αAirline \ αSpec1))

• This refinement check demonstrates semantic consistencybetween different levels of abstraction.

see: BPMN diagram

Page 20: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

20

Collaboration - Global Model

• A collaboration of business processes hence is the parallelcomposition of processes each corresponding to a localparticipant.

Collab = (Trm ‖ Ag) \ {|msg |}

• Trm is the model of the traveller participant;

• Ag is the model of the travel agent participant

see: Collaboration in BPMNsee: Compatibility Verification

Page 21: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

21

Compatibility Verification

• We ask FDR to verify the following refinement assertion;

Tr vF (Collab \ (αCollab \ αTr))

• This refinement check tells us whether the collaboration behavesas specified by the traveller participant;

• This requires the travel agent to be compatible with thetraveller participant.

see: Collaboration in CSP

Page 22: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

22

Compatibility Verification (cont.)

• The refinement assertion does not hold and a deadlock hasoccurred;

• Participants in the collaboration are incompatible;

• The following counterexample is given by FDR.

(〈st .tr .order , st .tr .cancel〉,Σ)

Page 23: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

23

Compatibility Verification (cont.)

Detailed analysis of the failures of Trm and Ag may be carried out:

(〈st .tr .order ,msg .order .in,msg .order .out ,msg .change.end , starts.tr .cancel〉, ref 1)

(〈msg .order .in, st .ag .order ,msg .order .out ,msg .change.end〉, ref 2)

where msg .cancel .in /∈ ref 1 and msg .cancel .in ∈ ref 2.

Page 24: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

24

Compatibility Verification (cont.)

• The traveller may cancel her itinerary before deciding to reserveher ticket, and send a message to the travel agent about thecancellation;

• The travel agent may only carry out her cancellation afterentering the reservation phase, and hence may not receive themessage from the traveller.

see: Collaboration in BPMN

Page 25: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

25

Compatibility Verification (cont.)

see: Collaboration in BPMNsee: Refinement Checks

Page 26: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

26

Compatibility Verification (cont.)

We ask FDR to verify the following refinement assertion:

Tr vF (Collab2 \ (αCollab2 \ αTr))

where Collab2 = (Trm ‖ Ag2) \ {|msg |}

see: Model Correction

Page 27: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

27

Future Work

CancerGrid :

• standardise trial model and CONSORT compliance;

• provide a SOA framework for trial software generation;

• Toward a BPM-based support for clinical trial specification

Ongoing Work:

• Extend BPMN for capturing medical information;

• Compensation and Association (Dataflow);

• Automate our translation using an existing BPMN graphicaleditor

Page 28: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

28

Thank You

Web site: http://www.comlab.ox.ac.uk/peter.wong/Email: [email protected]

Page 29: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

29

Index

2 Introduction

3 Business Process Modelling Notation

4 Business Process Modelling Notation (cont.)

5 Business Process Modelling Notation (cont.)

6 Business Process Modelling Notation (cont.)

7 Business Process Modelling Notation (cont.)

8 Business Process Modelling Notation (cont.)

9 Business Process Modelling Notation (cont.)

10 Business Process Modelling Notation (cont.)

11 On formalising BPMN

12 CSP

13 A Workflow Activity

Page 30: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

30

14 Case Study

15 Orchestration and Choreography

16 A Single Business Process

17 A Single Business Process (cont.)

18 A Single Business Process (cont.)

19 Consistency Verification

20 Collaboration - Global Model

21 Compatibility Verification

22 Compatibility Verification (cont.)

23 Compatibility Verification (cont.)

24 Compatibility Verification (cont.)

25 Compatibility Verification (cont.)

26 Compatibility Verification (cont.)

Page 31: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

31

27 Future Work

28 Thank You

29 Index

30 Ticket Reservation Collaboration

31 CSP

32 CSP

33 CSP

34 CSP

35 Ticket Reservation Collaboration

Page 32: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

32

Ticket Reservation Collaboration

see: Introduction

Page 33: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

33

CSP

The grammar of CSP (subset).

P ,Q ::= P ||| Q | P [|A |] Q | P ‖ Q | P \ A | P 4 Q |P 2 Q | P o

9 Q | e → P | Skip | Stop

• Skip, Stop - termination;.

• e → P - prefixing;

• P o9 Q - sequential composition.

see: CSP

Page 34: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

34

CSP

The grammar of CSP (subset).

P ,Q ::= P ||| Q | P [|A |] Q | P ‖ Q | P \ A | P 4 Q |P 2 Q | P o

9 Q | e → P | Skip | Stop

• P ||| Q - interleaving;

• P [|A |] Q - partial interleaving;

• P ‖ Q - parallel composition.

see: CSP

Page 35: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

35

CSP

The grammar of CSP (subset).

P ,Q ::= P ||| Q | P [|A |] Q | P ‖ Q | P \ A | P 4 Q |P 2 Q | P o

9 Q | e → P | Skip | Stop

• P \ A - hiding;

• P 4 Q - interrupt;

• P 2 Q - external choice.

see: CSP

Page 36: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

36

CSP

The grammar of CSP (subset).

P ,Q ::= P ||| Q | P [|A |] Q | P ‖ Q | P \ A | P 4 Q |P 2 Q | P o

9 Q | e → P | Skip | Stop

• Traces refinement (traces : CSP → P(seq Σ))

vT : CSP ↔ CSP

∀P ,Q : CSP • P vT Q ⇔ traces(P) ⊇ traces(Q)

• Failures refinement (failures : CSP → P(seq Σ × P Σ))

vF : CSP ↔ CSP

∀P ,Q : CSP •P vF Q ⇔ traces(P) ⊇ traces(Q) ∧ failures(P) ⊇ failures(Q)

see: CSP

Page 37: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is

37

Ticket Reservation Collaboration

see: Introductionsee: Collaboration in CSP

see: Model Correction and Error