safety first a two stage algorithm for ltl games
play

Safety First: A Two-Stage Algorithm for LTL Games Saqib Sohail - PowerPoint PPT Presentation

Introduction Games Two Stage Synthesis Results Conclusions Safety First: A Two-Stage Algorithm for LTL Games Saqib Sohail Fabio Somenzi Department of Electrical and Computer Engineering University of Colorado at Boulder FMCAD 2009 Safety


  1. Introduction Games Two Stage Synthesis Results Conclusions Game Graphs A game graph G = (( S , E ) , S 0 , S 1 ) is a directed graph ( S , E ) with a finite state space S , a set of edges E and a partition ( S 0 , S 1 ) of the state space belonging to player 0 and 1 respectively. We assume that every state has an outgoing edge. The game is started by placing a token in one of the S init and then this token is moved along the edges, when the token is in a state s ∈ S 1 , player 1 selects one of its outgoing edges and vice-versa. The result is an infinite path in the game graph termed as a play. A strategy for a player is a recipe that specifies how to extend finite path. Formally strategy for player i is a function σ : S ∗ . S i → S . Safety First: A Two-Stage Algorithm for LTL Games

  2. Introduction Games Two Stage Synthesis Results Conclusions Parity Game For a game graph G = ( Q , E ) and a parity function π : Q → [ k ] , a parity acceptance condition requires that the maximal π ( s ) occuring infinitely often is odd (even) for player 1 ( 0 ) . A generalized parity game for a game graph G = ( Q , E ) and a set of parity functions { π i | π i : Q → [ k i ] } is played between the conjunctive and disjunctive player. The conjunctive player wins if it has a strategy to win all the parity acceptance conditions while the disjunctive player wins if it has a strategy for some parity acceptance condition. Safety First: A Two-Stage Algorithm for LTL Games

  3. Introduction Games Two Stage Synthesis Results Conclusions Parity Game For a game graph G = ( Q , E ) and a parity function π : Q → [ k ] , a parity acceptance condition requires that the maximal π ( s ) occuring infinitely often is odd (even) for player 1 ( 0 ) . A generalized parity game for a game graph G = ( Q , E ) and a set of parity functions { π i | π i : Q → [ k i ] } is played between the conjunctive and disjunctive player. The conjunctive player wins if it has a strategy to win all the parity acceptance conditions while the disjunctive player wins if it has a strategy for some parity acceptance condition. Safety First: A Two-Stage Algorithm for LTL Games

  4. Introduction Games Two Stage Synthesis Results Conclusions Two Game Theoretic Approaches The standard approach which is the focus of this talk, requires the determinization of word automata. LTL → NBW → DRW The Safraless Approach avoids determinization by working with Tree Automata. realizability lang − empt optimistic − reduction LTL → NGBW → UGCW → UGCT → NBT Safety First: A Two-Stage Algorithm for LTL Games

  5. Introduction Games Two Stage Synthesis Results Conclusions Two Game Theoretic Approaches The standard approach which is the focus of this talk, requires the determinization of word automata. LTL → NBW → DRW The Safraless Approach avoids determinization by working with Tree Automata. realizability lang − empt optimistic − reduction LTL → NGBW → UGCW → UGCT → NBT Safety First: A Two-Stage Algorithm for LTL Games

  6. Introduction Games Two Stage Synthesis Results Conclusions Specification of a simple 2-Client Arbiter Initially there are no acknowledgments. ¬ ack 0 ∧ ¬ ack 1 The acknowledgmnets are mutually exclusive. G ( ¬ ack 0 ∨ ¬ ack 1 ) There are no spurious acknowledgmnets. ∀ i . G ( ¬ req i → X ( ¬ ack i )) Every request will eventually be acknowledged ∀ i . G ( req i → F ack i ) Safety First: A Two-Stage Algorithm for LTL Games

  7. Introduction Games Two Stage Synthesis Results Conclusions Example: Game Graph and Synthesized Strategy Safety First: A Two-Stage Algorithm for LTL Games

  8. Introduction Games Two Stage Synthesis Results Conclusions Example: Game Graph and Synthesized Strategy Safety First: A Two-Stage Algorithm for LTL Games

  9. Introduction Games Two Stage Synthesis Results Conclusions Example: Game play & Strategy Computation for Player 1 � [Player 1] wins if the maximal π ( s ) occuring infinitely often is odd. Safety First: A Two-Stage Algorithm for LTL Games

  10. Introduction Games Two Stage Synthesis Results Conclusions Example: Game play & Strategy Computation for Player 1 � [Player 1] wins if the maximal π ( s ) occuring infinitely often is odd. Safety First: A Two-Stage Algorithm for LTL Games

  11. Introduction Games Two Stage Synthesis Results Conclusions Example: Game play & Strategy Computation for Player 1 � [Player 1] wins if the maximal π ( s ) occuring infinitely often is odd. Safety First: A Two-Stage Algorithm for LTL Games

  12. Introduction Games Two Stage Synthesis Results Conclusions Example: Game play & Strategy Computation for Player 1 � [Player 1] wins if the maximal π ( s ) occuring infinitely often is odd. Safety First: A Two-Stage Algorithm for LTL Games

  13. Introduction Games Two Stage Synthesis Results Conclusions Example: Game play & Strategy Computation for Player 1 � [Player 1] wins if the maximal π ( s ) occuring infinitely often is odd. Safety First: A Two-Stage Algorithm for LTL Games

  14. Introduction Games Two Stage Synthesis Results Conclusions Example: Game play & Strategy Computation for Player 1 � [Player 1] wins if the maximal π ( s ) occuring infinitely often is odd. Safety First: A Two-Stage Algorithm for LTL Games

  15. Introduction Games Two Stage Synthesis Results Conclusions Example: Game play & Strategy Computation for Player 1 � [Player 1] wins if the maximal π ( s ) occuring infinitely often is odd. Safety First: A Two-Stage Algorithm for LTL Games

  16. Introduction Games Two Stage Synthesis Results Conclusions Example: Game play & Strategy Computation for Player 1 � [Player 1] wins if the maximal π ( s ) occuring infinitely often is odd. Safety First: A Two-Stage Algorithm for LTL Games

  17. Introduction Games Two Stage Synthesis Results Conclusions Example: Game play & Strategy Computation for Player 1 � [Player 1] wins if the maximal π ( s ) occuring infinitely often is odd. Safety First: A Two-Stage Algorithm for LTL Games

  18. Introduction Games Two Stage Synthesis Results Conclusions Example: Game play & Strategy Computation for Player 1 � [Player 1] wins if the maximal π ( s ) occuring infinitely often is odd. Safety First: A Two-Stage Algorithm for LTL Games

  19. Introduction Games Two Stage Synthesis Results Conclusions Example: Game play & Strategy Computation for Player 1 � [Player 1] wins if the maximal π ( s ) occuring infinitely often is odd. Safety First: A Two-Stage Algorithm for LTL Games

  20. Introduction Games Two Stage Synthesis Results Conclusions Example: Game play & Strategy Computation for Player 1 � [Player 1] wins if the maximal π ( s ) occuring infinitely often is odd. Safety First: A Two-Stage Algorithm for LTL Games

  21. Introduction Games Two Stage Synthesis Results Conclusions Example: Game play & Strategy Computation for Player 1 � [Player 1] wins if the maximal π ( s ) occuring infinitely often is odd. Safety First: A Two-Stage Algorithm for LTL Games

  22. Introduction Games Two Stage Synthesis Results Conclusions Example: Game play & Strategy Computation for Player 1 � [Player 1] wins if the maximal π ( s ) occuring infinitely often is odd. Safety First: A Two-Stage Algorithm for LTL Games

  23. Introduction Games Two Stage Synthesis Results Conclusions Example: Game play & Strategy Computation for Player 1 � [Player 1] wins if the maximal π ( s ) occuring infinitely often is odd. Safety First: A Two-Stage Algorithm for LTL Games

  24. Introduction Games Two Stage Synthesis Results Conclusions Example: Game play & Strategy Computation for Player 1 � [Player 1] wins if the maximal π ( s ) occuring infinitely often is odd. Safety First: A Two-Stage Algorithm for LTL Games

  25. Introduction Games Two Stage Synthesis Results Conclusions Example: Game play & Strategy Computation for Player 1 � [Player 1] wins if the maximal π ( s ) occuring infinitely often is odd. Safety First: A Two-Stage Algorithm for LTL Games

  26. Introduction Games Two Stage Synthesis Results Conclusions Example: Game play & Strategy Computation for Player 1 � [Player 1] wins if the maximal π ( s ) occuring infinitely often is odd. Safety First: A Two-Stage Algorithm for LTL Games

  27. Introduction Games Two Stage Synthesis Results Conclusions Example: Game play & Strategy Computation for Player 1 � [Player 1] wins if the maximal π ( s ) occuring infinitely often is odd. Safety First: A Two-Stage Algorithm for LTL Games

  28. Introduction Games Two Stage Synthesis Results Conclusions Example: Generalized Parity Game � [Conjunctive Player] wins if it has a strategy to win all the parity functions � [Disjunctive Player] wins if it has a strategy to win according to some parity function Safety First: A Two-Stage Algorithm for LTL Games

  29. Introduction Games Two Stage Synthesis Results Conclusions Example: Generalized Parity Game � [Conjunctive Player] wins if it has a strategy to win all the parity functions � [Disjunctive Player] wins if it has a strategy to win according to some parity function Safety First: A Two-Stage Algorithm for LTL Games

  30. Introduction Games Two Stage Synthesis Results Conclusions Example: Generalized Parity Game � [Conjunctive Player] wins if it has a strategy to win all the parity functions � [Disjunctive Player] wins if it has a strategy to win according to some parity function Safety First: A Two-Stage Algorithm for LTL Games

  31. Introduction Games Two Stage Synthesis Results Conclusions Example: Generalized Parity Game � [Conjunctive Player] wins if it has a strategy to win all the parity functions � [Disjunctive Player] wins if it has a strategy to win according to some parity function Safety First: A Two-Stage Algorithm for LTL Games

  32. Introduction Games Two Stage Synthesis Results Conclusions Example: Generalized Parity Game � [Conjunctive Player] wins if it has a strategy to win all the parity functions � [Disjunctive Player] wins if it has a strategy to win according to some parity function Safety First: A Two-Stage Algorithm for LTL Games

  33. Introduction Games Two Stage Synthesis Results Conclusions Example: Generalized Parity Game � [Conjunctive Player] wins if it has a strategy to win all the parity functions � [Disjunctive Player] wins if it has a strategy to win according to some parity function Safety First: A Two-Stage Algorithm for LTL Games

  34. Introduction Games Two Stage Synthesis Results Conclusions Example: Generalized Parity Game � [Conjunctive Player] wins if it has a strategy to win all the parity functions � [Disjunctive Player] wins if it has a strategy to win according to some parity function Safety First: A Two-Stage Algorithm for LTL Games

  35. Introduction Games Two Stage Synthesis Results Conclusions Example: Generalized Parity Game � [Conjunctive Player] wins if it has a strategy to win all the parity functions � [Disjunctive Player] wins if it has a strategy to win according to some parity function Safety First: A Two-Stage Algorithm for LTL Games

  36. Introduction Games Two Stage Synthesis Results Conclusions Example: Generalized Parity Game � [Conjunctive Player] wins if it has a strategy to win all the parity functions � [Disjunctive Player] wins if it has a strategy to win according to some parity function Safety First: A Two-Stage Algorithm for LTL Games

  37. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Outline 1 Introduction 2 Games 3 Two Stage Synthesis The Challenge Algorithm Optimizations Implementation Caveats 4 Results 5 Conclusions Safety First: A Two-Stage Algorithm for LTL Games

  38. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats The Challenge Generalized parity game is an NP-Complete problem and the current algorithm (Chatterjee et. al 07) is computationally very expensive. Is there a simpler solution to the complex problem? Is there a way to deal with properties one at a time? Safety First: A Two-Stage Algorithm for LTL Games

  39. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats The Challenge Generalized parity game is an NP-Complete problem and the current algorithm (Chatterjee et. al 07) is computationally very expensive. Is there a simpler solution to the complex problem? Is there a way to deal with properties one at a time? Safety First: A Two-Stage Algorithm for LTL Games

  40. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats The Challenge Generalized parity game is an NP-Complete problem and the current algorithm (Chatterjee et. al 07) is computationally very expensive. Is there a simpler solution to the complex problem? Is there a way to deal with properties one at a time? Safety First: A Two-Stage Algorithm for LTL Games

  41. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Safety Properties A safety condition for a game graph G = ( Q , E ) is a function π : Q → { 0 , 1 } such that there is no transition ( u , v ) ∈ E such that π ( u ) = 0 and π ( v ) = 1. Safety First: A Two-Stage Algorithm for LTL Games

  42. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Safety Properties A safety condition for a game graph G = ( Q , E ) is a function π : Q → { 0 , 1 } such that there is no transition ( u , v ) ∈ E such that π ( u ) = 0 and π ( v ) = 1. Safety First: A Two-Stage Algorithm for LTL Games

  43. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Persistence Properties A persistence condition for a game graph G = ( Q , E ) is a function π : Q → { 1 , 2 } . Safety First: A Two-Stage Algorithm for LTL Games

  44. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats The Claim What is so unique about persistence properties? The winning states for persistence properties can be categorized into persistent and transient states. The computation of strategies is not necessary when we are only interested in determining the persistent and transient states. A transient state will stay a transient state for the subsequent games. Safety First: A Two-Stage Algorithm for LTL Games

  45. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats The Claim What is so unique about persistence properties? The winning states for persistence properties can be categorized into persistent and transient states. The computation of strategies is not necessary when we are only interested in determining the persistent and transient states. A transient state will stay a transient state for the subsequent games. Safety First: A Two-Stage Algorithm for LTL Games

  46. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats The Claim What is so unique about persistence properties? The winning states for persistence properties can be categorized into persistent and transient states. The computation of strategies is not necessary when we are only interested in determining the persistent and transient states. A transient state will stay a transient state for the subsequent games. Safety First: A Two-Stage Algorithm for LTL Games

  47. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats The Claim What is so unique about persistence properties? The winning states for persistence properties can be categorized into persistent and transient states. The computation of strategies is not necessary when we are only interested in determining the persistent and transient states. A transient state will stay a transient state for the subsequent games. Safety First: A Two-Stage Algorithm for LTL Games

  48. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Input/Output based game → State based game Safety First: A Two-Stage Algorithm for LTL Games

  49. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Example: Simple Arbiter revisited Safety First: A Two-Stage Algorithm for LTL Games

  50. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Example: Simple Arbiter revisited Safety First: A Two-Stage Algorithm for LTL Games

  51. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Example: Simple Arbiter revisited Safety First: A Two-Stage Algorithm for LTL Games

  52. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Example: Simple Arbiter revisited Safety First: A Two-Stage Algorithm for LTL Games

  53. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Example: Simple Arbiter revisited Safety First: A Two-Stage Algorithm for LTL Games

  54. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Example: Simple Arbiter revisited Safety First: A Two-Stage Algorithm for LTL Games

  55. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Example: Simple Arbiter revisited Safety First: A Two-Stage Algorithm for LTL Games

  56. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Example: Simple Arbiter revisited Safety First: A Two-Stage Algorithm for LTL Games

  57. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Example: Simple Arbiter revisited Safety First: A Two-Stage Algorithm for LTL Games

  58. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Example: Simple Arbiter revisited Safety First: A Two-Stage Algorithm for LTL Games

  59. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Example: Simple Arbiter revisited Safety First: A Two-Stage Algorithm for LTL Games

  60. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Example: Simple Arbiter revisited Safety First: A Two-Stage Algorithm for LTL Games

  61. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Example: Simple Arbiter revisited Safety First: A Two-Stage Algorithm for LTL Games

  62. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Example: Simple Arbiter revisited Safety First: A Two-Stage Algorithm for LTL Games

  63. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Example: Simple Arbiter revisited Safety First: A Two-Stage Algorithm for LTL Games

  64. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Example: Simple Arbiter revisited Safety First: A Two-Stage Algorithm for LTL Games

  65. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Example: Simple Arbiter revisited Safety First: A Two-Stage Algorithm for LTL Games

  66. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Example: Simple Arbiter revisited Safety First: A Two-Stage Algorithm for LTL Games

  67. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats How significant is the improvement? The complexity of “classical” algorithm of (Chatterjee et al 07) is given by � � d O ( m · n 2 d ) · , d 1 , d 2 , . . . , d k d i = ⌈ k i / 2 ⌉ If π k is a safety condition, solving the game in two stages leads d − 1 to a better bound for the second stage, O ( m · n 2 d − 2 ) · � � , d 1 ,..., d k − 1 while the first stage runs in O ( m · n 2 ) . In practice, in the second stage, the number of transitions may decrease, and the removal of losing positions for π 1 may reduce the number of colors in the remaining conditions. Safety First: A Two-Stage Algorithm for LTL Games

  68. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats How significant is the improvement? The complexity of “classical” algorithm of (Chatterjee et al 07) is given by � � d O ( m · n 2 d ) · , d 1 , d 2 , . . . , d k d i = ⌈ k i / 2 ⌉ If π k is a safety condition, solving the game in two stages leads d − 1 to a better bound for the second stage, O ( m · n 2 d − 2 ) · � � , d 1 ,..., d k − 1 while the first stage runs in O ( m · n 2 ) . In practice, in the second stage, the number of transitions may decrease, and the removal of losing positions for π 1 may reduce the number of colors in the remaining conditions. Safety First: A Two-Stage Algorithm for LTL Games

  69. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Outline 1 Introduction 2 Games 3 Two Stage Synthesis The Challenge Algorithm Optimizations Implementation Caveats 4 Results 5 Conclusions Safety First: A Two-Stage Algorithm for LTL Games

  70. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Methodology Identify the safety/persistent properties in the specification. Translate each property into a deterministic automaton. Compose the automaton with already existing game-graph and then playing the 2-player game on the relevant section of the graph. Determinize all the remaining non-safety/non-persistent properties and then compose with the game-graph and play the final generalized parity game on the relevant section of the graph. Select an appropriate strategy which in conjunction with the property automata can be translated into software/hardware. Safety First: A Two-Stage Algorithm for LTL Games

  71. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Methodology Identify the safety/persistent properties in the specification. Translate each property into a deterministic automaton. Compose the automaton with already existing game-graph and then playing the 2-player game on the relevant section of the graph. Determinize all the remaining non-safety/non-persistent properties and then compose with the game-graph and play the final generalized parity game on the relevant section of the graph. Select an appropriate strategy which in conjunction with the property automata can be translated into software/hardware. Safety First: A Two-Stage Algorithm for LTL Games

  72. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Methodology Identify the safety/persistent properties in the specification. Translate each property into a deterministic automaton. Compose the automaton with already existing game-graph and then playing the 2-player game on the relevant section of the graph. Determinize all the remaining non-safety/non-persistent properties and then compose with the game-graph and play the final generalized parity game on the relevant section of the graph. Select an appropriate strategy which in conjunction with the property automata can be translated into software/hardware. Safety First: A Two-Stage Algorithm for LTL Games

  73. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Methodology Identify the safety/persistent properties in the specification. Translate each property into a deterministic automaton. Compose the automaton with already existing game-graph and then playing the 2-player game on the relevant section of the graph. Determinize all the remaining non-safety/non-persistent properties and then compose with the game-graph and play the final generalized parity game on the relevant section of the graph. Select an appropriate strategy which in conjunction with the property automata can be translated into software/hardware. Safety First: A Two-Stage Algorithm for LTL Games

  74. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Methodology Identify the safety/persistent properties in the specification. Translate each property into a deterministic automaton. Compose the automaton with already existing game-graph and then playing the 2-player game on the relevant section of the graph. Determinize all the remaining non-safety/non-persistent properties and then compose with the game-graph and play the final generalized parity game on the relevant section of the graph. Select an appropriate strategy which in conjunction with the property automata can be translated into software/hardware. Safety First: A Two-Stage Algorithm for LTL Games

  75. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Algorithm S AFETY -F IRST ( G , SPECIFICATION ) 1. ( SAFETY , NON − PERSISTENT ) ← SPECIFICATION 2. 3. foreach ϕ ∈ SAFETY 3.1 G = G � automaton ϕ det 3.2 ( Q sys , E sys ) ← C HATTERJEE ( G , ϕ ) 3.3 ( Q new , E new ) ← O PTIMIZE ( Q sys , E sys ) 3.4 G = ( Q new , E new ) end foreach foreach ϕ ∈ NON − PERSISTENT 4. 4.1 G = G � automaton ϕ det end foreach ( Q sys , E sys , σ sys ) ← C HATTERJEE ( G , ϕ 1 , ϕ 2 ..., ϕ n ) 5 S YNTHESIZE ( Q sys , E sys , σ sys ) 6 Safety First: A Two-Stage Algorithm for LTL Games

  76. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Algorithm S AFETY -F IRST ( G , SPECIFICATION ) 1. ( SAFETY , NON − PERSISTENT ) ← SPECIFICATION 2. 3. foreach ϕ ∈ SAFETY 3.1 G = G � automaton ϕ det 3.2 ( Q sys , E sys ) ← C HATTERJEE ( G , ϕ ) 3.3 ( Q new , E new ) ← O PTIMIZE ( Q sys , E sys ) 3.4 G = ( Q new , E new ) end foreach foreach ϕ ∈ NON − PERSISTENT 4. 4.1 G = G � automaton ϕ det end foreach ( Q sys , E sys , σ sys ) ← C HATTERJEE ( G , ϕ 1 , ϕ 2 ..., ϕ n ) 5 S YNTHESIZE ( Q sys , E sys , σ sys ) 6 Safety First: A Two-Stage Algorithm for LTL Games

  77. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Algorithm S AFETY -F IRST ( G , SPECIFICATION ) 1. ( SAFETY , NON − PERSISTENT ) ← SPECIFICATION 2. 3. foreach ϕ ∈ SAFETY 3.1 G = G � automaton ϕ det 3.2 ( Q sys , E sys ) ← C HATTERJEE ( G , ϕ ) 3.3 ( Q new , E new ) ← O PTIMIZE ( Q sys , E sys ) 3.4 G = ( Q new , E new ) end foreach foreach ϕ ∈ NON − PERSISTENT 4. 4.1 G = G � automaton ϕ det end foreach ( Q sys , E sys , σ sys ) ← C HATTERJEE ( G , ϕ 1 , ϕ 2 ..., ϕ n ) 5 S YNTHESIZE ( Q sys , E sys , σ sys ) 6 Safety First: A Two-Stage Algorithm for LTL Games

  78. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Algorithm S AFETY -F IRST ( G , SPECIFICATION ) 1. ( SAFETY , NON − PERSISTENT ) ← SPECIFICATION 2. 3. foreach ϕ ∈ SAFETY 3.1 G = G � automaton ϕ det 3.2 ( Q sys , E sys ) ← C HATTERJEE ( G , ϕ ) 3.3 ( Q new , E new ) ← O PTIMIZE ( Q sys , E sys ) 3.4 G = ( Q new , E new ) end foreach foreach ϕ ∈ NON − PERSISTENT 4. 4.1 G = G � automaton ϕ det end foreach ( Q sys , E sys , σ sys ) ← C HATTERJEE ( G , ϕ 1 , ϕ 2 ..., ϕ n ) 5 S YNTHESIZE ( Q sys , E sys , σ sys ) 6 Safety First: A Two-Stage Algorithm for LTL Games

  79. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Algorithm S AFETY -F IRST ( G , SPECIFICATION ) 1. ( SAFETY , NON − PERSISTENT ) ← SPECIFICATION 2. 3. foreach ϕ ∈ SAFETY 3.1 G = G � automaton ϕ det 3.2 ( Q sys , E sys ) ← C HATTERJEE ( G , ϕ ) 3.3 ( Q new , E new ) ← O PTIMIZE ( Q sys , E sys ) 3.4 G = ( Q new , E new ) end foreach foreach ϕ ∈ NON − PERSISTENT 4. 4.1 G = G � automaton ϕ det end foreach ( Q sys , E sys , σ sys ) ← C HATTERJEE ( G , ϕ 1 , ϕ 2 ..., ϕ n ) 5 S YNTHESIZE ( Q sys , E sys , σ sys ) 6 Safety First: A Two-Stage Algorithm for LTL Games

  80. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Algorithm S AFETY -F IRST ( G , SPECIFICATION ) 1. ( SAFETY , NON − PERSISTENT ) ← SPECIFICATION 2. 3. foreach ϕ ∈ SAFETY 3.1 G = G � automaton ϕ det 3.2 ( Q sys , E sys ) ← C HATTERJEE ( G , ϕ ) 3.3 ( Q new , E new ) ← O PTIMIZE ( Q sys , E sys ) 3.4 G = ( Q new , E new ) end foreach foreach ϕ ∈ NON − PERSISTENT 4. 4.1 G = G � automaton ϕ det end foreach ( Q sys , E sys , σ sys ) ← C HATTERJEE ( G , ϕ 1 , ϕ 2 ..., ϕ n ) 5 S YNTHESIZE ( Q sys , E sys , σ sys ) 6 Safety First: A Two-Stage Algorithm for LTL Games

  81. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Outline 1 Introduction 2 Games 3 Two Stage Synthesis The Challenge Algorithm Optimizations Implementation Caveats 4 Results 5 Conclusions Safety First: A Two-Stage Algorithm for LTL Games

  82. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Restrict the state space with the reachable winning states. Remove the constant bits in the reachable winning state space. Find dependencies between state-variables and remove the dependant variables. (Efficiently re-encode the state space). Safety First: A Two-Stage Algorithm for LTL Games

  83. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Restrict the state space with the reachable winning states. Remove the constant bits in the reachable winning state space. Find dependencies between state-variables and remove the dependant variables. (Efficiently re-encode the state space). Safety First: A Two-Stage Algorithm for LTL Games

  84. Introduction The Challenge Games Algorithm Two Stage Synthesis Optimizations Results Implementation Conclusions Caveats Restrict the state space with the reachable winning states. Remove the constant bits in the reachable winning state space. Find dependencies between state-variables and remove the dependant variables. (Efficiently re-encode the state space). Safety First: A Two-Stage Algorithm for LTL Games

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