Distributed synthesis for synchronous systems 1 Paul Gastin LSV - - PowerPoint PPT Presentation

distributed synthesis
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

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

slide-2
SLIDE 2

2 / 41

Outline

1

Synthesis and control for sequential systems

Synthesis and control for distributed systems Well-connected architectures

slide-3
SLIDE 3

3 / 41

Open / Reactive system

inputs from E

  • utputs to E

Reactive system S Specification ϕ

Synthesis problem

◮ Given a specification ϕ, decide whether there exists a program P such that

PE | = ϕ for all environment E.

◮ Build such a program P (if one exists).

slide-4
SLIDE 4

3 / 41

Open / Reactive system

inputs from E

  • utputs to E

Reactive system S Specification ϕ Program P

Synthesis problem

◮ Given a specification ϕ, decide whether there exists a program P such that

PE | = ϕ for all environment E.

◮ Build such a program P (if one exists).

slide-5
SLIDE 5

4 / 41

Specification

Example: Elevator

◮ Inputs: call for level i. ◮ Outputs: open/close door i, move 1 level up/down.

Linear time: LTL, FO, MSO, regular, . . .

◮ Safety: G(level = i −

→ is closedi)

◮ Liveness: G(is calledi −

→ F(level = i ∧ is openi))

Branching time: CTL, CTL∗, µ-calculus, . . .

◮ AGcalli⊤

(calli is uncontrollable)

◮ AG EF(level = 0 ∧ is open0)

slide-6
SLIDE 6

4 / 41

Specification

Example: Elevator

◮ Inputs: call for level i. ◮ Outputs: open/close door i, move 1 level up/down.

Linear time: LTL, FO, MSO, regular, . . .

◮ Safety: G(level = i −

→ is closedi)

◮ Liveness: G(is calledi −

→ F(level = i ∧ is openi))

Branching time: CTL, CTL∗, µ-calculus, . . .

◮ AGcalli⊤

(calli is uncontrollable)

◮ AG EF(level = 0 ∧ is open0)

slide-7
SLIDE 7

5 / 41

Synthesis of reactive programs

Reactive program

f x y

◮ 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.

Chruch problem (implementability) 1962

◮ Given a linear time specification ϕ over the alphabet Σ = Qx × Qy,

Does there exist a program f such that all f-behaviors satisfy ϕ?

◮ Given a branching time specification ϕ over the alphabet Σ = Qx × Qy,

Does there exist a program f such that its run-tree satisfies ϕ?

slide-8
SLIDE 8

5 / 41

Synthesis of reactive programs

Reactive program

f x y

◮ 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.

Chruch problem (implementability) 1962

◮ Given a linear time specification ϕ over the alphabet Σ = Qx × Qy,

Does there exist a program f such that all f-behaviors satisfy ϕ?

◮ Given a branching time specification ϕ over the alphabet Σ = Qx × Qy,

Does there exist a program f such that its run-tree satisfies ϕ?

slide-9
SLIDE 9

5 / 41

Synthesis of reactive programs

Reactive program

f x y

◮ 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.

Chruch problem (implementability) 1962

◮ Given a linear time specification ϕ over the alphabet Σ = Qx × Qy,

Does there exist a program f such that all f-behaviors satisfy ϕ?

◮ Given a branching time specification ϕ over the alphabet Σ = Qx × Qy,

Does there exist a program f such that its run-tree satisfies ϕ?

slide-10
SLIDE 10

6 / 41

Synthesis of reactive programs

Chruch problem (implementability) 1962

Given a linear time specification ϕ over the alphabet Σ = Qx × Qy, Does there exist a program f such that all f-behaviors satisfy ϕ?

Implementability = Satisfiability

◮ Qx = {0, 1} and ϕ := F(x = 1) ◮ ϕ is satisfiable: (1, 0)ω |

= ϕ

◮ ϕ is not implementable since the input is not controllable.

Implementability = Validity of ∀ x ∃ y ϕ

◮ Qx = Qy = {0, 1} and ϕ := (y = 1) ←

→ F(x = 1)

◮ ∀

x ∃ y ϕ is valid.

◮ ϕ is not implementable by a reactive program.

For non-reactive terminating programs, Implementability = Validity of ∀ x ∃ y ϕ

slide-11
SLIDE 11

6 / 41

Synthesis of reactive programs

Chruch problem (implementability) 1962

Given a linear time specification ϕ over the alphabet Σ = Qx × Qy, Does there exist a program f such that all f-behaviors satisfy ϕ?

Implementability = Satisfiability

◮ Qx = {0, 1} and ϕ := F(x = 1) ◮ ϕ is satisfiable: (1, 0)ω |

= ϕ

◮ ϕ is not implementable since the input is not controllable.

Implementability = Validity of ∀ x ∃ y ϕ

◮ Qx = Qy = {0, 1} and ϕ := (y = 1) ←

→ F(x = 1)

◮ ∀

x ∃ y ϕ is valid.

◮ ϕ is not implementable by a reactive program.

For non-reactive terminating programs, Implementability = Validity of ∀ x ∃ y ϕ

slide-12
SLIDE 12

6 / 41

Synthesis of reactive programs

Chruch problem (implementability) 1962

Given a linear time specification ϕ over the alphabet Σ = Qx × Qy, Does there exist a program f such that all f-behaviors satisfy ϕ?

Implementability = Satisfiability

◮ Qx = {0, 1} and ϕ := F(x = 1) ◮ ϕ is satisfiable: (1, 0)ω |

= ϕ

◮ ϕ is not implementable since the input is not controllable.

Implementability = Validity of ∀ x ∃ y ϕ

◮ Qx = Qy = {0, 1} and ϕ := (y = 1) ←

→ F(x = 1)

◮ ∀

x ∃ y ϕ is valid.

◮ ϕ is not implementable by a reactive program.

For non-reactive terminating programs, Implementability = Validity of ∀ x ∃ y ϕ

slide-13
SLIDE 13

7 / 41

Synthesis of reactive programs

Chruch problem (implementability) 1962

Given a linear time specification ϕ over the alphabet Σ = Qx × Qy, Does there exist a program f such that all f-behaviors satisfy ϕ?

Theorem (Pnueli-Rosner 89)

◮ The specification ϕ ∈ LTL is implementable iff the formula

A ϕ ∧ AG(

  • a∈Qx

EX(x = a)) is satisfiable.

◮ When ϕ is implementable, we can construct a finite state implementation

(program) in time doubly exponential in ϕ.

slide-14
SLIDE 14

8 / 41

Control problem

inputs from E

  • utputs to E

Open system S Specification ϕ

Open system: Transitions system A = (Q, Σ, q0, δ)

◮ Q: finite or infinite set of states, ◮ δ: deterministic or non deterministic transition function.

Control problem

◮ Given a system S and a specification ϕ, decide whether there exists a

controller C such that (S ⊗ C)E | = ϕ.

◮ Build such a controller C (if one exists).

slide-15
SLIDE 15

8 / 41

Control problem

inputs from E

  • utputs to E

Open system S Specification ϕ Controller C enables/disables actions

  • bservation

Open system: Transitions system A = (Q, Σ, q0, δ)

◮ Q: finite or infinite set of states, ◮ δ: deterministic or non deterministic transition function.

Control problem

◮ Given a system S and a specification ϕ, decide whether there exists a

controller C such that (S ⊗ C)E | = ϕ.

◮ Build such a controller C (if one exists).

slide-16
SLIDE 16

9 / 41

Control versus Game

Correspondance

Transition system = Game arena (graph). Controllable events = Actions of player 1 (controller). Uncontrollable events = Action of player 0 (opponent, environment). Behavior = Play. Controller = Strategy. Specification = Winning condition. Finding a controller = finding a winning strategy.

Theorem: B¨ uchi - Landweber 1969

If the system is finite state and the specification is regular then the control problem is decidable. Moreover, when (S, ϕ) is controllable, we can synthesize a finite state controller.

slide-17
SLIDE 17

9 / 41

Control versus Game

Correspondance

Transition system = Game arena (graph). Controllable events = Actions of player 1 (controller). Uncontrollable events = Action of player 0 (opponent, environment). Behavior = Play. Controller = Strategy. Specification = Winning condition. Finding a controller = finding a winning strategy.

Theorem: B¨ uchi - Landweber 1969

If the system is finite state and the specification is regular then the control problem is decidable. Moreover, when (S, ϕ) is controllable, we can synthesize a finite state controller.

slide-18
SLIDE 18

10 / 41

Program synthesis versus System control

Equivalence

The implementability problem for x y is equivalent to the control problem for the system Qx Qy

slide-19
SLIDE 19

11 / 41

Outline

Synthesis and control for sequential systems

2

Synthesis and control for distributed systems

Well-connected architectures

slide-20
SLIDE 20

12 / 41

Distributed synthesis

inputs from E

  • utputs to E

Open distributed system S Specification ϕ

Distributed synthesis problem

◮ Decide whether there exists a distributed program st.

P1 · · · Pn E | = ϕ.

◮ Synthesis: If so, compute such a distributed program.

Peterson-Reif 1979, Pnueli-Rosner 1990

In general, the problem is undecidable.

slide-21
SLIDE 21

12 / 41

Distributed synthesis

inputs from E

  • utputs to E

Open distributed system S Specification ϕ P1 P2 P3 P4

Distributed synthesis problem

◮ Decide whether there exists a distributed program st.

P1 · · · Pn E | = ϕ.

◮ Synthesis: If so, compute such a distributed program.

Peterson-Reif 1979, Pnueli-Rosner 1990

In general, the problem is undecidable.

slide-22
SLIDE 22

12 / 41

Distributed synthesis

inputs from E

  • utputs to E

Open distributed system S Specification ϕ P1 P2 P3 P4

Distributed synthesis problem

◮ Decide whether there exists a distributed program st.

P1 · · · Pn E | = ϕ.

◮ Synthesis: If so, compute such a distributed program.

Peterson-Reif 1979, Pnueli-Rosner 1990

In general, the problem is undecidable.

slide-23
SLIDE 23

13 / 41

Distributed control

inputs from E

  • utputs to E

Open distributed system S S1 S2 S3 S4 Specification ϕ

Distributed control problem

◮ Decide whether there exists a distributed controller st.

(S1 ⊗ C1) · · · (Sn ⊗ Cn) E | = ϕ.

◮ Synthesis: If so, compute such a distributed controller.

slide-24
SLIDE 24

13 / 41

Distributed control

inputs from E

  • utputs to E

Open distributed system S Open distributed system S Controlled open distributed system S S1 S2 S3 S4 Specification ϕ C1 C2 C3 C4

Distributed control problem

◮ Decide whether there exists a distributed controller st.

(S1 ⊗ C1) · · · (Sn ⊗ Cn) E | = ϕ.

◮ Synthesis: If so, compute such a distributed controller.

slide-25
SLIDE 25

14 / 41

Architectures with shared variables

Example

x0 x1 x2 x3 x4 x5 a1 a2 a3 a4

Architecture A = (P, V, R, W)

◮ P finite set of processes/agents. ◮ V finite set of Variables. ◮ R ⊆ P × V:

(a, x) ∈ R iff a reads x.

◮ 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.

slide-26
SLIDE 26

14 / 41

Architectures with shared variables

Example

x0 x1 x2 x3 x4 x5 a1 a2 a3 a4

Architecture A = (P, V, R, W)

◮ P finite set of processes/agents. ◮ V finite set of Variables. ◮ R ⊆ P × V:

(a, x) ∈ R iff a reads x.

◮ 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.

slide-27
SLIDE 27

15 / 41

Distributed Synthesis or control

Main parameters

◮ Which subclass of architectures? ◮ Which semantics?

synchronous (with our without delay), asynchronous

◮ What kind of specification?

LTL, CLT∗, µ-calculus Rational, Recognizable word/tree

◮ What kind of memory for the programs?

memoryless, local memory, causal memory finite or infinite memory

slide-28
SLIDE 28

15 / 41

Distributed Synthesis or control

Main parameters

◮ Which subclass of architectures? ◮ Which semantics?

synchronous (with our without delay), asynchronous

◮ What kind of specification?

LTL, CLT∗, µ-calculus Rational, Recognizable word/tree

◮ What kind of memory for the programs?

memoryless, local memory, causal memory finite or infinite memory

slide-29
SLIDE 29

15 / 41

Distributed Synthesis or control

Main parameters

◮ Which subclass of architectures? ◮ Which semantics?

synchronous (with our without delay), asynchronous

◮ What kind of specification?

LTL, CLT∗, µ-calculus Rational, Recognizable word/tree

◮ What kind of memory for the programs?

memoryless, local memory, causal memory finite or infinite memory

slide-30
SLIDE 30

15 / 41

Distributed Synthesis or control

Main parameters

◮ Which subclass of architectures? ◮ Which semantics?

synchronous (with our without delay), asynchronous

◮ What kind of specification?

LTL, CLT∗, µ-calculus Rational, Recognizable word/tree

◮ What kind of memory for the programs?

memoryless, local memory, causal memory finite or infinite memory

slide-31
SLIDE 31

16 / 41

0-delay synchronous semantics

Example

u x v z a b

Programs with local memory: fx : Q∗

u → Qx and fz : (Qx×Qv)∗ → Qz.

◮ Input:

  • u1

u2 u3 · · · v1 v2 v3 · · ·

  • ∈ (Qu × Qv)ω.

◮ Behavior:

    u1 u2 u3 · · · v1 v2 v3 · · · x1 x2 x3 · · · z1 z2 z3 · · ·     with

  • xn = fx(u1 · · · un)

zn = fz((x1, v1) · · · (xn, vn)) for all n > 0.

slide-32
SLIDE 32

17 / 41

Global versus distributed synthesis

Network information flow

u v u1 v1 u2 v2 u3 v3 u4 v4 u5 v5 u6 v6 z1 z2 z3 z4

Lemma (Rasala Lehman–Lehman 2004)

If f 1, . . . , f n : S2 → S are pairwise independent functions, then n ≤ |S| + 1. f i, f j are independent if (f i, f j) : S2 → S2 is one to one.

slide-33
SLIDE 33

17 / 41

Global versus distributed synthesis

Network information flow

u v u1 v1 u2 v2 u3 v3 u4 v4 u5 v5 u6 v6 z1 z2 z3 z4

Lemma (Rasala Lehman–Lehman 2004)

If f 1, . . . , f n : S2 → S are pairwise independent functions, then n ≤ |S| + 1. f i, f j are independent if (f i, f j) : S2 → S2 is one to one.

slide-34
SLIDE 34

17 / 41

Global versus distributed synthesis

Network information flow

u v u1 v1 u2 v2 u3 v3 u4 v4 u5 v5 u6 v6 z1 z2 z3 z4 u v u ⊕ v

Lemma (Rasala Lehman–Lehman 2004)

If f 1, . . . , f n : S2 → S are pairwise independent functions, then n ≤ |S| + 1. f i, f j are independent if (f i, f j) : S2 → S2 is one to one.

slide-35
SLIDE 35

18 / 41

Undecidability

Architecture A0

u x v y a b

Theorem (Pnueli-Rosner FOCS’90)

The synthesis problem for architecture A0 and LTL (or CTL) specifications is unde- cidable.

Proof

Reduction from the halting problem on the empty tape.

slide-36
SLIDE 36

19 / 41

Undecidability proof 1

SPEC1: processes a and b must output configurations

u x v y 0q1p0 · · · : n(v) = p #q+pC#ω : where C ∈ Γ∗QΓ+ a b (v = 0 ∧ y = #) W

  • v = 1 ∧ (v = 1 ∧ y = #) W (v = 0 ∧ y ∈ Γ∗QΓ+#ω)
  • where

y ∈ Γ∗QΓ+#ω

def

= y ∈ Γ U

  • y ∈ Q ∧ X
  • y ∈ Γ U (y ∈ Γ ∧ X G y = #)
slide-37
SLIDE 37

19 / 41

Undecidability proof 1

SPEC1: processes a and b must output configurations

u x v y 0q1p0 · · · : n(v) = p #q+pC#ω : where C ∈ Γ∗QΓ+ a b (v = 0 ∧ y = #) W

  • v = 1 ∧ (v = 1 ∧ y = #) W (v = 0 ∧ y ∈ Γ∗QΓ+#ω)
  • where

y ∈ Γ∗QΓ+#ω

def

= y ∈ Γ U

  • y ∈ Q ∧ X
  • y ∈ Γ U (y ∈ Γ ∧ X G y = #)
slide-38
SLIDE 38

20 / 41

Undecidability proof 2

SPEC2: processes a and b must start with the first configuration

u x v y 0q10 · · · : n(v) = 1 #q+1C1#ω a b v = 0 W

  • v = 1 ∧ X
  • v = 0 −

→ y ∈ C1#ω

slide-39
SLIDE 39

20 / 41

Undecidability proof 2

SPEC2: processes a and b must start with the first configuration

u x v y 0q10 · · · : n(v) = 1 #q+1C1#ω a b v = 0 W

  • v = 1 ∧ X
  • v = 0 −

→ y ∈ C1#ω

slide-40
SLIDE 40

21 / 41

Undecidability proof 3

SPEC3: if n(u) = n(v) are synchronized then x = y

u x v y 0q1p0 · · · #q+pC#ω 0q1p0 · · · #q+pC#ω a b n(u) = n(v) − → G(x = y) where n(u) = n(v)

def

= (u = v = 0) U (u = v = 1 ∧ (u = v = 1 U u = v = 0))

slide-41
SLIDE 41

21 / 41

Undecidability proof 3

SPEC3: if n(u) = n(v) are synchronized then x = y

u x v y 0q1p0 · · · #q+pC#ω 0q1p0 · · · #q+pC#ω a b n(u) = n(v) − → G(x = y) where n(u) = n(v)

def

= (u = v = 0) U (u = v = 1 ∧ (u = v = 1 U u = v = 0))

slide-42
SLIDE 42

22 / 41

Undecidability proof 4

SPEC4: if n(u) = n(v) + 1 are synchronized then Cy ⊢ Cx

u x v y 0q1p+10 · · · #q+p+1Cx#ω 0q+11p0 · · · #q+p+1Cy#ω a b n(u) = n(v) + 1 − → x = y U

  • Trans(y, x) ∧ X3 G x = y
  • where Trans(y, x) is defined by
  • (p,a,q,b,←)∈T,c∈Γ

(y = cpa ∧ x = qcb) ∨

  • (p,a,q,b,→)∈T,c∈Γ

(y = pac ∧ x = bqc) ∨

  • (p,a,q,b,→)∈T

(y = pa# ∧ x = bq✷)

slide-43
SLIDE 43

22 / 41

Undecidability proof 4

SPEC4: if n(u) = n(v) + 1 are synchronized then Cy ⊢ Cx

u x v y 0q1p+10 · · · #q+p+1Cx#ω 0q+11p0 · · · #q+p+1Cy#ω a b n(u) = n(v) + 1 − → x = y U

  • Trans(y, x) ∧ X3 G x = y
  • where Trans(y, x) is defined by
  • (p,a,q,b,←)∈T,c∈Γ

(y = cpa ∧ x = qcb) ∨

  • (p,a,q,b,→)∈T,c∈Γ

(y = pac ∧ x = bqc) ∨

  • (p,a,q,b,→)∈T

(y = pa# ∧ x = bq✷)

slide-44
SLIDE 44

23 / 41

Undecidability proof 5

Lemma: winning strategies must simulate the Turing machine

For each p ≥ 1, if n(u) = p then Cx = Cp is the p-th configuration of the Turing machine starting from the empty tape.

Proof

u x v y a b

Corollary

Specifications 1-4 and 5: G x = stop are implementable iff the Turing machine does not halt starting from the empty tape.

slide-45
SLIDE 45

23 / 41

Undecidability proof 5

Lemma: winning strategies must simulate the Turing machine

For each p ≥ 1, if n(u) = p then Cx = Cp is the p-th configuration of the Turing machine starting from the empty tape.

Proof

u x v y a b SPEC2 0q10 · · · #q+1C1#ω

Corollary

Specifications 1-4 and 5: G x = stop are implementable iff the Turing machine does not halt starting from the empty tape.

slide-46
SLIDE 46

23 / 41

Undecidability proof 5

Lemma: winning strategies must simulate the Turing machine

For each p ≥ 1, if n(u) = p then Cx = Cp is the p-th configuration of the Turing machine starting from the empty tape.

Proof

u x v y a b Induction 0q+11p0 · · · #q+p+1Cp#ω

Corollary

Specifications 1-4 and 5: G x = stop are implementable iff the Turing machine does not halt starting from the empty tape.

slide-47
SLIDE 47

23 / 41

Undecidability proof 5

Lemma: winning strategies must simulate the Turing machine

For each p ≥ 1, if n(u) = p then Cx = Cp is the p-th configuration of the Turing machine starting from the empty tape.

Proof

u x v y a b Induction 0q+11p0 · · · #q+p+1Cp#ω SPEC3 0q+11p0 · · · #q+p+1Cp#ω

Corollary

Specifications 1-4 and 5: G x = stop are implementable iff the Turing machine does not halt starting from the empty tape.

slide-48
SLIDE 48

23 / 41

Undecidability proof 5

Lemma: winning strategies must simulate the Turing machine

For each p ≥ 1, if n(u) = p then Cx = Cp is the p-th configuration of the Turing machine starting from the empty tape.

Proof

u x v y a b SPEC3 0q+11p0 · · · #q+p+1Cp#ω SPEC4 0q1p+10 · · · #q+p+1Cp+1#ω

Corollary

Specifications 1-4 and 5: G x = stop are implementable iff the Turing machine does not halt starting from the empty tape.

slide-49
SLIDE 49

23 / 41

Undecidability proof 5

Lemma: winning strategies must simulate the Turing machine

For each p ≥ 1, if n(u) = p then Cx = Cp is the p-th configuration of the Turing machine starting from the empty tape.

Proof

u x v y a b SPEC3 0q+11p0 · · · #q+p+1Cp#ω SPEC4 0q1p+10 · · · #q+p+1Cp+1#ω

Corollary

Specifications 1-4 and 5: G x = stop are implementable iff the Turing machine does not halt starting from the empty tape.

slide-50
SLIDE 50

24 / 41

Decidability of distributed synthesis

Some examples

u x v y a b Undecidable u x v y z a b Decidable u w x v y z a b Undecidable

slide-51
SLIDE 51

25 / 41

Decidability

Pipeline

x y1 y2 y3 z1 z2 z3 z4 a1 a2 a3 a4

Pnueli-Rosner (FOCS’90)

The synthesis problem for pipeline architectures and LTL specifications is non ele- mentary decidable.

Peterson-Reif (FOCS’79)

multi-person games with incomplete information. = ⇒ non-elementary lower bound for the synthesis problem.

slide-52
SLIDE 52

26 / 41

Decidability

Kupferman-Vardi (LICS’01)

The synthesis problem is non elementary decidable for

◮ 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.

  • ne-way chain

x y1 y2 y3 z1 z2 z3 a1 a2 a3

slide-53
SLIDE 53

26 / 41

Decidability

Kupferman-Vardi (LICS’01)

The synthesis problem is non elementary decidable for

◮ 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.

  • ne-way ring

x y1 y2 y3 z1 z2 z3 a1 a2 a3

slide-54
SLIDE 54

26 / 41

Decidability

Kupferman-Vardi (LICS’01)

The synthesis problem is non elementary decidable for

◮ 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.

two-way chain

x y1 y2 y3 y′

1

y′

2

y′

3

z1 z2 z3 z4 a1 a2 a3 a4

slide-55
SLIDE 55

27 / 41

1-delay synchronous semantics

Example

u x v z a b

Programs: fx : Q∗

u → Qx and fz : (Qx × Qv)∗ → Qz.

◮ Input:

  • u1

u2 u3 · · · v1 v2 v3 · · ·

  • ∈ (Qu × Qv)ω.

◮ Behavior:

    u1 u2 u3 · · · v1 v2 v3 · · · x1 x2 x3 · · · z1 z2 z3 · · ·     with

  • xn+1 = fx(u1 · · · un)

zn+1 = fz((x1, v1) · · · (xn, vn)) for all n > 0.

slide-56
SLIDE 56

28 / 41

Decidability

Adequately connected sub-architecture Qx = Q for all x ∈ V

u v x y z a b c

Pnueli-Rosner (FOCS’90)

◮ An adequately connected architecture is equivalent to a singleton architecture. ◮ The synthesis problem is decidable for LTL specifications and pipelines of

adequately connected architectures.

slide-57
SLIDE 57

28 / 41

Decidability

Adequately connected sub-architecture Qx = Q for all x ∈ V

u v x y z a b c x = u ⊗ v

Pnueli-Rosner (FOCS’90)

◮ An adequately connected architecture is equivalent to a singleton architecture. ◮ The synthesis problem is decidable for LTL specifications and pipelines of

adequately connected architectures.

slide-58
SLIDE 58

28 / 41

Decidability

Adequately connected sub-architecture Qx = Q for all x ∈ V

u v x y z a b c x = u ⊗ v u v y z

Pnueli-Rosner (FOCS’90)

◮ An adequately connected architecture is equivalent to a singleton architecture. ◮ The synthesis problem is decidable for LTL specifications and pipelines of

adequately connected architectures.

slide-59
SLIDE 59

28 / 41

Decidability

Adequately connected sub-architecture Qx = Q for all x ∈ V

u v x y z a b c x = u ⊗ v u v y z

Pnueli-Rosner (FOCS’90)

◮ An adequately connected architecture is equivalent to a singleton architecture. ◮ The synthesis problem is decidable for LTL specifications and pipelines of

adequately connected architectures.

slide-60
SLIDE 60

29 / 41

Information fork criterion (Finkbeiner–Schewe LICS ’05)

u v p q w x0 x1 a b y0 y1

slide-61
SLIDE 61

29 / 41

Information fork criterion (Finkbeiner–Schewe LICS ’05)

u v p q w x0 x1 a b y0 y1

slide-62
SLIDE 62

29 / 41

Information fork criterion (Finkbeiner–Schewe LICS ’05)

u v p q w x0 x1 a b y0 y1

slide-63
SLIDE 63

30 / 41

Outline

Synthesis and control for sequential systems Synthesis and control for distributed systems

3

Well-connected architectures

slide-64
SLIDE 64

31 / 41

Uniformly well connected architectures

Definition

For an output variable y, View(y) is the set of input variables x such that there is a path from x to y.

Definition

An architecture is uniformly well connected if there is a uniform way to route variables in View(y) to y for each output variable y.

Example

u v w p p s t p p p x y z

slide-65
SLIDE 65

31 / 41

Uniformly well connected architectures

Definition

For an output variable y, View(y) is the set of input variables x such that there is a path from x to y.

Definition

An architecture is uniformly well connected if there is a uniform way to route variables in View(y) to y for each output variable y.

Example

u v w p p s t p p p x y z u ⊕ v v ⊕ w

slide-66
SLIDE 66

32 / 41

Uniformly well connected architectures

Definition

An architecture is uniformly well connected if there is a uniform way to route variables in View(v) to v for each output variable v.

◮ If the capacity of internal variables is big enough then the architecture is

uniformly well-connected.

◮ If the architecture is uniformly well-connected then we can use causal

strategies instead of local ones.

Proposition

Checking whether a given architecture is uniformly well connected is NP-complete.

Proof

Reduction to the multicast problem in Network Information Flow. The multicast problem is NP-complete (Rasala Lehman-Lehman 2004).

slide-67
SLIDE 67

32 / 41

Uniformly well connected architectures

Definition

An architecture is uniformly well connected if there is a uniform way to route variables in View(v) to v for each output variable v.

◮ If the capacity of internal variables is big enough then the architecture is

uniformly well-connected.

◮ If the architecture is uniformly well-connected then we can use causal

strategies instead of local ones.

Proposition

Checking whether a given architecture is uniformly well connected is NP-complete.

Proof

Reduction to the multicast problem in Network Information Flow. The multicast problem is NP-complete (Rasala Lehman-Lehman 2004).

slide-68
SLIDE 68

33 / 41

Uncomparable information

Definition

An architecture has uncomparable information if there exist y1,y2 output variables such that View(y2) \ View(y1) = ∅ and View(y1) \ View(y2) = ∅. Otherwise it is said to have preordered information. x1 x2 y1 y2

slide-69
SLIDE 69

33 / 41

Uncomparable information

Definition

An architecture has uncomparable information if there exist y1,y2 output variables such that View(y2) \ View(y1) = ∅ and View(y1) \ View(y2) = ∅. Otherwise it is said to have preordered information. x1 y1 x2 y2 x3 y3 x4 y4

slide-70
SLIDE 70

33 / 41

Uncomparable information

Definition

An architecture has uncomparable information if there exist y1,y2 output variables such that View(y2) \ View(y1) = ∅ and View(y1) \ View(y2) = ∅. Otherwise it is said to have preordered information. x1 y1 x2 y2 x3 y3 x4 y4

slide-71
SLIDE 71

33 / 41

Uncomparable information

Definition

An architecture has uncomparable information if there exist y1,y2 output variables such that View(y2) \ View(y1) = ∅ and View(y1) \ View(y2) = ∅. Otherwise it is said to have preordered information. x1 y1 x2 y2 x3 y3 x4 y4

slide-72
SLIDE 72

33 / 41

Uncomparable information

Definition

An architecture has uncomparable information if there exist y1,y2 output variables such that View(y2) \ View(y1) = ∅ and View(y1) \ View(y2) = ∅. Otherwise it is said to have preordered information. x1 y1 x2 y2 x3 y3 x4 y4

slide-73
SLIDE 73

34 / 41

Uncomparable information yields undecidability

Theorem

Architectures with uncomparable information are undecidable for LTL or CTL input-

  • utput specifications.

Proof.

x0 x1 y0 y1 x0 x1 y0 y1

slide-74
SLIDE 74

34 / 41

Uncomparable information yields undecidability

Theorem

Architectures with uncomparable information are undecidable for LTL or CTL input-

  • utput specifications.

Proof.

x0 x1 y0 y1 x0 x1 y0 y1

slide-75
SLIDE 75

34 / 41

Uncomparable information yields undecidability

Theorem

Architectures with uncomparable information are undecidable for LTL or CTL input-

  • utput specifications.

Proof.

x0 x1 y0 y1 x0 x1 y0 y1

slide-76
SLIDE 76

35 / 41

Uniformly well connected architectures

Theorem (PG, Nathalie Sznajder, Marc Zeitoun)

Uniformly well connected architectures with preordered information are decidable for CTL* external specifications.

Proof.

x1 y1 x2 y2 x3 y3 x4 y4

Theorem: Kupferman-Vardi (LICS’01)

The synthesis problem is decidable for pipeline architectures and CTL∗ specifications

  • n all variables.
slide-77
SLIDE 77

35 / 41

Uniformly well connected architectures

Theorem (PG, Nathalie Sznajder, Marc Zeitoun)

Uniformly well connected architectures with preordered information are decidable for CTL* external specifications.

Proof.

x1 y1 x2 y2 x3 y3 x4 y4

Theorem: Kupferman-Vardi (LICS’01)

The synthesis problem is decidable for pipeline architectures and CTL∗ specifications

  • n all variables.
slide-78
SLIDE 78

35 / 41

Uniformly well connected architectures

Theorem (PG, Nathalie Sznajder, Marc Zeitoun)

Uniformly well connected architectures with preordered information are decidable for CTL* external specifications.

Proof.

x1 y1 x2 y2 x3 y3 x4 y4

Theorem: Kupferman-Vardi (LICS’01)

The synthesis problem is decidable for pipeline architectures and CTL∗ specifications

  • n all variables.
slide-79
SLIDE 79

35 / 41

Uniformly well connected architectures

Theorem (PG, Nathalie Sznajder, Marc Zeitoun)

Uniformly well connected architectures with preordered information are decidable for CTL* external specifications.

Proof.

x1 y1 x2 y2 x3 y3 x4 y4

Theorem: Kupferman-Vardi (LICS’01)

The synthesis problem is decidable for pipeline architectures and CTL∗ specifications

  • n all variables.
slide-80
SLIDE 80

35 / 41

Uniformly well connected architectures

Theorem (PG, Nathalie Sznajder, Marc Zeitoun)

Uniformly well connected architectures with preordered information are decidable for CTL* external specifications.

Proof.

x1 y1 x2 y2 x3 y3 x4 y4

Theorem: Kupferman-Vardi (LICS’01)

The synthesis problem is decidable for pipeline architectures and CTL∗ specifications

  • n all variables.
slide-81
SLIDE 81

35 / 41

Uniformly well connected architectures

Theorem (PG, Nathalie Sznajder, Marc Zeitoun)

Uniformly well connected architectures with preordered information are decidable for CTL* external specifications.

Proof.

x1 y1 x2 y2 x3 y3 x4 y4 y1 y2 y3 y4 a1 a2 a3 a4 x1 x2 x3 x4 x2 x3 x4 x3 x4 x4

Theorem: Kupferman-Vardi (LICS’01)

The synthesis problem is decidable for pipeline architectures and CTL∗ specifications

  • n all variables.
slide-82
SLIDE 82

35 / 41

Uniformly well connected architectures

Theorem (PG, Nathalie Sznajder, Marc Zeitoun)

Uniformly well connected architectures with preordered information are decidable for CTL* external specifications.

Proof.

x1 y1 x2 y2 x3 y3 x4 y4 y1 y2 y3 y4 a1 a2 a3 a4 x1 x2 x3 x4 x2 x3 x4 x3 x4 x4

Theorem: Kupferman-Vardi (LICS’01)

The synthesis problem is decidable for pipeline architectures and CTL∗ specifications

  • n all variables.
slide-83
SLIDE 83

36 / 41

Robust specifications

Definition

A specification ϕ is robust if it can be written ϕ =

z∈Out ϕz where ϕz depends

  • nly on View(z) ∪ {z}.

Theorem

The synthesis problem for uniformly well-connected architectures and external and robust CTL∗ specifications is decidable.

Proof.

slide-84
SLIDE 84

36 / 41

Robust specifications

Definition

A specification ϕ is robust if it can be written ϕ =

z∈Out ϕz where ϕz depends

  • nly on View(z) ∪ {z}.

Theorem

The synthesis problem for uniformly well-connected architectures and external and robust CTL∗ specifications is decidable.

Proof.

slide-85
SLIDE 85

36 / 41

Robust specifications

Definition

A specification ϕ is robust if it can be written ϕ =

z∈Out ϕz where ϕz depends

  • nly on View(z) ∪ {z}.

Theorem

The synthesis problem for uniformly well-connected architectures and external and robust CTL∗ specifications is decidable.

Proof.

x1 y1 x2 y2 x3 y3 x4 y4

slide-86
SLIDE 86

36 / 41

Robust specifications

Definition

A specification ϕ is robust if it can be written ϕ =

z∈Out ϕz where ϕz depends

  • nly on View(z) ∪ {z}.

Theorem

The synthesis problem for uniformly well-connected architectures and external and robust CTL∗ specifications is decidable.

Proof.

x1 y1 x2 y2 x3 y3 x4 y4 x1 y1 x2 x3

slide-87
SLIDE 87

36 / 41

Robust specifications

Definition

A specification ϕ is robust if it can be written ϕ =

z∈Out ϕz where ϕz depends

  • nly on View(z) ∪ {z}.

Theorem

The synthesis problem for uniformly well-connected architectures and external and robust CTL∗ specifications is decidable.

Proof.

x1 y1 x2 y2 x3 y3 x4 y4 x1 y1 x2 x3 x2 y2 x3 x4

slide-88
SLIDE 88

36 / 41

Robust specifications

Definition

A specification ϕ is robust if it can be written ϕ =

z∈Out ϕz where ϕz depends

  • nly on View(z) ∪ {z}.

Theorem

The synthesis problem for uniformly well-connected architectures and external and robust CTL∗ specifications is decidable.

Proof.

x1 y1 x2 y2 x3 y3 x4 y4 x1 y1 x2 x3 x2 y2 x3 x4 y3 x2 x3

slide-89
SLIDE 89

36 / 41

Robust specifications

Definition

A specification ϕ is robust if it can be written ϕ =

z∈Out ϕz where ϕz depends

  • nly on View(z) ∪ {z}.

Theorem

The synthesis problem for uniformly well-connected architectures and external and robust CTL∗ specifications is decidable.

Proof.

x1 y1 x2 y2 x3 y3 x4 y4 x1 y1 x2 x3 x2 y2 x3 x4 y3 x2 x3 y4 x3 x4

slide-90
SLIDE 90

37 / 41

Well-connected architectures

Definition

An architecture is well connected if, for each output variable y, the subarchitecture formed by (E∗)−1(y) is uniformly well connected.

Example: well-connected but not UWC

u v z1 z2 z3 z4 z12 z13 z14 z23 z24 z34

slide-91
SLIDE 91

38 / 41

Well-connected architectures

Definition

An architecture is well connected if, for each output variable y, the subarchitecture formed by (E∗)−1(y) is uniformly well connected.

Rasala Lehman–Lehman 2004

One can solve the network information flow in the special case where there is a unique sink in polynomial time.

Corollary

One can decide whether an architecture is well-connected in polynomial time.

slide-92
SLIDE 92

39 / 41

Well connected preordered architectures

Theorem

The synthesis problem for LTL specifications and well connected architectures with preordered information is undecidable. u v x y q0 p6 w z0 p z1 z2 z3 z4 p1 p2 p3 p4 p5 u1 w1 u2 w2 u3 w3 u4 w4 u5 w5 u6 w6

slide-93
SLIDE 93

39 / 41

Well connected preordered architectures

Theorem

The synthesis problem for LTL specifications and well connected architectures with preordered information is undecidable. u v x y q0 p6 w z0 p z1 z2 z3 z4 p1 p2 p3 p4 p5 u1 w1 u2 w2 u3 w3 u4 w4 u5 w5 u6 w6

slide-94
SLIDE 94

39 / 41

Well connected preordered architectures

Theorem

The synthesis problem for LTL specifications and well connected architectures with preordered information is undecidable. u v x y q0 p6 w z0 p z1 z2 z3 z4 p1 p2 p3 p4 p5 u1 w1 u2 w2 u3 w3 u4 w4 u5 w5 u6 w6

slide-95
SLIDE 95

40 / 41

Specification and routing

u w v x y z0 p0 p6 p z1 z2 z3 z4 p1 p2 p3 p4 p5 u1 w1 u2 w2 u3 w3 u4 w4 u5 w5 u6 w6 0 · · · 01 u w u w u w u w u w w

slide-96
SLIDE 96

40 / 41

Specification and routing

u w v x y z0 p0 p6 p z1 z2 z3 z4 p1 p2 p3 p4 p5 u1 w1 u2 w2 u3 w3 u4 w4 u5 w5 u6 w6 0 · · · 01 u w u w u w u w u w w u u u ⊕ w w w

slide-97
SLIDE 97

40 / 41

Specification and routing

u w v x y z0 p0 p6 p z1 z2 z3 z4 p1 p2 p3 p4 p5 u1 w1 u2 w2 u3 w3 u4 w4 u5 w5 u6 w6 0 · · · 01 u w u w u w u w u w w u u u ⊕ w w Y u ⊕ w Y u

slide-98
SLIDE 98

40 / 41

Specification and routing

u w v x y z0 p0 p6 p z1 z2 z3 z4 p1 p2 p3 p4 p5 u1 w1 u2 w2 u3 w3 u4 w4 u5 w5 u6 w6 0 · · · 01· · · u w

slide-99
SLIDE 99

40 / 41

Specification and routing

u w v x y z0 p0 p6 p z1 z2 z3 z4 p1 p2 p3 p4 p5 u1 w1 u2 w2 u3 w3 u4 w4 u5 w5 u6 w6 0 · · · 01· · · u w u w u One bit of u is hidden to p6

slide-100
SLIDE 100

41 / 41

Open problem

◮ Find a decidability criterium for external specifications and well-connected

architectures.

◮ Find a decidability criterium for external specifications and arbitrary

architectures.

◮ Decidability of the distributed control/synthesis problem for robust and

external specifications.