calculating confluence compositionally
play

Calculating - Confluence Compositionally Gordon J. Pace - PowerPoint PPT Presentation

Calculating - Confluence Compositionally Gordon J. Pace University of Malta, Malta Frdric Lang, Radu Mateescu INRIA Rhne-Alpes, France 1 CAV - Boulder, Colorado - July 12th, 2003 Context Explicit state model-checking, state


  1. Calculating τ - Confluence Compositionally Gordon J. Pace University of Malta, Malta Frédéric Lang, Radu Mateescu INRIA Rhône-Alpes, France 1 CAV - Boulder, Colorado - July 12th, 2003

  2. Context • Explicit state model-checking, state explosion… • Compositional & on the fly verification – Intermediate model representation as network of LTSs ( composition expression ) – Local generation of LTS guided by verification needs • Usually interested in properties up to branching bisimulation – Not all interleavings involving silent ( τ ) transitions are relevant 2 CAV - Boulder, Colorado - July 12th, 2003

  3. This talk • Reduction techniques to eliminate irrelevant interleavings involving τ transitions – Based on strong τ - confluence (Groote & Selink 1996) and τ - prioritisation (Groote & van de Pol 2000) – On the fly – Using analysis of the composition expression architecture to eliminate τ transitions efficiently – Implemented in the CADP toolbox • Techniques related to "partial order" reduction … but preserving branching bisimulation 3 CAV - Boulder, Colorado - July 12th, 2003

  4. Strong τ - Confluence Intuition A set of τ transitions T is τ -confluent if the system has the same behaviour after firing any transition in T as it had before 4 CAV - Boulder, Colorado - July 12th, 2003

  5. Strong τ - Confluence Definition Blue arcs: for all a Red arcs: there exists τ ∈ T or a τ ∈ T a τ τ ∈ T or τ ∈ T a τ ∈ T 5 CAV - Boulder, Colorado - July 12th, 2003

  6. τ - Prioritisation Intuition By removing any transition in choice with a τ - confluent transition the LTS remains unchanged modulo branching bisimulation 6 CAV - Boulder, Colorado - July 12th, 2003

  7. τ - Prioritisation Example a b a τ τ b 7 CAV - Boulder, Colorado - July 12th, 2003

  8. τ - Prioritisation Example a b a τ τ b 8 CAV - Boulder, Colorado - July 12th, 2003

  9. τ - Prioritisation Example a τ b 9 CAV - Boulder, Colorado - July 12th, 2003

  10. τ -Prioritisation and τ -Circuits Exception: Circuit of τ -confluent transitions τ * τ * ≠ a Circuits of τ -confluent transitions shall be eliminated on the fly τ * = a a 10 CAV - Boulder, Colorado - July 12th, 2003

  11. Finding τ - Confluence • Groote & van de Pol, MFCS 2000 Global algorithm with complexity O(m x fanout τ 3 ) where – m is the total number of transitions in the LTS – fanout τ is the maximal number of τ transitions in choice • Blom & van de Pol, CAV 2002 Automated theorem prover used to deduce confluence from a symbolic intermediate level description 11 CAV - Boulder, Colorado - July 12th, 2003

  12. Our Contribution • Finding τ -confluence on the fly using Boolean Equation Systems • Deducing τ -confluence in a system from that found in its (parallel) components 12 CAV - Boulder, Colorado - July 12th, 2003

  13. Boolean Equation Systems Boolean Equation Systems (BESs) are made of • A set of variables V • For each variable v, an equation of the form v = v 1 ∨ … ∨ v n or v = v 1 ∧ … ∧ v n The least and greatest solution of a BES can be efficiently found with an on the fly algorithm ( CAESAR_SOLVE library in CADP) 13 CAV - Boulder, Colorado - July 12th, 2003

  14. τ - Confluence Using BESs q c q,r = d q,r,s,a ∧ … ∧ d q,r,z,g τ g a b … r s t z The three states q , r The silent and s can be closed transition between in a τ -confluence diamond q and r is confluent 14 CAV - Boulder, Colorado - July 12th, 2003

  15. Finding τ - Confluence Using BESs q d q,r,s,a = c s,t1 ∨ … ∨ c s,tn a τ s r a τ τ a … t 1 t n 15 CAV - Boulder, Colorado - July 12th, 2003

  16. Finding τ -Confluence Using BESs • Resolution procedure permits to find all τ - confluent transitions • With complexity O(m τ x fanout τ x fanout) where – m τ is the number of τ transitions in the LTS – fanout τ is the maximal number of τ transitions simultaneously fireable – fanout is the maximal number of transitions simultaneously fireable 16 CAV - Boulder, Colorado - July 12th, 2003

  17. Composition Expressions Composition expressions are networks of LTSs built upon LOTOS parallel composition and hiding hide R_T1, R_T2, R1, R2 in CRASH_TRANSMITTER |[R_T1, R_T2]| ( (RECEIVER_THREAD1 || FAIL_RECEIVER1) |[R1, R2]| (RECEIVER_THREAD2 || FAIL_RECEIVER2) ) 17 CAV - Boulder, Colorado - July 12th, 2003

  18. Finding τ -Confluence in Composition Expressions Theorem 1: τ -confluent transitions in an LTS appearing in a composition expression generate only τ -confluent transitions By calculating τ -confluent transitions of (small) components, some τ -confluence in the resulting compound LTS can be identified 18 CAV - Boulder, Colorado - July 12th, 2003

  19. τ -Confluence & Composition Particular case of Theorem 1 τ τ |[G]| G'\G G' … … τ τ G'\G … N o o t h e r t r a n s i t i o n i n c h o i c e 19 CAV - Boulder, Colorado - July 12th, 2003

  20. τ -Confluence & Composition Particular case of Theorem 1 τ τ |[G]| G' … G'\G … F o r i n s t a n c e S t a y o b t a i n e d b y p r i o r i t i s e d τ - p r i o r i t i s a t i o n 20 CAV - Boulder, Colorado - July 12th, 2003

  21. τ -Confluence & Composition There are also locally visible transitions that may lead to τ -confluent transitions A can be prioritised if (1) A is hidden in the context of the expression (2) A is not synchronised in the context (3) there is no other transition locally in choice with A 21 CAV - Boulder, Colorado - July 12th, 2003

  22. Finding τ - Confluence in Composition Expressions Theorem 2: A conservative set of transitions P can be identified such that only the transitions generated by P have a chance to be confluent By calculating P, we can assume that any transitions not generated by P are not τ -confluent in the resulting compound LTS 22 CAV - Boulder, Colorado - July 12th, 2003

  23. Finding τ - Confluence in Composition Expressions • Theorems 1 & 2 can be used to partially deduce τ -confluence without the need to apply the BES algorithm globally • Tools implemented in CADP – τ -CONFLUENCE: BES based algorithm – EXP.OPEN 2.0: Compositional τ -confluence deduction (Theorem 1) 23 CAV - Boulder, Colorado - July 12th, 2003

  24. Experiment: rel/REL Reliable atomic multicast protocol between one transmitter and several receivers hide R_T1, R_T2, R1, R2 in CRASH_TRANSMITTER |[R_T1, R_T2]| ( (RECEIVER_THREAD1 || FAIL_RECEIVER1) |[R1, R2]| (RECEIVER_THREAD2 || FAIL_RECEIVER2) ) 24 CAV - Boulder, Colorado - July 12th, 2003

  25. Experiment: rel/REL Normal generation versus on the fly τ -prioritisation of processes Normal τ -prioritised Difference % states transitions states transitions states transitions CRASH_TRANSMITTER 85 108 73 84 14% 22% RECEIVER_THREAD n 16 260 167 829 16 260 115 697 0% 31% FAIL_RECEIVER n 130 1 059 130 1 059 0% 0% 25 CAV - Boulder, Colorado - July 12th, 2003

  26. Experiment: rel/REL Cost and effect of τ -prioritisation in composition expression Normal τ -prioritised Difference % Number of states 249 357 114 621 54% Number of transitions 783 470 220 754 72% E XP .O PEN execution time 2m23s 2m10s 9% E XP .O PEN memory consumption (Kb) 5 776 3 944 32% SVL execution time 3m05s 3m03s 1% 26 CAV - Boulder, Colorado - July 12th, 2003

  27. Conclusions • Efficient techniques on selected examples – τ -confluence is created mostly by parallel composition – But the memory overhead is negligible in worst cases • On the fly τ -prioritisation can be used as preprocessing step for branching minimisation • Results are not limited to LOTOS-like expressions EXP.OPEN implements other operators (CCS, CSP, muCRL, E-LOTOS) using synchronization vectors • Potential τ -confluence still to be exploited in tools • CADP web page: http://www.inrialpes.fr/vasy/cadp 27 CAV - Boulder, Colorado - July 12th, 2003

Recommend


More recommend