Formal Development of Choreographic Business Processes

LIMOS, Clermont-Ferrand, 8 juin 2017
Pascal Poizat

Formal Development of Choreographic Business Processes
LIMOS, Clermont-Ferrand, 8 juin 2017

Pascal Poizat
Université Paris Nanterre
Sorbonne Universités, UPMC Univ Paris 06, UMR 7606, LIP6
CNRS, UMR 7606, LIP6

joint work with M. Güdemann, H. N. Nguyen, G. Salaün, L. Ye, and F. Zaïdi

A Short Comment on (Formal) Models

>Diving into Choreographies

The Shop-n-Deliver Collaboration

Local Views over Shop-n-Deliver

  • orchestration models

  • centered on a specific role
    buyer or vendor or shipper

  • the view is local to the role of interest

  • captures conversations
    between the role and its partners

  • e.g., WS-BPEL code

Global View over Shop-n-Deliver

  • choreography interconnection model

  • takes into account all roles
    buyer and vendor and shipper

  • the view is global
    with internal details of the roles

  • captures conversations
    between all roles
    interaction is not central

  • e.g., BPMN collaboration diagram

Global View over Shop-n-Deliver

  • choreography interaction model

  • takes into account all roles
    buyer and vendor and shipper

  • the view is global
    without internal details of the roles

  • captures conversations
    between all roles
    interaction is central

  • e.g., BPMN choreography diagram
    since BPMN 2.0

Conclusion on Global vs. Local Views

Top-Down Development

Bottom-Up Development

>VerChor

[Güdemann et al, IEEE Trans. Services Computing, 9(4), 2016]
VerChor framework

Synchronizability ()

objective: avoid state-space explosion due to asynchronous communication

Realizability () & Conformance ()

objective: check if peers can be implemented by (natural) projection or be reused

Choreography Development in VerChor

From Formal Framework to Formal IDE

Online Shopping 1.0: BPMN

Choreography Intermediate Format (CIF)

Online Shopping 1.0: CIF

CIF → LNT

Verification Scripts (SVL)

Online Shopping 1.0: LNT and SVL

Online Shopping 2.0: BPMN

>SChorA

[Nguyen et al, ICSOC'12] [Nguyen et al, ISSRE'13]
SchorA tool

The ChorD Language

L semantics
1 skip
α interaction
L1; L2 sequence
L1 + L2 choice
L1 | L2 parallelism
L1 [> L2 interruption
[φ] ▹ L if-then
[φ] * L while
α choreography language semantics
o[a,b].x interaction o from a to b ← no data?

The ChorD Language

L semantics
1 skip
α interaction
L1; L2 sequence
L1 + L2 choice
L1 | L2 parallelism
L1 [> L2 interruption
[φ] ▹ L if-then
[φ] * L while
α role language semantics
o[a,b]?x reception o in a from b, x is not bound
o[a,b]?<x> reception of o in a from b, x is bound
o[a,b]!x emission of o in a to b, x is not bound
o[a,b]!<x> emission of o in a to b, x is bound
τ internal action

Symbolic Transition Graphs (STG)

request[buyer,vendor].<x>;
[x≤0] * (error[vendor,buyer]; request[buyer,vendor].<x>);
confirm[vendor,buyer].x

Choreography Development in SChorA

Conformance and Data

approach data | support using loops assignments equivalence
[Busi et al, Coordination'06] yes closure no yes branching bisimulation
[Li et al, TASE'07] closure yes yes weak bisimulation
[Kazhamiakin et Pistore, WS-FM'06] bound domains yes no branching bisimulation

Conformance Verification

  1. hide (τ) additional interactions in the implementation
    these interactions may have been added by the developper to reach conformance
    they may also result from peers interacting with partners outside the scope of the choreography
  2. compute the most general constraint ρ over data exchanged between peers to achieve conformance
    modification of [Li and Chen, TACAS'99], symbolic weak bisimulation → symbolic branching bisimulation
    ρ is obtained as a Predicate Equation System (PES)
  3. verify ρ using the Z3 SMT solver
    transformation from PES to the Z3 input language
  4. reach verdict (true / false / maybe / inconclusive)
    if [ρ=false]↝ unsat then ρ is always true and we have conformance
    else verdict based on [ρ=true]: unsat → false, sat → maybe, and timeout → inconclusive

Choreography Development in SChorA

Realizability and Data

approach synchr. communication asynchr. communication #causality semantics
[Sun et al, APSEC'10] yes no 1

Smart Projection

  1. prune unreachable transitions and states
    these are parts of the choreography that are not consistent
  2. connect consecutive interactions with different sender/receiver
    [Lanese et al, SEFM'08] e.g., o1[a,b].<x>; o2[c,d].<y> → o1[a,b].<x>; X[a,c]; o2[c,d].<y> (send-asynch)
  3. synchronize choice branches
    [Qiu et al, WWW'07] role-based, o1[a,b] + o2[a,c] + o3[d,e] → o1[a,b] + o2[a,c] + X[a,d]; o3[d,e] (send-asynch) nothing to do if data-based, o1[a,c].<x>; ([x>0] |> o2[a,b] + [x<0] |> o3[c,d])
  4. exchange information relative to data constraints between peers
    o1[a,b].<x>; o2[c,d].x → o1[a,b].<x>; X[b,c].x; o2[c,d].x (disjoint-asynch)

Example

Example

Example

Conclusion

U. Paris Nanterre / LIP6