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

calculating confluence compositionally
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

1 CAV - Boulder, Colorado - July 12th, 2003

Calculating τ-Confluence Compositionally

Gordon J. Pace

University of Malta, Malta

Frédéric Lang, Radu Mateescu

INRIA Rhône-Alpes, France

slide-2
SLIDE 2

2 CAV - Boulder, Colorado - July 12th, 2003

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

slide-3
SLIDE 3

3 CAV - Boulder, Colorado - July 12th, 2003

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

slide-4
SLIDE 4

4 CAV - Boulder, Colorado - July 12th, 2003

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

slide-5
SLIDE 5

5 CAV - Boulder, Colorado - July 12th, 2003

Strong τ-Confluence Definition τ∈T a τ∈T a τ∈T a τ∈T τ τ∈T

Blue arcs: for all Red arcs: there exists

a

  • r
  • r
slide-6
SLIDE 6

6 CAV - Boulder, Colorado - July 12th, 2003

τ-Prioritisation Intuition

By removing any transition in choice with a τ-confluent transition the LTS remains unchanged modulo branching bisimulation

slide-7
SLIDE 7

7 CAV - Boulder, Colorado - July 12th, 2003

τ-Prioritisation Example a a b τ τ b

slide-8
SLIDE 8

8 CAV - Boulder, Colorado - July 12th, 2003

τ-Prioritisation Example a a b τ τ b

slide-9
SLIDE 9

9 CAV - Boulder, Colorado - July 12th, 2003

τ-Prioritisation Example a b τ

slide-10
SLIDE 10

10 CAV - Boulder, Colorado - July 12th, 2003

τ-Prioritisation and τ-Circuits

Exception: Circuit of τ-confluent transitions ≠ Circuits of τ-confluent transitions shall be eliminated on the fly =

τ* a τ* τ* a a

slide-11
SLIDE 11

11 CAV - Boulder, Colorado - July 12th, 2003

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

slide-12
SLIDE 12

12 CAV - Boulder, Colorado - July 12th, 2003

Our Contribution

  • Finding τ-confluence on the fly using

Boolean Equation Systems

  • Deducing τ-confluence in a system from

that found in its (parallel) components

slide-13
SLIDE 13

13 CAV - Boulder, Colorado - July 12th, 2003

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 = v1 ∨ … ∨ vn or v = v1 ∧ … ∧ vn The least and greatest solution of a BES can be efficiently found with an on the fly algorithm (CAESAR_SOLVE library in CADP)

slide-14
SLIDE 14

14 CAV - Boulder, Colorado - July 12th, 2003

τ-Confluence Using BESs τ b q a g r s t z …

cq,r = dq,r,s,a ∧ … ∧ dq,r,z,g

The silent transition between q and r is confluent The three states q, r and s can be closed in a τ-confluence diamond

slide-15
SLIDE 15

15 CAV - Boulder, Colorado - July 12th, 2003

Finding τ-Confluence Using BESs r τ a τ a s q t1

dq,r,s,a = cs,t1 ∨ …∨ cs,tn

tn a τ …

slide-16
SLIDE 16

16 CAV - Boulder, Colorado - July 12th, 2003

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

slide-17
SLIDE 17

17 CAV - Boulder, Colorado - July 12th, 2003

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

slide-18
SLIDE 18

18 CAV - Boulder, Colorado - July 12th, 2003

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

slide-19
SLIDE 19

19 CAV - Boulder, Colorado - July 12th, 2003

τ-Confluence & Composition

Particular case of Theorem 1 τ |[G]|

G' G'\G G'\G

τ τ τ … … …

N

  • t

h e r t r a n s i t i

  • n

i n c h

  • i

c e

slide-20
SLIDE 20

20 CAV - Boulder, Colorado - July 12th, 2003

τ-Confluence & Composition

Particular case of Theorem 1 τ |[G]|

G' G'\G

τ

F

  • r

i n s t a n c e

  • b

t a i n e d b y τ

  • p

r i

  • r

i t i s a t i

  • n

S t a y p r i

  • r

i t i s e d

… …

slide-21
SLIDE 21

21 CAV - Boulder, Colorado - July 12th, 2003

τ-Confluence & Composition

There are also locally visible transitions that may lead to τ-confluent transitions

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

A

slide-22
SLIDE 22

22 CAV - Boulder, Colorado - July 12th, 2003

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

slide-23
SLIDE 23

23 CAV - Boulder, Colorado - July 12th, 2003

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)

slide-24
SLIDE 24

24 CAV - Boulder, Colorado - July 12th, 2003

Experiment: rel/REL

hide R_T1, R_T2, R1, R2 in CRASH_TRANSMITTER |[R_T1, R_T2]| ( (RECEIVER_THREAD1 || FAIL_RECEIVER1) |[R1, R2]| (RECEIVER_THREAD2 || FAIL_RECEIVER2) )

Reliable atomic multicast protocol between one transmitter and several receivers

slide-25
SLIDE 25

25 CAV - Boulder, Colorado - July 12th, 2003

Experiment: rel/REL

0% 0% 1 059 130 1 059 130 FAIL_RECEIVERn 31% 0% 115 697 16 260 167 829 16 260 RECEIVER_THREADn 22% 14% 84 73 108 85 CRASH_TRANSMITTER transitions states transitions states transitions states Difference % τ -prioritised Normal

Normal generation versus on the fly τ-prioritisation of processes

slide-26
SLIDE 26

26 CAV - Boulder, Colorado - July 12th, 2003

Experiment: rel/REL

Cost and effect of τ-prioritisation in composition expression

1% 3m03s 3m05s SVL execution time 32% 3 944 5 776 EXP.OPEN memory consumption (Kb) 9% 2m10s 2m23s EXP.OPEN execution time 72% 220 754 783 470 Number of transitions 54% 114 621 249 357 Number of states Difference % τ-prioritised Normal

slide-27
SLIDE 27

27 CAV - Boulder, Colorado - July 12th, 2003

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