Fine-grained Compatibility and Replaceability Analysis of Timed Web - - PowerPoint PPT Presentation

fine grained compatibility and replaceability analysis of
SMART_READER_LITE
LIVE PREVIEW

Fine-grained Compatibility and Replaceability Analysis of Timed Web - - PowerPoint PPT Presentation

Fine-grained Compatibility and Replaceability Analysis of Timed Web Service Protocols Julien Ponge 1 , 2 , Boualem Benatallah 2 , Fabio Casati 3 and Farouk Toumani 1 (1) Universit e Blaise Pascal, Clermont-Ferrand, France (2) UNSW, Sydney,


slide-1
SLIDE 1

Fine-grained Compatibility and Replaceability Analysis

  • f Timed Web Service Protocols

Julien Ponge1,2, Boualem Benatallah2, Fabio Casati3 and Farouk Toumani1

(1) Universit´ e Blaise Pascal, Clermont-Ferrand, France (2) UNSW, Sydney, Australia (3) University of Trento, Italy

ER 2007, Auckland, New Zealand

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 1 / 31

slide-2
SLIDE 2

Outline

1

Introduction

2

Timed protocols

3

Formal framework

4

Implementation and conclusion

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 2 / 31

slide-3
SLIDE 3

Outline

1

Introduction

2

Timed protocols

3

Formal framework

4

Implementation and conclusion

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 3 / 31

slide-4
SLIDE 4

WS for application integration

Databases, new and legacy applications My company

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 4 / 31

slide-5
SLIDE 5

WS for application integration

Databases, new and legacy applications My company RPC, MOM, ESB, ...

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 4 / 31

slide-6
SLIDE 6

WS for application integration

Databases, new and legacy applications My company RPC, MOM, ESB, ... Integrated applications and clients

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 4 / 31

slide-7
SLIDE 7

WS for application integration

Databases, new and legacy applications My company RPC, MOM, ESB, ... Integrated applications and clients Partner 1 HTML

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 4 / 31

slide-8
SLIDE 8

WS for application integration

Databases, new and legacy applications My company RPC, MOM, ESB, ... Integrated applications and clients Partner 1 Partner 2 HTML VPN + adapters

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 4 / 31

slide-9
SLIDE 9

WS for application integration

Databases, new and legacy applications My company RPC, MOM, ESB, ... Integrated applications and clients Partner 1 Partner 2 Web services XML, SOAP, HTTP, ...

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 4 / 31

slide-10
SLIDE 10

Static vs dynamic interface

Web service Operations, message schemas, binding, ... answer AnswerMessage login LoginMessage search SearchMessage WSDL

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 5 / 31

slide-11
SLIDE 11

Static vs dynamic interface

Web service Operations, message schemas, binding, ... answer AnswerMessage login LoginMessage search SearchMessage WSDL Valid conversations: login, search, answer login, search, answer, search, answer (...) Invalid conversations: search, login, answer answer, search, login (...)

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 5 / 31

slide-12
SLIDE 12

Business Protocols

[ER 2004, DKE: Benatallah, Casati, Toumani]

Conversations: message choreographies Finite deterministic automata Execution traces semantics

login start answered logged search searching answer − search

Extensions: transactions, timing constraints, policies, ...

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 6 / 31

slide-13
SLIDE 13

Compatibility analysis

Requester / service Service

?

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 7 / 31

slide-14
SLIDE 14

Replaceability analysis

Requester Service 1

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 8 / 31

slide-15
SLIDE 15

Replaceability analysis

Requester Service 1 Service 2

?

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 8 / 31

slide-16
SLIDE 16

Use-case: agile composition runtimes

Development environment Runtime environment Composite application Services with protocol descriptions Compatibility Replaceability

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 9 / 31

slide-17
SLIDE 17

A need for timing constraints

Many examples: TCP/IP, watchdogs transaction locks business agreements BPEL (wait / onAlarm) RosettaNet ...

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 10 / 31

slide-18
SLIDE 18

Outline of contributions

1 Extension of business protocols 2 Compatibility and replaceability analysis 3 A new class of timed automata 4 Implementation Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 11 / 31

slide-19
SLIDE 19

Outline

1

Introduction

2

Timed protocols

3

Formal framework

4

Implementation and conclusion

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 12 / 31

slide-20
SLIDE 20

Primitives

C-Invoke Temporal windows for a message exchange M-Invoke Expiration for an implicit state change C-Invoke((T1 < 12h:50m) ∧ (T2 > 1h)) M-Invoke((T1 = 6h) ∧ (T2 > 1h)) (· · · )

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 13 / 31

slide-21
SLIDE 21

Primitives

C-Invoke Temporal windows for a message exchange M-Invoke Expiration for an implicit state change C-Invoke((T1 < 12h:50m) ∧ (T2 > 1h)) M-Invoke((T1 = 6h) ∧ (T2 > 1h)) (· · · )

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 13 / 31

slide-22
SLIDE 22

Extensions s5 s6

T6 :loanOffer−

s7

C−InvokeT611d T7 :loanAccept

s8

M−InvokeT6=30d T7 :offerExpired

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 14 / 31

slide-23
SLIDE 23

Analysis classes

Compatibility:

◮ full ◮ partial

Replaceability:

◮ full ◮ partial ◮ subsumption, equivalence ◮ w.r.t. client protocol ◮ w.r.t. interaction role

A set of flexible classes because of a versatile environment

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 15 / 31

slide-24
SLIDE 24

Illustration of replaceability w.r.t. client protocol

T1: a

s0 s1 s2 s3 s4

T2: b− T3: c− T4 :d  T5 :e

P

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 16 / 31

slide-25
SLIDE 25

Illustration of replaceability w.r.t. client protocol

T1: a

s0 s1 s2 s3 s4

T2: b− T3: c− T4 :d  C−InvokeT14h

P'

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 16 / 31

slide-26
SLIDE 26

Illustration of replaceability w.r.t. client protocol

T1: a

s0 s1 s2 s3 s4

T2: b− T3: c− T4 :d  T5 :e

P'

C−InvokeT14h

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 16 / 31

slide-27
SLIDE 27

Illustration of replaceability w.r.t. client protocol

T1: a

s0 s1 s2 s3 s4

T2: b− T3: c− T4 :d  T5 :e

P

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 16 / 31

slide-28
SLIDE 28

Illustration of replaceability w.r.t. client protocol

T1: a

s0 s1 s2 s3 s4

T2: b− T3: c− T4 :d  C−InvokeT14h

P'

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 16 / 31

slide-29
SLIDE 29

Characterization through operators

Comparison subsumption (⊑), equivalence (≡) Manipulation parallel composition (TC), intersection (TI), difference (TD) Example: P1 can replace P2 w.r.t. a client protocol PC iff:

  • PC TC P2
  • P2 ⊑ P1, or

PC TC (P2 TD P1) = ∅

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 17 / 31

slide-30
SLIDE 30

Characterization through operators

Comparison subsumption (⊑), equivalence (≡) Manipulation parallel composition (TC), intersection (TI), difference (TD) Example: P1 can replace P2 w.r.t. a client protocol PC iff:

  • PC TC P2
  • P2 ⊑ P1, or

PC TC (P2 TD P1) = ∅

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 17 / 31

slide-31
SLIDE 31

1 Algorithms and decidability? 2 Are timed protocols closed under our operators?

slide-32
SLIDE 32

Outline

1

Introduction

2

Timed protocols

3

Formal framework

4

Implementation and conclusion

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 19 / 31

slide-33
SLIDE 33

Timed automata

(Alur, Dill 1994)

Clocks over dense time + constraints + resets Vibrant research Use-cases: {system, property} − → checker − → {yes, no}

s0

s2

s1 a x :=0 b x5

“Timed words such that a follows b by at most 5 units of time”

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 20 / 31

slide-34
SLIDE 34

Mapping

Timed protocols Protocol TA Timed automata + extensions

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 21 / 31

slide-35
SLIDE 35

Mapping

S0 S1 S2 T 1: a− T 2:b C−InvokeT 15h S4 S3 T 3:c T 4: S0 S1 S2 a− x 1:=0 b x15 x 2:=0 S4 S3 c x 210 x 2=10

Timed protocol Timed automaton

M−InvokeT 2=10h  x 3:=0 x 4:=0

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 21 / 31

slide-36
SLIDE 36

Mapping

S0 S1 S2 T 1: a− T 2:b C−InvokeT 15h S4 S3 T 3:c T 4: S0 S1 S2 a− x 1:=0 b x15 x 2:=0 S4 S3 c x 210 x 2=10

Timed protocol Timed automaton

M−InvokeT 2=10h  x 3:=0 x 4:=0

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 21 / 31

slide-37
SLIDE 37

Mapping

S0 S1 S2 T 1: a− T 2:b C−InvokeT 15h S4 S3 T 3:c T 4: S0 S1 S2 a− x 1:=0 b x15 x 2:=0 S4 S3 c x 210 x 2=10

Timed protocol Timed automaton

M−InvokeT 2=10h  x 3:=0 x 4:=0

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 21 / 31

slide-38
SLIDE 38

The case of ε-transitions

They have clock resets and they cannot be removed!

Proof

Based on precise actions (B´ erard, Diekert, Gastin, Petit 99)

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 22 / 31

slide-39
SLIDE 39

The case of ε-transitions

s0 s2 s1

T 2:b , 0xT11  1, xT1=1  2, xT 3=1 T 3: b 0x 11 ∧  xT 11 T 1: a xT1=1∧x 1≠0 ∨ x 1=1∧x 2≠0 ∨ x 2=1∧x 11

s0

(b, δ1) · (b, δ2) · · · (b, δd−1) · (a, d) · (a, d + 1) · · · − → the occurrences of a-events should be precise

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 22 / 31

slide-40
SLIDE 40

The case of intersection / composition

Usual technique

Product with label synchronization

s1 s2 s3 a(+) b(+) s1' s2' s3' a(+) c(+) s1,s1' s2,s2' a(+)

||ti

Determinism problem: ε-transitions are never synchronized!

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 23 / 31

slide-41
SLIDE 41

The case of intersection / composition

s1 s2 s3 a(+) s1' s2' s3' a(+) s1,s1' s2,s2' a(+)

||ti

 x1=k 1∧ 1  x2=k 2∧ 2 s3,s1' s1,s3' s3,s3'  x1=k 1∧ 1∧¬x2=k 2∧ 2  ¬x1=k 1∧ 1∧x2=k 2∧ 2  x1=k 1∧ 1∧x2=k 2∧ 2  x2=k 2∧ 2  x1=k 1∧ 1

Keeps semantics and determinism! (mandatory (xi = ki) clauses in M-Invoke )

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 23 / 31

slide-42
SLIDE 42

The case of difference / complementation

Extension of the procedure on deterministic TA

s0 s1 s2

a , 1 b , 2

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 24 / 31

slide-43
SLIDE 43

The case of difference / complementation

Extension of the procedure on deterministic TA

s0 s1 s2

a , 1 b , 2

q

a ,¬ 1 b a b ,¬ 2 a ,b

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 24 / 31

slide-44
SLIDE 44

The case of difference / complementation

Extension of the procedure on deterministic TA

a , 1 b , 2 a ,¬ 1 b a b ,¬ 2 a ,b

s2 q s1 s0

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 24 / 31

slide-45
SLIDE 45

The case of difference / complementation

Needs exactly 1 run per recognized timed word!

s0 s1 s2

a , 1 b , 2

s3

b , 2

? (a,0) (b,3)

The extended complementation procedure keeps this property

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 24 / 31

slide-46
SLIDE 46

The case of subsumption / equivalence

The test P1 ⊑ P2 is equivalent to P1 ∩ P2 = ∅ (timed language inclusion problem)

Complementation

PTA are closed under complementation

Emptiness checking (Alur, Dill 94)

The problem is PSPACE-complete − → ⊑ and ≡ need a model-checker (UPPAAL, Kronos, ...)

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 25 / 31

slide-47
SLIDE 47

The case of subsumption / equivalence

The test P1 ⊑ P2 is equivalent to P1 ∩ P2 = ∅ (timed language inclusion problem)

Complementation

PTA are closed under complementation

Emptiness checking (Alur, Dill 94)

The problem is PSPACE-complete − → ⊑ and ≡ need a model-checker (UPPAAL, Kronos, ...)

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 25 / 31

slide-48
SLIDE 48

Results

1 Timed protocols are closed under manipulation

  • perators

2 Timed automata based algorithms for

manipulation and comparison operators

3 Every compatibility and replaceability class can be

implemented

4 Protocol timed automata form a new class of

timed automata

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 26 / 31

slide-49
SLIDE 49

Outline

1

Introduction

2

Timed protocols

3

Formal framework

4

Implementation and conclusion

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 27 / 31

slide-50
SLIDE 50

Prototype

Eclipse-based Protocol editor Protocol operators Complementary modules: Protocol extraction from BPEL Protocol mining from execution logs (lead by Hamid Motahari)

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 28 / 31

slide-51
SLIDE 51
slide-52
SLIDE 52

Perspectives

Refined expressiveness (in progress) Agile composition development and execution runtimes Analyse at the composition level Help BPEL engines scalability (with O. Coupelon)

Ponge et al. (UBP, UNSW, U.Trento) Analysis of Timed Protocols ER 2007, Auckland 30 / 31

slide-53
SLIDE 53

Questions?

http://www.isima.fr/∼ponge/ http://servicemosaic.isima.fr/