1 / 41
Distributed synthesis for synchronous systems1
Paul Gastin
LSV ENS de Cachan & CNRS Paul.Gastin@lsv.ens-cachan.fr
Dec 6th, 2006
1Joint work with Nathalie Sznajder and Marc Zeitoun
Distributed synthesis for synchronous systems 1 Paul Gastin LSV - - PowerPoint PPT Presentation
Distributed synthesis for synchronous systems 1 Paul Gastin LSV ENS de Cachan & CNRS Paul.Gastin@lsv.ens-cachan.fr Dec 6th, 2006 1 Joint work with Nathalie Sznajder and Marc Zeitoun 1 / 41 Outline Synthesis and control for sequential
1 / 41
LSV ENS de Cachan & CNRS Paul.Gastin@lsv.ens-cachan.fr
1Joint work with Nathalie Sznajder and Marc Zeitoun
2 / 41
1
3 / 41
◮ Given a specification ϕ, decide whether there exists a program P such that
◮ Build such a program P (if one exists).
3 / 41
◮ Given a specification ϕ, decide whether there exists a program P such that
◮ Build such a program P (if one exists).
4 / 41
◮ Inputs: call for level i. ◮ Outputs: open/close door i, move 1 level up/down.
◮ Safety: G(level = i −
◮ Liveness: G(is calledi −
◮ AGcalli⊤
◮ AG EF(level = 0 ∧ is open0)
4 / 41
◮ Inputs: call for level i. ◮ Outputs: open/close door i, move 1 level up/down.
◮ Safety: G(level = i −
◮ Liveness: G(is calledi −
◮ AGcalli⊤
◮ AG EF(level = 0 ∧ is open0)
5 / 41
◮ Qx: domain for input variable x ◮ Qy: domain for output variable y ◮ Program: f : Q+
x → Qy
◮ Input: x1x2 · · · ∈ Qω
x.
◮ Behavior: (x1, y1)(x2, y2)(x3, y3) · · · with yn = f(x1 · · · xn) for all n > 0.
◮ Given a linear time specification ϕ over the alphabet Σ = Qx × Qy,
◮ Given a branching time specification ϕ over the alphabet Σ = Qx × Qy,
5 / 41
◮ Qx: domain for input variable x ◮ Qy: domain for output variable y ◮ Program: f : Q+
x → Qy
◮ Input: x1x2 · · · ∈ Qω
x.
◮ Behavior: (x1, y1)(x2, y2)(x3, y3) · · · with yn = f(x1 · · · xn) for all n > 0.
◮ Given a linear time specification ϕ over the alphabet Σ = Qx × Qy,
◮ Given a branching time specification ϕ over the alphabet Σ = Qx × Qy,
5 / 41
◮ Qx: domain for input variable x ◮ Qy: domain for output variable y ◮ Program: f : Q+
x → Qy
◮ Input: x1x2 · · · ∈ Qω
x.
◮ Behavior: (x1, y1)(x2, y2)(x3, y3) · · · with yn = f(x1 · · · xn) for all n > 0.
◮ Given a linear time specification ϕ over the alphabet Σ = Qx × Qy,
◮ Given a branching time specification ϕ over the alphabet Σ = Qx × Qy,
6 / 41
◮ Qx = {0, 1} and ϕ := F(x = 1) ◮ ϕ is satisfiable: (1, 0)ω |
◮ ϕ is not implementable since the input is not controllable.
◮ Qx = Qy = {0, 1} and ϕ := (y = 1) ←
◮ ∀
◮ ϕ is not implementable by a reactive program.
6 / 41
◮ Qx = {0, 1} and ϕ := F(x = 1) ◮ ϕ is satisfiable: (1, 0)ω |
◮ ϕ is not implementable since the input is not controllable.
◮ Qx = Qy = {0, 1} and ϕ := (y = 1) ←
◮ ∀
◮ ϕ is not implementable by a reactive program.
6 / 41
◮ Qx = {0, 1} and ϕ := F(x = 1) ◮ ϕ is satisfiable: (1, 0)ω |
◮ ϕ is not implementable since the input is not controllable.
◮ Qx = Qy = {0, 1} and ϕ := (y = 1) ←
◮ ∀
◮ ϕ is not implementable by a reactive program.
7 / 41
◮ The specification ϕ ∈ LTL is implementable iff the formula
◮ When ϕ is implementable, we can construct a finite state implementation
8 / 41
◮ Q: finite or infinite set of states, ◮ δ: deterministic or non deterministic transition function.
◮ Given a system S and a specification ϕ, decide whether there exists a
◮ Build such a controller C (if one exists).
8 / 41
◮ Q: finite or infinite set of states, ◮ δ: deterministic or non deterministic transition function.
◮ Given a system S and a specification ϕ, decide whether there exists a
◮ Build such a controller C (if one exists).
9 / 41
9 / 41
10 / 41
11 / 41
2
12 / 41
◮ Decide whether there exists a distributed program st.
◮ Synthesis: If so, compute such a distributed program.
12 / 41
◮ Decide whether there exists a distributed program st.
◮ Synthesis: If so, compute such a distributed program.
12 / 41
◮ Decide whether there exists a distributed program st.
◮ Synthesis: If so, compute such a distributed program.
13 / 41
◮ Decide whether there exists a distributed controller st.
◮ Synthesis: If so, compute such a distributed controller.
13 / 41
◮ Decide whether there exists a distributed controller st.
◮ Synthesis: If so, compute such a distributed controller.
14 / 41
◮ P finite set of processes/agents. ◮ V finite set of Variables. ◮ R ⊆ P × V:
◮ R(a) variables read by process a ∈ P, ◮ R−1(x) processes reading variable x ∈ V. ◮ W ⊆ P × V: (a, x) ∈ W iff a writes to x. ◮ W (a) variables written by process a ∈ P, ◮ W −1(x) processes writing to variable x ∈ V.
14 / 41
◮ P finite set of processes/agents. ◮ V finite set of Variables. ◮ R ⊆ P × V:
◮ R(a) variables read by process a ∈ P, ◮ R−1(x) processes reading variable x ∈ V. ◮ W ⊆ P × V: (a, x) ∈ W iff a writes to x. ◮ W (a) variables written by process a ∈ P, ◮ W −1(x) processes writing to variable x ∈ V.
15 / 41
◮ Which subclass of architectures? ◮ Which semantics?
◮ What kind of specification?
◮ What kind of memory for the programs?
15 / 41
◮ Which subclass of architectures? ◮ Which semantics?
◮ What kind of specification?
◮ What kind of memory for the programs?
15 / 41
◮ Which subclass of architectures? ◮ Which semantics?
◮ What kind of specification?
◮ What kind of memory for the programs?
15 / 41
◮ Which subclass of architectures? ◮ Which semantics?
◮ What kind of specification?
◮ What kind of memory for the programs?
16 / 41
u → Qx and fz : (Qx×Qv)∗ → Qz.
◮ Input:
◮ Behavior:
17 / 41
17 / 41
17 / 41
18 / 41
19 / 41
def
19 / 41
def
20 / 41
20 / 41
21 / 41
def
21 / 41
def
22 / 41
22 / 41
23 / 41
23 / 41
23 / 41
23 / 41
23 / 41
23 / 41
24 / 41
25 / 41
26 / 41
◮ one-way chain, one-way ring, two-way chain and two-way ring, ◮ CTL∗ specifications (or tree-automata specifications) on all variables, ◮ synchronous, 1-delay semantics, ◮ local strategies.
26 / 41
◮ one-way chain, one-way ring, two-way chain and two-way ring, ◮ CTL∗ specifications (or tree-automata specifications) on all variables, ◮ synchronous, 1-delay semantics, ◮ local strategies.
26 / 41
◮ one-way chain, one-way ring, two-way chain and two-way ring, ◮ CTL∗ specifications (or tree-automata specifications) on all variables, ◮ synchronous, 1-delay semantics, ◮ local strategies.
1
2
3
27 / 41
u → Qx and fz : (Qx × Qv)∗ → Qz.
◮ Input:
◮ Behavior:
28 / 41
◮ An adequately connected architecture is equivalent to a singleton architecture. ◮ The synthesis problem is decidable for LTL specifications and pipelines of
28 / 41
◮ An adequately connected architecture is equivalent to a singleton architecture. ◮ The synthesis problem is decidable for LTL specifications and pipelines of
28 / 41
◮ An adequately connected architecture is equivalent to a singleton architecture. ◮ The synthesis problem is decidable for LTL specifications and pipelines of
28 / 41
◮ An adequately connected architecture is equivalent to a singleton architecture. ◮ The synthesis problem is decidable for LTL specifications and pipelines of
29 / 41
29 / 41
29 / 41
30 / 41
3
31 / 41
31 / 41
32 / 41
◮ If the capacity of internal variables is big enough then the architecture is
◮ If the architecture is uniformly well-connected then we can use causal
32 / 41
◮ If the capacity of internal variables is big enough then the architecture is
◮ If the architecture is uniformly well-connected then we can use causal
33 / 41
33 / 41
33 / 41
33 / 41
33 / 41
34 / 41
34 / 41
34 / 41
35 / 41
35 / 41
35 / 41
35 / 41
35 / 41
35 / 41
35 / 41
36 / 41
z∈Out ϕz where ϕz depends
36 / 41
z∈Out ϕz where ϕz depends
36 / 41
z∈Out ϕz where ϕz depends
36 / 41
z∈Out ϕz where ϕz depends
36 / 41
z∈Out ϕz where ϕz depends
36 / 41
z∈Out ϕz where ϕz depends
36 / 41
z∈Out ϕz where ϕz depends
37 / 41
38 / 41
39 / 41
39 / 41
39 / 41
40 / 41
40 / 41
40 / 41
40 / 41
40 / 41
41 / 41
◮ Find a decidability criterium for external specifications and well-connected
◮ Find a decidability criterium for external specifications and arbitrary
◮ Decidability of the distributed control/synthesis problem for robust and