Towards synthesis of distributed algorithms with SMT solvers
- C. Delporte-Gallet, H. Fauconnier, Y. Jurski, F
. Laroussinie and Arnaud Sangnier IRIF - Univ Paris Diderot ANR DESCARTES 9th October 2019
1
Towards synthesis of distributed algorithms with SMT solvers C. - - PowerPoint PPT Presentation
Towards synthesis of distributed algorithms with SMT solvers C. Delporte-Gallet, H. Fauconnier, Y. Jurski, F . Laroussinie and Arnaud Sangnier IRIF - Univ Paris Diderot ANR DESCARTES 9th October 2019 1 Conception of distributed algorithms
1
1 For some distributed problems, there is no algorithm
2 To solve this issue, one might consider new execution contexts
3 The proofs of correctness can be tedious to achieve
Introduction
2
Introduction
3
Introduction
4
Modeling distributed algorithms
5
1 Write a data value to its own register wr(d) 2 Read a shared register re(k) 3 Decide a value dec(o)
Modeling distributed algorithms
6
Modeling distributed algorithms
7
Modeling distributed algorithms
8
(wr(◦), A)
(re(2), B)
(dec(◦), B)
(dec(◦), B)
(re(2), B)
(wr(•), A)
(re(2), B) (wr(◦), A)
(dec(•), B)
(dec(•), B)
(re(2), B) (wr(•), A)
Modeling distributed algorithms
9
(wr(◦), A)
(re(2), B)
(dec(◦), B)
(dec(◦), B)
(re(2), B)
(wr(•), A)
(re(2), B) (wr(◦), A)
(dec(•), B)
(dec(•), B)
(re(2), B) (wr(•), A)
10
Using LTL to reason on distributed algorithms
11
def
def
Using LTL to reason on distributed algorithms
12
{p, q} {r} {p}
Using LTL to reason on distributed algorithms
13
i → the initial value of process i is d
i → the output value of process i is d.
i is only true in the second states (where the initial values are
d Outd i
Using LTL to reason on distributed algorithms
14
agree def
i ⇔ Outd j )
valid def
i
1≤j≤n
j
15
def
def
Using LTL to reason on distributed algorithms
16
Synthesis
17
agree ∧ Φc valid ∧ Φof, it is a correct obstruction free consensus
Synthesis
18
Synthesis
19
1 Build an ’universal’ Kripke structure KU which from any
2 Add specific atomic propositions to extract an algorithm from KU
(a,m) → the next action of process i is a and its
3 Extract with an extra LTL formula Φout the paths corresponding to
4 Check whether KU satisfies Φout ⇒ Φ
Synthesis
20
Experiments
21
Experiments
22
Experiments
23
(wr(◦), B)
(re, A)
(dec(◦), A)
(re, A) (dec(◦), B)
(wr(◦), A)
(re, A)
(wr(•), B) (re, A)
(wr(•), A)
(dec(•), B)
(re, B)
(re, B) (dec(•), A)
Experiments
24
Experiments
25