Verifying Business Process Compatibility Peter Wong, University of - - PowerPoint PPT Presentation

verifying business process compatibility
SMART_READER_LITE
LIVE PREVIEW

Verifying Business Process Compatibility Peter Wong, University of - - PowerPoint PPT Presentation

01 Verifying Business Process Compatibility Peter Wong, University of Oxford, UK (Joint work with Jeremy Gibbons) June 2007 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram;


slide-1
SLIDE 1

01

Verifying Business Process Compatibility

Peter Wong, University of Oxford, UK (Joint work with Jeremy Gibbons) June 2007

slide-2
SLIDE 2

02

Introduction

  • Business processes may be described as a Business Process

Modelling Notation (BPMN) diagram;

  • Local business process is the composition of service/task

components within a local domain;

  • Globally these business processes may collaborate via messaging;
  • We formally describe these diagrams semantically using the

language of the process algebra Communicating Sequential Processes (CSP);

  • Our approach facilitates specification and verification

(consistency, compatibility etc.);

  • This work is prerequisite to a BPM-based support for clinical

trial specification. see: Example

slide-3
SLIDE 3

03

Business Process Modelling Notation

slide-4
SLIDE 4

04

Business Process Modelling Notation (cont.)

Tasks, subprocesses ...

slide-5
SLIDE 5

05

Business Process Modelling Notation (cont.)

Tasks, subprocesses ... With exception flows ...

slide-6
SLIDE 6

06

Business Process Modelling Notation (cont.)

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

slide-7
SLIDE 7

07

Business Process Modelling Notation (cont.)

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

slide-8
SLIDE 8

08

Business Process Modelling Notation (cont.)

Sequential and parallel multiple instances of tasks and subprocesses ... Decision gateways ... Events ...

slide-9
SLIDE 9

09

Business Process Modelling Notation (cont.)

Local composition ...

slide-10
SLIDE 10

10

Business Process Modelling Notation (cont.)

Local composition ... Global collaboration ...

slide-11
SLIDE 11

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 states

WCF : P(P State); BPD ::= states WCF

  • Env == BName

→ BPD

  • A process semantics for BPMN in CSP.

[[.]] : BName → Env → Process

slide-12
SLIDE 12

12

CSP

The grammar of CSP (subset). P, Q ::= P ||| Q | P [| A |] Q | P Q | P \ A | P △ Q | P ✷ Q | P o

9 Q | e → P | Skip | Stop

  • We write ✷ i : { 1 . . n } • P(i) to denote P(1) ✷ . . ✷ 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

slide-13
SLIDE 13

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 = ✷ i : (αY \ { fin.1 }) • (i → X ✷ fin.1 → Skip) Y = (S B E) S = int.b → fin.1 → Skip B = (int.b → st.b → int.e → B) ✷ fin.1 → Skip E = int.e → fin.1 → Skip within (Y [| αY |] X ) \ { |int| }

slide-14
SLIDE 14

14

Case Study

We present two simple examples based on a ticket reservation system adopted from Web Services Choreography Interface specification document.

  • 1st example: single business process (orchestration) to show

consistency check.

  • 2nd example: business collaboration (choreography) to show

compatibility check.

slide-15
SLIDE 15

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)
  • r Abstract (WSCI interface);

(WSCDL or WSCI Global Model);

  • Individual BPMN Pool
  • Message flows between

BPMN Pools

slide-16
SLIDE 16

16

A Single Business Process

see: Booking subprocess see: Process in CSP see: Consistency Verification

slide-17
SLIDE 17

17

A Single Business Process (cont.)

Let J be the index set: Airline = let X = ✷ i : (αY \ { fin.1, abt.1 }) • (i → X ✷ abt.1 → Stop ✷ 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)) ✷ (fin.1 → Skip) P(notify) = ((int.notify1 → Skip ✷ int.notify2 → Skip) o

9

st.notify → int.abt → P(notify)) ✷ (fin.1 → Skip) see: BPMN diagram

slide-18
SLIDE 18

18

A Single Business Process (cont.)

Booking subprocess, let J ′′ be the index set: Booking = let X = ✷ i : (αY \ { fin.3, fin.4 }) • (i → X ✷ (fin.3 → Skip ✷ fin.4 → Skip)) Y = ( j : J ′′ • αP(j) ◦ P(j)) within (Y [| αY |] X ) \ { |int| } P(start2) = (int.xs3 → P(start2)) ✷ (fin.3 → Skip ✷ fin.4 → Skip) P(xs3) = ((int.xs3 → (int.pbooking → Skip ✷ init.cancel → Skip)) o

9

P(xs3)) ✷ (fin.3 → Skip ✷ fin.4 → Skip) see: BPMN diagram

slide-19
SLIDE 19

19

Consistency Verification

  • CSP’s process refinement allows us to design and construct

specifications using BPMN;

  • We ask FDR to verify the following refinement assertion;

Spec1 ⊑F (Airline \ (αAirline \ αSpec1))

  • This refinement check demonstrates semantic consistency

between different levels of abstraction. see: BPMN diagram

slide-20
SLIDE 20

20

Collaboration - Global Model

  • A collaboration of business processes hence is the parallel

composition of processes each corresponding to a local participant. Collab = (Trm Ag) \ { |msg| }

  • Trm is the model of the traveller participant;
  • Ag is the model of the travel agent participant

see: Collaboration in BPMN see: Compatibility Verification

slide-21
SLIDE 21

21

Compatibility Verification

  • We ask FDR to verify the following refinement assertion;

Tr ⊑F (Collab \ (αCollab \ αTr))

  • This refinement check tells us whether the collaboration behaves

as specified by the traveller participant;

  • This requires the travel agent to be compatible with the

traveller participant. see: Collaboration in CSP

slide-22
SLIDE 22

22

Compatibility Verification (cont.)

  • The refinement assertion does not hold and a deadlock has
  • ccurred;
  • Participants in the collaboration are incompatible;
  • The following counterexample is given by FDR.

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

slide-23
SLIDE 23

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.

slide-24
SLIDE 24

24

Compatibility Verification (cont.)

  • The traveller may cancel her itinerary before deciding to reserve

her ticket, and send a message to the travel agent about the cancellation;

  • The travel agent may only carry out her cancellation after

entering the reservation phase, and hence may not receive the message from the traveller. see: Collaboration in BPMN

slide-25
SLIDE 25

25

Compatibility Verification (cont.)

see: Collaboration in BPMN see: Refinement Checks

slide-26
SLIDE 26

26

Compatibility Verification (cont.)

We ask FDR to verify the following refinement assertion: Tr ⊑F (Collab2 \ (αCollab2 \ αTr)) where Collab2 = (Trm Ag2) \ { |msg| } see: Model Correction

slide-27
SLIDE 27

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 graphical

editor

slide-28
SLIDE 28

28

Thank You

Web site: http://www.comlab.ox.ac.uk/peter.wong/ Email: peter.wong@comlab.ox.ac.uk

slide-29
SLIDE 29

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

slide-30
SLIDE 30

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

slide-31
SLIDE 31

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

slide-32
SLIDE 32

32

Ticket Reservation Collaboration

see: Introduction

slide-33
SLIDE 33

33

CSP

The grammar of CSP (subset). P, Q ::= P ||| Q | P [| A |] Q | P Q | P \ A | P △ Q | P ✷ Q | P o

9 Q | e → P | Skip | Stop

  • Skip, Stop - termination;.
  • e → P - prefixing;
  • P o

9 Q - sequential composition.

see: CSP

slide-34
SLIDE 34

34

CSP

The grammar of CSP (subset). P, Q ::= P ||| Q | P [| A |] Q | P Q | P \ A | P △ Q | P ✷ Q | P o

9 Q | e → P | Skip | Stop

  • P ||| Q - interleaving;
  • P [| A |] Q - partial interleaving;
  • P Q - parallel composition.

see: CSP

slide-35
SLIDE 35

35

CSP

The grammar of CSP (subset). P, Q ::= P ||| Q | P [| A |] Q | P Q | P \ A | P △ Q | P ✷ Q | P o

9 Q | e → P | Skip | Stop

  • P \ A - hiding;
  • P △ Q - interrupt;
  • P ✷ Q - external choice.

see: CSP

slide-36
SLIDE 36

36

CSP

The grammar of CSP (subset). P, Q ::= P ||| Q | P [| A |] Q | P Q | P \ A | P △ Q | P ✷ Q | P o

9 Q | e → P | Skip | Stop

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

⊑T : CSP ↔ CSP ∀ P, Q : CSP • P ⊑T Q ⇔ traces(P) ⊇ traces(Q)

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

⊑F : CSP ↔ CSP ∀ P, Q : CSP • P ⊑F Q ⇔ traces(P) ⊇ traces(Q) ∧ failures(P) ⊇ failures(Q) see: CSP

slide-37
SLIDE 37

37

Ticket Reservation Collaboration

see: Introduction see: Collaboration in CSP see: Model Correction and Error