distributed synthesis
play

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

  2. Outline Synthesis and control for sequential systems 1 Synthesis and control for distributed systems Well-connected architectures 2 / 41

  3. Open / Reactive system inputs from E outputs to E Specification Reactive system S ϕ Synthesis problem ◮ Given a specification ϕ , decide whether there exists a program P such that P � E | = ϕ for all environment E . ◮ Build such a program P (if one exists). 3 / 41

  4. Open / Reactive system inputs from E outputs to E Specification Reactive system S ϕ Program P Synthesis problem ◮ Given a specification ϕ , decide whether there exists a program P such that P � E | = ϕ for all environment E . ◮ Build such a program P (if one exists). 3 / 41

  5. 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 closed i ) ◮ Liveness: G ( is called i − → F ( level = i ∧ is open i )) Branching time: CTL , CTL ∗ , µ -calculus, . . . ◮ AG � call i �⊤ ( call i is uncontrollable) ◮ AG EF ( level = 0 ∧ is open 0 ) 4 / 41

  6. 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 closed i ) ◮ Liveness: G ( is called i − → F ( level = i ∧ is open i )) Branching time: CTL , CTL ∗ , µ -calculus, . . . ◮ AG � call i �⊤ ( call i is uncontrollable) ◮ AG EF ( level = 0 ∧ is open 0 ) 4 / 41

  7. Synthesis of reactive programs Reactive program y x f ◮ Q x : domain for input variable x ◮ Q y : domain for output variable y ◮ Program: f : Q + x → Q y ◮ Input: x 1 x 2 · · · ∈ Q ω x . ◮ Behavior: ( x 1 , y 1 )( x 2 , y 2 )( x 3 , y 3 ) · · · with y n = f ( x 1 · · · x n ) for all n > 0 . Chruch problem (implementability) 1962 ◮ Given a linear time specification ϕ over the alphabet Σ = Q x × Q y , Does there exist a program f such that all f -behaviors satisfy ϕ ? ◮ Given a branching time specification ϕ over the alphabet Σ = Q x × Q y , Does there exist a program f such that its run-tree satisfies ϕ ? 5 / 41

  8. Synthesis of reactive programs Reactive program y x f ◮ Q x : domain for input variable x ◮ Q y : domain for output variable y ◮ Program: f : Q + x → Q y ◮ Input: x 1 x 2 · · · ∈ Q ω x . ◮ Behavior: ( x 1 , y 1 )( x 2 , y 2 )( x 3 , y 3 ) · · · with y n = f ( x 1 · · · x n ) for all n > 0 . Chruch problem (implementability) 1962 ◮ Given a linear time specification ϕ over the alphabet Σ = Q x × Q y , Does there exist a program f such that all f -behaviors satisfy ϕ ? ◮ Given a branching time specification ϕ over the alphabet Σ = Q x × Q y , Does there exist a program f such that its run-tree satisfies ϕ ? 5 / 41

  9. Synthesis of reactive programs Reactive program y x f ◮ Q x : domain for input variable x ◮ Q y : domain for output variable y ◮ Program: f : Q + x → Q y ◮ Input: x 1 x 2 · · · ∈ Q ω x . ◮ Behavior: ( x 1 , y 1 )( x 2 , y 2 )( x 3 , y 3 ) · · · with y n = f ( x 1 · · · x n ) for all n > 0 . Chruch problem (implementability) 1962 ◮ Given a linear time specification ϕ over the alphabet Σ = Q x × Q y , Does there exist a program f such that all f -behaviors satisfy ϕ ? ◮ Given a branching time specification ϕ over the alphabet Σ = Q x × Q y , Does there exist a program f such that its run-tree satisfies ϕ ? 5 / 41

  10. Synthesis of reactive programs Chruch problem (implementability) 1962 Given a linear time specification ϕ over the alphabet Σ = Q x × Q y , Does there exist a program f such that all f -behaviors satisfy ϕ ? Implementability � = Satisfiability ◮ Q x = { 0 , 1 } and ϕ := F ( x = 1) ◮ ϕ is satisfiable: (1 , 0) ω | = ϕ ◮ ϕ is not implementable since the input is not controllable. Implementability � = Validity of ∀ � x ∃ � y ϕ ◮ Q x = Q y = { 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 ϕ 6 / 41

  11. Synthesis of reactive programs Chruch problem (implementability) 1962 Given a linear time specification ϕ over the alphabet Σ = Q x × Q y , Does there exist a program f such that all f -behaviors satisfy ϕ ? Implementability � = Satisfiability ◮ Q x = { 0 , 1 } and ϕ := F ( x = 1) ◮ ϕ is satisfiable: (1 , 0) ω | = ϕ ◮ ϕ is not implementable since the input is not controllable. Implementability � = Validity of ∀ � x ∃ � y ϕ ◮ Q x = Q y = { 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 ϕ 6 / 41

  12. Synthesis of reactive programs Chruch problem (implementability) 1962 Given a linear time specification ϕ over the alphabet Σ = Q x × Q y , Does there exist a program f such that all f -behaviors satisfy ϕ ? Implementability � = Satisfiability ◮ Q x = { 0 , 1 } and ϕ := F ( x = 1) ◮ ϕ is satisfiable: (1 , 0) ω | = ϕ ◮ ϕ is not implementable since the input is not controllable. Implementability � = Validity of ∀ � x ∃ � y ϕ ◮ Q x = Q y = { 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 ϕ 6 / 41

  13. Synthesis of reactive programs Chruch problem (implementability) 1962 Given a linear time specification ϕ over the alphabet Σ = Q x × Q y , 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 ( EX ( x = a )) a ∈ Q x is satisfiable. ◮ When ϕ is implementable, we can construct a finite state implementation (program) in time doubly exponential in ϕ . 7 / 41

  14. Control problem inputs from E outputs to E Specification Open system S ϕ Open system: Transitions system A = ( Q, Σ , q 0 , δ ) ◮ 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). 8 / 41

  15. Control problem inputs from E outputs to E enables/disables actions Specification Open system S Controller C ϕ observation Open system: Transitions system A = ( Q, Σ , q 0 , δ ) ◮ 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). 8 / 41

  16. 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. 9 / 41

  17. 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. 9 / 41

  18. Program synthesis versus System control Equivalence The implementability problem for y x is equivalent to the control problem for the system Q x Q y 10 / 41

  19. Outline Synthesis and control for sequential systems Synthesis and control for distributed systems 2 Well-connected architectures 11 / 41

  20. Distributed synthesis inputs from E outputs to E Open distributed system S Specification ϕ Distributed synthesis problem ◮ Decide whether there exists a distributed program st. P 1 � · · · � P n � E | = ϕ . ◮ Synthesis: If so, compute such a distributed program. Peterson-Reif 1979, Pnueli-Rosner 1990 In general, the problem is undecidable. 12 / 41

  21. Distributed synthesis inputs from E outputs to E Open distributed system S P 1 P 2 Specification ϕ P 3 P 4 Distributed synthesis problem ◮ Decide whether there exists a distributed program st. P 1 � · · · � P n � E | = ϕ . ◮ Synthesis: If so, compute such a distributed program. Peterson-Reif 1979, Pnueli-Rosner 1990 In general, the problem is undecidable. 12 / 41

Recommend


More recommend