Verification and Synthesis of Symmetric Uni-Rings for Leads-To Properties
Ali Ebnenasir
aebnenas@mtu.edu Department of Computer Science College of Computing Michigan Technological University Houghton MI 49931 http://asd.cs.mtu.edu/
Verification and Synthesis of Symmetric Uni-Rings for Leads-To - - PowerPoint PPT Presentation
Verification and Synthesis of Symmetric Uni-Rings for Leads-To Properties Ali Ebnenasir aebnenas@mtu.edu Department of Computer Science College of Computing Michigan Technological University Houghton MI 49931 http://asd.cs.mtu.edu/
Ali Ebnenasir
aebnenas@mtu.edu Department of Computer Science College of Computing Michigan Technological University Houghton MI 49931 http://asd.cs.mtu.edu/
x1 xN-1 x0
Process/Node Read from Legend:
Dijkstra’s Token Ring for mutual exclusion: Family 2: just one process 𝛒2: Template process 2 Action0 : x0 = xN-1 à x0 := xN-1 + 1 𝛒1: Template process 1 Actioni : xi ≠ xi-1 à xi := xi-1
Family 1: N-1 symmetric processes
Read/Write P0 P1 PN-1
Q =∀i ∈ ℤN : ((xi-1 = xi)∨ (xi-1 = xi+1))
Ai: (|xi-1 - xi | mod 2) ≠ 0 à xi := xi-1 ⊕4 2
x0 x1 x2 xN-1
P0 P1 P2
Synthesize Algorithm for Uni-Ring
Parameterized Actions Satisfies R ↝ Q for an arbitrary (but finite) # of processes Variable xi and its domain
R =∀i ∈ ℤN : r(xi-1 - xi ) Q =∀i ∈ ℤN : q(xi-1 - xi )
Note: From any global state in R, the entire ring eventually reaches a global state in Q; i.e., global liveness.
[ICDCS 2012] A. Farahat and A. Ebnenasir, “Local reasoning for global convergence of parameterized rings,” in IEEE International Conference on Distributed Computing Systems (ICDCS), 2012, pp. 496–505.
enabled again by its predecessor.
[SSS’13] Alex Klinkhamer and Ali Ebnenasir, Verfiying Livelock Freedom of Parameterized Rings and Chains, 15th International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS 2013). [ACM TOCL’19] A. Klinkhamer and A. Ebnenasir, “On the verification of livelock-freedom and self-stabilization on parameterized rings,” ACM Transactions on Computational Logic, vol. 20, no. 3, pp. 1–36, 2019.
Theorem 2: There are m closed walks, each of length n, in the action graph that enable each other circularly (m > 1 and n ≥1) if and only if A uni-ring of symmetric, constant-space, deterministic and self-disabling processes has a livelock for a ring size (m × n)
[SSS’13] Alex Klinkhamer and Ali Ebnenasir, Verfiying Livelock Freedom of Parameterized Rings and Chains, 15th International Symposium
[ACM TOCL’19] A. Klinkhamer and A. Ebnenasir, “On the verification of livelock-freedom and self-stabilization on parameterized rings,” ACM Transactions on Computational Logic, vol. 20, no. 3, pp. 1–36, 2019.
include arc (a, b) if and only if L(a,b) is true
R =∀i ∈ ℤN : r(xi-1 - xi ) , where r(xi-1 , xi) = ((xi-1 = 2 ∧ xi =0) ∨ (xi-1 = 0 ∧ xi =2)), Q =∀i ∈ ℤN : q(xi-1 - xi ), where q(xi-1 , xi) = ((xi-1 +4 xi) ≠ 2) xi ∈ ℤ4 ={0, 1, 2, 3}
q(0, 1) q(1, 3) r(0, 2)
[ICDCS 2012] A. Farahat and A. Ebnenasir, “Local reasoning for global convergence of parameterized rings,” in IEEE International Conference on Distributed Computing Systems (ICDCS), 2012, pp. 496–505.
q(0, 1) q(1, 3)
q(xi-1 , xi) = ((xi-1 +4 xi) ≠ 2)
R =∀i ∈ ℤN : r(xi-1 - xi ) , where r(xi-1 , xi) = ((xi-1 = 2 ∧ xi =0) ∨ (xi-1 = 0 ∧ xi =2)), Q =∀i ∈ ℤN : q(xi-1 - xi ), where q(xi-1 , xi) = ((xi-1 +4 xi) ≠ 2) xi ∈ ℤ4 ={0, 1, 2, 3}
q(0, 1) q(1, 3) r(0, 2)
E.g., 𝛿 =2
q(0, 1) q(1, 3) r(0, 2)
q(0, 1) q(1, 3) r(0, 2)
Rationale: compute any acyclic path towards 𝛿.
r(0, 2) Spanning tree 𝜐
r(0, 2)
Rationale: exclude states in ¬R from where there is some path to q(𝛿, 𝛿).
r(0, 2)
Remove the outgoing arcs of such vertices in 𝜐 , creating a tree 𝜐’. E.g., V’Rleaf = {1} Rationale: exclude states in ¬R from where there is some path to q(𝛿, 𝛿).
r(0, 2)
r(0, 2)
r(0, 2) Tree 𝜐’
r(0, 2)
r(0, 2)
r(xi-1 , xi) = ((xi-1 = 2 ∧ xi =0) ∨ (xi-1 = 0 ∧ xi =2)) q(xi-1 , xi) = (xi-1 +4 xi ≠ 2) a = 0 and b =0 and c=3 ⇒ r(0, 0) is false; unacceptable! a = 0 and b =1 and c=3 ⇒ r(0, 1) is false; unacceptable! a = 0 and b =2 and c=3 ⇒ r(0, 2) holds and q(0, 2) is false; acceptable!
r(xi-1 , xi) = ((xi-1 = 2 ∧ xi =0) ∨ (xi-1 = 0 ∧ xi =2)) q(xi-1 , xi) = (xi-1 +4 xi ≠ 2) a = 3 and b =0 and c=2 ⇒ q(3, 0) holds; unacceptable! a = 3 and b =1 and c=2 ⇒ q(3, 1) holds; unacceptable! a = 3 and b =3 and c=2 ⇒ q(3, 3) is false; acceptable!
r(xi-1 , xi) = ((xi-1 = 2 ∧ xi =0) ∨ (xi-1 = 0 ∧ xi =2)) q(xi-1 , xi) = (xi-1 +4 xi ≠ 2) Similarly …
labelling method ensures that actions are enabled in R.
that circularly enable each other.
satisfied.
cyclic satisfaction q(c0, c1), q(c1, c2), … , q(c l-1, c0), for l> 1.
backward/forward reachability analysis in over-approximated model.
[ACM TOCL’19] A. Klinkhamer and A. Ebnenasir, “On the verification of livelock-freedom and self-stabilization on parameterized rings,” ACM Transactions on Computational Logic, vol. 20, no. 3, pp. 1–36, 2019.
Repository of Topology and Property-Specific Verification and Synthesis Algorithms/Tools Property 𝜒 Topology Verifier/ Synthesizer for 𝜒 and Topology Tm
. . .
DFTP p1 that satisfies 𝜒 on T1 DFTP pm that satisfies 𝜒 on Tm Compositionality Theorems/Rules DFTP p that satisfies 𝜒 on a compositional topology Verifier/ Synthesizer for 𝜒 and Topology T1
Scalable composition of resilient ring and chain generating a scalable tube that can grow in depth and diameter.
x0 x1 x2 xn-1 x0 x1 x2 xn-1 x0 x1 x2 xn-1
Top-Down Tree Bottom-Up Tree