Requirement for Service Composition Tian Huat Tan 1 , tienne Andr 2 , - - PowerPoint PPT Presentation

requirement for service composition
SMART_READER_LITE
LIVE PREVIEW

Requirement for Service Composition Tian Huat Tan 1 , tienne Andr 2 , - - PowerPoint PPT Presentation

Dynamic Synthesis of Local Time Requirement for Service Composition Tian Huat Tan 1 , tienne Andr 2 , Jun Sun 3 , Yang Liu 4 , Jin Song Dong 1 , Manman Chen 1 1 National University of Singapore, Singapore 2 Universit Paris 13, France 3


slide-1
SLIDE 1

Tian Huat Tan1, Étienne André2, Jun Sun3, Yang Liu4, Jin Song Dong1, Manman Chen1

1 National University of Singapore, Singapore 2 Université Paris 13, France 3 Singapore University of Technology and Design, Singapore 4 Nanyang Technological University, Singapore

Dynamic Synthesis of Local Time Requirement for Service Composition

slide-2
SLIDE 2

Outline

 Motivation  Introduction

 Service Composition  Global/Local Time Requirement

 Problem Statement  Model of the System Composition

 And/Or Labeled Transition System (AOLTS)

 Dynamic Synthesis of Local Time Requirement  Conclusion

1

slide-3
SLIDE 3

Motivation

2

slide-4
SLIDE 4

Introduction –

What is Service Composition?

 A service composition makes use of existing service-based

application as components to achieve a business goal, we denote the service that makes use of service composition as composite service.

 We denote the service that is made use by the composite

service as component service.

3

slide-5
SLIDE 5

Introduction –

What is Service Composition?

Free Indices Service Database Service Paid Indices Service Reply Indices Reply Failures Reply Indices 1 second On Message On Message 1 second Reply Indices Indices exist Indices do not exist Stock Market Indices Service

4

slide-6
SLIDE 6

Introduction –

Global Time Requirement

4 s Free Indices Service Database Service Paid Indices Service Reply Indices Reply Failures Reply Indices On Message On Message 1 second 1 second Reply Indices Indices exist Indices do not exist Stock Market Indices Service

5

slide-7
SLIDE 7

Introduction –

Local Time Requirement

4 s Free Indices Service Database Service Paid Indices Service Reply Indices Reply Failures Reply Indices On Message On Message 1 second 0.9 s 0.9 s 0.9 s There are infinite possibilities values of a,b,.. , where a,b,.. are real numbers. 1 second Reply Indices Stock Market Indices Service Indices exist Indices do not exist

6

slide-8
SLIDE 8

Introduction –

Local Time Requirement

4 s Free Indices Service Database Service Paid Indices Service Reply Indices Reply Failures Reply Indices On Message On Message 1 second a s b s c s There are infinite possibilities values of a,b,.. , where a,b,.. are real numbers. Reply Indices 1 second Indices do not exist Indices exist Stock Market Indices Service

7

slide-9
SLIDE 9

Introduction –

Tackle the infiniteness – reason parametrically

 Consider response times as parameters.  Two component services, flight service (fs) and hotel

service (hs), {fs=1,hs=2}, {fs=1.5,hs=1.5}, …

 To reason about the infiniteness, we can reason

parametrically.

 Make the response times as parameters tfs and ths

,

use constraints on the parameters, e.g. tfs + ths <= 3

8

slide-10
SLIDE 10

Introduction –

Local Time Requirement

4 s Free Indices Service Database Service Paid Indices Service Reply Indices Reply Failures Reply Indices On Message On Message 1 second a s b s c s There are infinite possibilities values of a,b,.. , where a,b,.. are real numbers. 1 second Reply Indices Stock Market Indices Service Indices exist Indices do not exist

9

slide-11
SLIDE 11

Introduction –

Local Time Requirement

4s Free Indices Service Database Service Paid Indices Service Reply Indices Reply Failures Reply Indices On Message On Message 1 second tFS tPS tDS

Local Time Requirement

(tFS<1tDS ≤3 tDS +tFS ≤3) (tPS<1tDS ≤3 tFS≤1  tDS +tFS ≤3)  (tPS<1tDS ≤3 tFS≥1  tDS +tPS ≤2) 1 second Reply Indices Stock Market Indices Service Indices exist Indices do not exist

10

slide-12
SLIDE 12

Problem Statement

Given the global time requirement, synthesize local time requirement in constraint format using fully automated method.

11

slide-13
SLIDE 13

Model of the System Composition -

BPEL Syntax

 rec(S) : receive from a service S  reply(S): reply to a service S  sInv(S)(aInv(S)): synchronous (asynchronous) invocation of

a service S

 P|||Q: concurrent execution of P and Q  P[b]Q: conditional activity, where b is a guard condition. If

b is evaluated as true, P is executed, otherwise, Q is executed.

 pick(S=>P

, alrm(a) =>Q): <pick> activity, where either receives the message from service S within a seconds, or timeouts at a seconds.

12

slide-14
SLIDE 14

s0: ( mpick, true, 0) s1: (i2[b]i3, t1 ≤ 1, t1) s2:(reply, t1 ≥ 1, 1)

Model of the System Composition -

LTS of Service P

s3:(stop, t1 ≤ 1, t1+t2) s4:(stop, t1 ≤ 1, t1+t3) s5:(stop, t1 ≥ 1, 1)

13

s0: ( mpick, true, 0)

mpick = pick (S1=>i2[b]i3, 1=> reply)

slide-15
SLIDE 15

Model of the System Composition - Calculating the constraint

s0: ( mpick, true, 0) s0

’: (mpickx, true, 0)

s1

’: (i2[b]i3, x=ts  idle(mpickx), ts)

s1

’: (i2[b]i3, x=ts  (x ≤ ts  x ≤ 1), ts)

s1: (i2[b]i3, ts ≤ 1, ts ) s2

’…

Clock pruning

=

14

mpick = pick (S1=>i2[b]i3, 1=> reply)

slide-16
SLIDE 16

Model of the System Composition – OR State

s0: (A|||B, true, 0) s1: (A, tb≤ta, tb) s2: (B, ta≤tb, ta) s0: ({ }, A|||B, true, 0) s1: ({ }, A, tb≤ta, tb) Abstract LTS Concrete LTS s0: (A|||B, true, 0)

OR

AOLTS s1: ({ }, B, ta≤tb, ta) Global time requirement: 5 seconds Synthesis Result: (tb≤ta  tb≤ 5)  (tb≤ta  ta ≤ 5) Sn-1: (Stop, tb≤ta, tb) Sn: (Stop ta≤tb, ta) s1: ({ }, Stop, tb≤ta, tb) s1: ({ }, Stop, ta≤tb, ta) Sn-1: (Stop, tb≤ta, tb) Sn: (Stop ta≤tb, ta)

15

slide-17
SLIDE 17

Model of the System Composition – And State

s0: (A[a=1]B, true, 0) s1: (A, true, 0) s2: (B, true, 0)

sn-1: (Stop, t ≤ 2, t)

sn: (Stop, t ≤ 3, t) s0: ({a1}, A[a=1]B, true, 0) s1: ({a1}, A, true, 0) sn-1: ({a1}Stop, t ≤ 2, t) Abstract LTS Concrete LTS s0: (A[a=1]B, true, 0)

AND

sn-1: (Stop, t ≤ 2, t) sn: (Stop, t ≤ 3, t) AOLTS Synthesis Result: (t ≤ 2  t ≤ 5)  (t ≤ 3  t ≤ 5) Global time requirement: 5 seconds

18

slide-18
SLIDE 18

s0: ( mpick, true, 0) s1: (i2[b]i3, t1 ≤ 1, t1) s2:(reply, t1 ≥ 1, 1)

Model of the System Composition -

LTS of Service P

s3:(stop, t1 ≤ 1, t1+t2) s4:(stop, t1 ≤ 1, t1+t3) s5:(stop, t1 ≥ 1, 1)

17

s0: ( mpick, true, 0)

mpick = pick (S1=>i2[b]i3, 1=> reply)

slide-19
SLIDE 19

Model of the System Composition -

AOLTS LTS of Service P

OR AND

s0:(mpick, true, 0) s4:(stop, t1 ≤ 1, t1+t3) s3:(stop, t1 ≤ 1, t1+t2) s2:(replybad, t1 ≥ 1, 1) s5:(stop, t1 ≥ 1, 1)

18

mpick = pick (S1=>i2[b]i3, 1=> reply)

Synthesis Result: (t1 ≤ 1  t1+t2 ≤ 4)

(t1 ≤ 1 t1+t3 ≤ 4) (t1 ≥ 1)

slide-20
SLIDE 20

Model of the System Composition -

AOLTS LTS of Service P

OR AND

s0:(mpick, true, 0) s4:(stop, t1 ≤ 1, t1+t3) s3:(stop, t1 ≤ 1, t1+t2) s2:(replybad, t1 ≥ 1, 1) s5:(stop, t1 ≥ 1, 1)

19

mpick = pick (S1=>i2[b]i3, 1=> reply)

Synthesis Result: ((t1 ≤ 1  t1+t2 ≤ 4) (t1 ≤ 1 t1+t3 ≤ 4))  (t1 ≥ 1)

slide-21
SLIDE 21

Bad State

Dynamic Synthesis of Local Time Requirement - OR AND

s0:(mpick, true, 0) s4:(stop, t1 ≤ 1, t1+t3) s3:(stop, t1 ≤ 1, t1+t2) s5:(stop, t1 ≥ 1, 1)

20

s2:(replybad, t1 ≥ 1, 1)

mpick = pick (S1=>i2[b]i3, 1=> [reply]bad)

slide-22
SLIDE 22

Bad State Propagation

Dynamic Synthesis of Local Time Requirement - OR AND

s0:(mpick, true, 0) s4:(stop, t1 ≤ 1, t1+t3) s3:(stop, t1 ≤ 1, t1+t2) s5:(stop, t1 ≥ 1, 1)

21

s2:(replybad, t1 ≥ 1, 1) s2:(replybad, t1 ≥ 1, 1)

mpick = pick (S1=>i2[b]i3, 1=> [reply]bad)

slide-23
SLIDE 23

Synthesize constraint

Dynamic Synthesis of Local Time Requirement - OR AND

s0:(mpick, true, 0) s4:(stop, t1 ≤ 1, t1+t3) s3:(stop, t1 ≤ 1, t1+t2) s2:(rbad, t1 ≥ 1, 1) s5:(stop, t1 ≥ 1, 1)

22

(t1 ≤ 1  t1+t2 ≤ 4) (t1 ≤ 1 t1+t3 ≤ 4)  (t1 ≥ 1)

Synthesis Result:

slide-24
SLIDE 24

Synthesize constraint

Dynamic Synthesis of Local Time Requirement -

Synthesis Result: (t1 ≤ 1  t1+t2 ≤ 4) (t1 ≤ 1 t1+t3 ≤ 4)   (t1 ≥ 1)

= t1 < 1  t1+t2 ≤ 4  t1+t3 ≤ 4

OR AND

s0:(mpick, true, 0) s4:(stop, t1 ≤ 1, t1+t3) s3:(stop, t1 ≤ 1, t1+t2) s2:(rbad, t1 ≥ 1, 1) s5:(stop, t1 ≥ 1, 1)

23

slide-25
SLIDE 25

Implementation and Evaluation

 Tools:

PPL - calculate the performs the constraint and clock pruning Z3 – To simplify the formula and checking the satisfiability of the formula

 Applying the method to two case studies

 Computer Purchasing Service  Travel Booking Service

24

slide-26
SLIDE 26

Evaluation- Computer Purchasing Service (e.g., Dell.com)

(State=457, Transition=6355, 2 seconds)

25

slide-27
SLIDE 27

Evaluation- Travel Booking Service (e.g., Zuji.com)

(State=705, Transition=3412, 1.5 seconds)

26

slide-28
SLIDE 28

Conclusion and Future Works

 A novel techniques has been proposed to synthesize the local

time constraint for the component service.

 The approach is based on parametric timed techniques, based

  • n AOLTS of the composite service.

 Future Work

 Reduction of states and transition  Investigate combination of our approach to other approach to

synthesize a better local time requirement

 Extend to other domains of similar problems, e.g. Sensor

Network

27

slide-29
SLIDE 29