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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend