requirement for service composition
play

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


  1. 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 Singapore University of Technology and Design, Singapore 4 Nanyang Technological University, Singapore

  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

  3. Motivation 2

  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

  5. Introduction – What is Service Composition? Stock Market Indices Service Database Service Indices do not exist Indices exist Reply Indices Free Indices Service On Message 1 second Reply Indices Paid Indices Service On Message 1 second Reply Indices Reply Failures 4

  6. Introduction – Global Time Requirement 4 s Stock Market Indices Service Database Service Indices exist Indices do not exist Free Indices Service Reply Indices On Message 1 second Reply Indices Paid Indices Service On Message 1 second Reply Indices Reply Failures 5

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

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

  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 t fs and t hs use constraints on the parameters, e.g. t fs + t hs <= 3 8

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

  11. Introduction – Local Time Requirement 4s Stock Market Indices Service t DS Database Service Indices exist Indices do not exist t FS Free Indices Service Reply Indices On Message 1 second t PS Reply Indices Paid Indices Service Local Time Requirement (t FS <1  t DS ≤3  t DS +t FS ≤3) On Message 1 second  (t PS <1  t DS ≤3  t FS ≤1  t DS +t FS ≤3)  (t PS <1  t DS ≤3  t FS ≥1  t DS +t PS ≤2) Reply Indices Reply Failures 10

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

  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

  14. Model of the System Composition - LTS of Service P mpick = pick (S 1 =>i 2 [b]i 3 , 1=> reply) s 0 : ( mpick, true, 0) s 0 : ( mpick, true, 0) s 1 : (i 2 [b]i 3 , t 1 ≤ 1, t 1 ) s 2 :(reply, t 1 ≥ 1, 1) s 5 :(stop, t 1 ≥ 1, 1) s 3 :(stop, t 1 ≤ 1, t 1 +t 2 ) s 4 :(stop, t 1 ≤ 1, t 1 +t 3 ) 13

  15. Model of the System Composition - Calculating the constraint mpick = pick (S 1 =>i 2 [b]i 3 , 1=> reply) s 0 : ( mpick, true, 0) ’ : (mpick x , true, 0) s 0 ’ … ’ : (i 2 [b]i 3 , x=t s  idle(mpick x ), t s ) s 1 s 2 = ’ : (i 2 [b]i 3 , x=t s  (x ≤ t s  x ≤ 1), t s ) s 1 Clock pruning s 1 : (i 2 [b]i 3, t s ≤ 1, t s ) 14

  16. Model of the System Composition – OR State Global time requirement: 5 seconds s 0 : ({ }, A|||B, true, 0) s 0 : (A|||B, true, 0) s 1 : (A, t b ≤t a , t b ) s 2 : (B, t a ≤t b , t a ) s 1 : ({ }, A, t b ≤t a , t b ) s 1 : ({ }, B, t a ≤t b , t a ) S n-1 : (Stop, t b ≤t a , t b ) S n : (Stop t a ≤t b , t a ) s 1 : ({ }, Stop, t b ≤t a , t b ) s 1 : ({ }, Stop, t a ≤t b , t a ) Abstract LTS Concrete LTS s 0 : (A|||B, true, 0) Synthesis Result: (t b ≤t a  t b ≤ 5)  (t b ≤t a  t a ≤ 5) OR AOLTS S n-1 : (Stop, t b ≤t a , t b ) S n : (Stop t a ≤t b , t a ) 15

  17. Model of the System Composition – And State Global time requirement: 5 seconds s 0 : ({a  1}, A[a=1]B, true, 0) s 0 : (A[a=1]B, true, 0) s 1 : ({a  1}, A, true, 0) s 1 : (A, true, 0) s 2 : (B, true, 0) s n-1 : (Stop, t ≤ 2, t) s n : (Stop, t ≤ 3, t) s n-1 : ({a  1}Stop, t ≤ 2, t) Abstract LTS Concrete LTS s 0 : (A[a=1]B, true, 0) Synthesis Result: (t ≤ 2  t ≤ 5)  (t ≤ 3  t ≤ 5) AND s n-1 : (Stop, t ≤ 2, t) s n : (Stop, t ≤ 3, t) AOLTS 18

  18. Model of the System Composition - LTS of Service P mpick = pick (S 1 =>i 2 [b]i 3 , 1=> reply) s 0 : ( mpick, true, 0) s 0 : ( mpick, true, 0) s 1 : (i 2 [b]i 3 , t 1 ≤ 1, t 1 ) s 2 :(reply, t 1 ≥ 1, 1) s 5 :(stop, t 1 ≥ 1, 1) s 3 :(stop, t 1 ≤ 1, t 1 +t 2 ) s 4 :(stop, t 1 ≤ 1, t 1 +t 3 ) 17

  19. Model of the System Composition - AOLTS LTS of Service P mpick = pick (S 1 =>i 2 [b]i 3 , 1=> reply) s 0 :(mpick, true, 0) OR AND s 2 :(reply bad , t 1 ≥ 1, 1) s 3 :(stop, t 1 ≤ 1, t 1 +t 2 ) s 5 :(stop, t 1 ≥ 1, 1) s 4 :(stop, t 1 ≤ 1, t 1 +t 3 ) Synthesis Result: (t 1 ≤ 1  t 1 +t 2 ≤ 4) (t 1 ≤ 1  t 1 +t 3 ≤ 4) (t 1 ≥ 1) 18

  20. Model of the System Composition - AOLTS LTS of Service P mpick = pick (S 1 =>i 2 [b]i 3 , 1=> reply) s 0 :(mpick, true, 0) OR AND s 2 :(reply bad , t 1 ≥ 1, 1) s 3 :(stop, t 1 ≤ 1, t 1 +t 2 ) s 5 :(stop, t 1 ≥ 1, 1) s 4 :(stop, t 1 ≤ 1, t 1 +t 3 ) Synthesis Result: ((t 1 ≤ 1  t 1 +t 2 ≤ 4)  (t 1 ≤ 1  t 1 +t 3 ≤ 4))  (t 1 ≥ 1) 19

  21. Dynamic Synthesis of Local Time Requirement - Bad State mpick = pick (S 1 =>i 2 [b]i 3 , 1=> [reply] bad ) s 0 :(mpick, true, 0) OR AND s 2 :(reply bad , t 1 ≥ 1, 1) s 3 :(stop, t 1 ≤ 1, t 1 +t 2 ) s 4 :(stop, t 1 ≤ 1, t 1 +t 3 ) s5 :(stop, t1 ≥ 1, 1) 20

  22. Dynamic Synthesis of Local Time Requirement - Bad State Propagation mpick = pick (S 1 =>i 2 [b]i 3 , 1=> [reply] bad ) s 0 :(mpick, true, 0) OR AND s 2 :(reply bad , t 1 ≥ 1, 1) s 2 :(reply bad , t 1 ≥ 1, 1) s 3 :(stop, t 1 ≤ 1, t 1 +t 2 ) s 4 :(stop, t 1 ≤ 1, t 1 +t 3 ) s 5 :(stop, t 1 ≥ 1, 1) 21

  23. Dynamic Synthesis of Local Time Requirement - Synthesize constraint s 0 :(mpick, true, 0) OR AND s 2 :(r bad , t 1 ≥ 1, 1) s 3 :(stop, t 1 ≤ 1, t 1 +t 2 ) s 5 :(stop, t 1 ≥ 1, 1) s 4 :(stop, t 1 ≤ 1, t 1 +t 3 ) Synthesis Result: (t 1 ≤ 1  t 1 +t 2 ≤ 4) (t 1 ≤ 1  t 1 +t 3 ≤ 4)  (t 1 ≥ 1) 22

  24. Dynamic Synthesis of Local Time Requirement - Synthesize constraint s 0 :(mpick, true, 0) OR AND s 2 :(r bad , t 1 ≥ 1, 1) s 3 :(stop, t 1 ≤ 1, t 1 +t 2 ) s 5 :(stop, t 1 ≥ 1, 1) s 4 :(stop, t 1 ≤ 1, t 1 +t 3 ) Synthesis Result: (t 1 ≤ 1  t 1 +t 2 ≤ 4)  (t 1 ≤ 1  t 1 +t 3 ≤ 4)   (t 1 ≥ 1) = t 1 < 1  t 1 +t 2 ≤ 4  t 1 +t 3 ≤ 4 23

  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

  26. Evaluation- Computer Purchasing Service (e.g., Dell.com) (State=457, Transition=6355, 2 seconds) 25

  27. Evaluation- Travel Booking Service (e.g., Zuji.com) (State=705, Transition=3412, 1.5 seconds) 26

  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 on 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

Recommend


More recommend