verifying business process compatibility · 02 introduction business processes may be described as...
TRANSCRIPT
![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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/1.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/2.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/3.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/4.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/5.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/6.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/7.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/8.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/9.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/10.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/11.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/12.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/13.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/14.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/15.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/16.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/17.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/18.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/19.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/20.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/21.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/22.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/23.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/24.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/25.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/26.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/27.jpg)
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 29: Verifying Business Process Compatibility · 02 Introduction Business processes may be described as a Business Process Modelling Notation (BPMN) diagram; Local business process is](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/29.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/30.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/31.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/32.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/33.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/34.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/35.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/36.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042104/5e821cfdd767df0f214b60b5/html5/thumbnails/37.jpg)
37
Ticket Reservation Collaboration
see: Introductionsee: Collaboration in CSP
see: Model Correction and Error