analysis of timing constraints in heterogeneous
play

Analysis of Timing Constraints in Heterogeneous Middleware - PowerPoint PPT Presentation

Analysis of Timing Constraints in Heterogeneous Middleware Interactions Ajay Kattepur 1 , Nikolaos Georgantas 2 , Georgios Bouloukakis 2 & Valrie Issarny 2 1 PERC, TCS Innovation Labs, Mumbai, India 2 MiMove Team, Inria Paris-Rocquencourt,


  1. Analysis of Timing Constraints in Heterogeneous Middleware Interactions Ajay Kattepur 1 , Nikolaos Georgantas 2 , Georgios Bouloukakis 2 & Valérie Issarny 2 1 PERC, TCS Innovation Labs, Mumbai, India 2 MiMove Team, Inria Paris-Rocquencourt, France ICSOC, Goa, November 2015 1

  2. Motivation What is the current traffic congestion on Mahatma Gandhi Road ? Crowd sourced Traffic Cameras Google “real time” traffic Information post post post Storage with limited validity “latest report” (lease) get get get Mobile Subscribers Connect/Disconnect (timeout) 2

  3. Motivation Future Internet Application Middleware: Web Services – Client-Service (CS) Data Feeds, IoT – Publish-Subscribe (PS) Crowd-sourcing – Tuple Spaces (TS) eXtensible Service Bus (XSB) Middleware – unifying connector for CS|PS|TS Timing Analysis of Interactions: Data validity constraint with lease parameter Intermittent subscriber availability with timeout parameter System designers can tune timing parameters for Transaction Success and Latency 3

  4. Outline eXtensible Service Bus (XSB) 1 Timing Analysis 2 Timed Automata and U ppaal 3 Experimental Results 4 Conclusions 5 4

  5. Middleware Interaction Paradigms send Client–Service (CS) Tight Time Coupling Client Server Tight Space Coupling receive subscribe Peer publish retrieve Publish–Subscribe (PS) Publisher Broker Time Decoupling retrieve Peer Space Decoupling Peer out out Tuple Space (TS) read Tuple Peer Space Time Decoupling Peer take/read Space Decoupling 5

  6. XSB Model eXtensible Service Bus (XSB) Middleware Connector 1 Primitives Arguments post mainscope, subscope, data, lease get ↑ mainscope, ↑ subscope, ↑ data, timeout Functional and non-functional (timed) behavior of CS|PS|TS interactions 2 Native Primitives XSB Primitives CS send (destination, operation, message) post (destination, operation, message, lease( 0 )) receive ( ↑ source, ↑ operation, get ( ↑ source, ↑ operation, ↑ message, ↑ message, timeout) timeout ) PS publish ( broker, filter, event, lease ) post ( broker, filter, event, lease ) retrieve ( ↑ broker, ↑ filter, ↑ event, get ( ↑ broker, ↑ filter, ↑ event, timeout) timeout ) TS out ( tspace, template, tuple, lease ) post ( tspace, template, tuple, lease ) take ( ↑ tspace, ↑ template, ↑ tuple, get ( ↑ tspace, ↑ template, ↑ tuple, timeout) timeout ) read ( ↑ tspace, ↑ template, ↑ tuple, get ( ↑ tspace, ↑ template, ↑ tuple, timeout) timeout ) 1 http://xsb.inria.fr/ 2S. S. Lam, “Protocol Conversion”, IEEE Trans. on Software Engineering , v. 14, n. 3, 1988. 6

  7. XSB Model eXtensible Service Bus (XSB) Middleware Connector 1 Primitives Arguments post mainscope, subscope, data, lease get ↑ mainscope, ↑ subscope, ↑ data, timeout Functional and non-functional (timed) behavior of CS|PS|TS interactions 2 Native Primitives XSB Primitives CS send (destination, operation, message) post (destination, operation, message, lease( 0 )) receive ( ↑ source, ↑ operation, get ( ↑ source, ↑ operation, ↑ message, ↑ message, timeout) timeout ) PS publish ( broker, filter, event, lease ) post ( broker, filter, event, lease ) retrieve ( ↑ broker, ↑ filter, ↑ event, get ( ↑ broker, ↑ filter, ↑ event, timeout) timeout ) TS out ( tspace, template, tuple, lease ) post ( tspace, template, tuple, lease ) take ( ↑ tspace, ↑ template, ↑ tuple, get ( ↑ tspace, ↑ template, ↑ tuple, timeout) timeout ) read ( ↑ tspace, ↑ template, ↑ tuple, get ( ↑ tspace, ↑ template, ↑ tuple, timeout) timeout ) 1 http://xsb.inria.fr/ 2S. S. Lam, “Protocol Conversion”, IEEE Trans. on Software Engineering , v. 14, n. 3, 1988. 6

  8. XSB Model Operations with active and inactive time interval constraints lease : max active interval for post (data validity) 1 timeout : invariant active interval for get (subscriber 2 availability) lease ≈ 0 for CS (tight time coupling) 3 Models time-correlation between post and get operations for forming end-to-end XSB transactions (CS ↔ PS ↔ TS) 3 Data processing, transmission and queueing times assumed negligible compared to lease / timeout intervals This corresponds to a G / G / ∞ / ∞ queueing model 3A. Kattepur, N. Georgantas & V. Issarny, “QoS Analysis in Heterogeneous Choreography Interactions”, ICSOC, 2013. 7

  9. XSB Model Operations with active and inactive time interval constraints lease : max active interval for post (data validity) 1 timeout : invariant active interval for get (subscriber 2 availability) lease ≈ 0 for CS (tight time coupling) 3 Models time-correlation between post and get operations for forming end-to-end XSB transactions (CS ↔ PS ↔ TS) 3 Data processing, transmission and queueing times assumed negligible compared to lease / timeout intervals This corresponds to a G / G / ∞ / ∞ queueing model 3A. Kattepur, N. Georgantas & V. Issarny, “QoS Analysis in Heterogeneous Choreography Interactions”, ICSOC, 2013. 7

  10. Outline eXtensible Service Bus (XSB) 1 Timing Analysis 2 Timed Automata and U ppaal 3 Experimental Results 4 Conclusions 5 8

  11. XSB Timing Model δ post δ ' post tpost t'' t'post post time lease lease lease timeout timeout time tget t' get δ get 9

  12. XSB Timing Model Disjunctive conditions for Transaction Success: If post occurs first (data posted): 1 t post < t get < t post + lease (1) get occurs before lease – transaction successful , or lease is reached – transaction is a failure If get occurs first (subscriber connected): 2 t get < t post < t get + timeout (2) post occurs before timeout – transaction successful , or timeout is reached – get operation yields no transaction Represents individual CS|PS|TS interactions and heterogeneous interconnections between them 10

  13. XSB Timing Model Disjunctive conditions for Transaction Success: If post occurs first (data posted): 1 t post < t get < t post + lease (1) get occurs before lease – transaction successful , or lease is reached – transaction is a failure If get occurs first (subscriber connected): 2 t get < t post < t get + timeout (2) post occurs before timeout – transaction successful , or timeout is reached – get operation yields no transaction Represents individual CS|PS|TS interactions and heterogeneous interconnections between them 10

  14. XSB Timing Model Disjunctive conditions for Transaction Success: If post occurs first (data posted): 1 t post < t get < t post + lease (1) get occurs before lease – transaction successful , or lease is reached – transaction is a failure If get occurs first (subscriber connected): 2 t get < t post < t get + timeout (2) post occurs before timeout – transaction successful , or timeout is reached – get operation yields no transaction Represents individual CS|PS|TS interactions and heterogeneous interconnections between them 10

  15. Outline eXtensible Service Bus (XSB) 1 Timing Analysis 2 Timed Automata and U ppaal 3 Experimental Results 4 Conclusions 5 11

  16. Timed Automata Model A timed automaton 4 is a finite automaton extended with real-valued clock variables. Clocks used to control post and get operations with active and inactive intervals Formal model on U ppaal 5 allows verification Two role automata Poster / Getter interact via the Glue automaton c! (sending action) synchronizes with the transition of another automaton labeled with c? (receiving action) 4R. Alur and D. L. Dill, “A Theory of Timed Automata”, Theoretical Computer Science , 1994. 5G. Behrmann, A. David, and K. G. Larsen, “A tutorial on U ppaal 4.0”, Aalborg University, Denmark, 2006. 12

  17. Poster - Timed Automata Model post_event post ! delta_post := 0 post_on delta_post <= max_delta_post post_off delta_post := lease post_end ? post_init delta_post := lease post_end_event 13

  18. Poster - Timed Automata Model post_event post ! delta_post := 0 post_on delta_post <= max_delta_post post_off delta_post := lease post_end ? post_init delta_post := lease post_end_event Uniform distribution of inactive post intervals Disallows concurrent active posts via Glue feedback Arrival process for one of the infinite on-demand servers of G / G / ∞ / ∞ model 14

  19. Getter - Timed Automata Model get_event get ! get_ret := 0, delta_get :=0 delta_get <= max_delta_get delta_get <= timeout get_off get_on delta_get := timeout delta_get >= timeout get_end ! get_init delta_get <= timeout get_return ? get_ret == 1 get_ret := 1 get_end_event no_trans get_ret == 0 15

  20. Getter - Timed Automata Model get_event get ! get_ret := 0, delta_get :=0 delta_get <= max_delta_get delta_get <= timeout get_off get_on delta_get := timeout delta_get >= timeout get_end ! get_init delta_get <= timeout get_return ? get_ret == 1 get_ret := 1 get_end_event no_trans get_ret == 0 Uniform distribution of inactive get intervals Controls active get intervals with a constant timeout Multiple posts may be received during an active interval Detects when no transaction is concluded ( no_trans event) 16

  21. Glue - Timed Automata Model delta_post_on := 0 post ? delta_post_on := 0 get ? post ? delta_post_on <= lease get ? glue_post glue_init glue_get glue_get_post delta_post_on <= lease get_return ! post_end ! get_end ? trans_succ post_end ! delta_post_on >= lease trans_fail 17

Recommend


More recommend