two synthesis approaches
play

Two Synthesis Approaches for CTL* Roderick Bloem 1 , Ayrat Khalimov - PowerPoint PPT Presentation

Two Synthesis Approaches for CTL* Roderick Bloem 1 , Ayrat Khalimov 1 , Sven Schewe 2 2 1 1 Rigorous Systems Engineering LTL/CTL* synthesis problem Specification: LTL formula: ( ) Inputs: , outputs: Find


  1. Two Synthesis Approaches for CTL* Roderick Bloem 1 , Ayrat Khalimov 1 , Sven Schewe 2 2 1 1 Rigorous Systems Engineering

  2. LTL/CTL* synthesis problem Specification: โ€ข LTL formula: ๐‘ฏ(๐‘  โ†’ ๐‘ฎ ๐‘•) โ€ข Inputs: ๐‘  , outputs: ๐‘• Find a state machine with such inputs/outputs that satisfies the formula. An example solution Another solution ๐‘  ๐‘  ยฌ๐‘  ยฌ๐‘  ยฌ๐‘• ๐‘• ยฌ๐‘• ๐‘• ยฌ๐‘  ๐‘  1 2

  3. LTL/CTL* synthesis problem Specification: โ€ข CTL* formula: ๐‘ฉ๐‘ฏ ๐‘  โ†’ ๐‘ฎ ๐‘• โˆง ๐‘ฉ๐‘ฏ๐‘ญ๐‘ฎยฌ๐‘• โ€ข Inputs: ๐‘  , outputs: ๐‘• Find a state machine with such inputs/outputs that satisfies the formula. An example solution Another solution ๐‘  ๐‘  ยฌ๐‘  ยฌ๐‘  ยฌ๐‘• ๐‘• ยฌ๐‘• ๐‘• ยฌ๐‘  ๐‘  1 3

  4. Talk outline โ€ข SMT-based bounded CTL* synthesis - โ€œmodel checking, but with unknown system functionsโ€ (bounded synthesis) โ€ข Reducing CTL* synthesis to LTL synthesis - explicit models โ€ข Conclusion 4

  5. CTL* synthesis: approach #1 bottom-up CTL* model checking with uninterpreted functions โ€ข Encode CTL* model checking into SMT - the query is satisfiable iff the system is correct โ€ข Replace the known system with UFs - possible if we bound the number of system states 5

  6. Encoding ๐‘ซ๐‘ผ๐‘ด โˆ— model checking into SMT ๐’’ ๐ ๐’•๐’›๐’•๐’–๐’‡๐’ โŠจ ๐๐ป ๐…๐บ๐ป๐‘• ๐’’ ๐‘ญ โ€ข Proposition for each sub-formula โ€ข For every ๐‘ก and sub-formula ๐œš , encode into SMT โ€œ ๐‘ž ๐œš ๐‘ก โ†’ ๐‘ก โŠจ ๐œš โ€ - ๐‘ž ๐ต ๐‘ก โ†’ ๐‘ก โŠจ ๐ต๐ป๐‘ž ๐น How to encode into SMT? - ๐‘ž ๐น ๐‘ก โ†’ ๐‘ก โŠจ ๐น๐บ๐ป๐‘• โ€ข Require ๐‘ž ๐‘ข๐‘๐‘ž ๐‘ก 0 = ๐‘ข๐‘ ๐‘ฃ๐‘“ - ๐‘ž ๐ต ๐‘ก 0 = ๐‘ข๐‘ ๐‘ฃ๐‘“

  7. Encode ๐’• โŠจ ๐‘ญ๐Œ into SMT Build the product graph ๐‘ก๐‘ง๐‘ก๐‘ข๐‘“๐‘› ร— ๐‘๐‘ฃ๐‘ข๐‘๐‘›๐‘๐‘ข๐‘๐‘œ ๐œ’ โ€ข Buchi automaton โ€ข ๐‘ก โŠจ ๐น๐œ’ โ‡” the product has an accepting path โ€ข โ€ข Buchi ranking exit normal state: < โ€ข 3 โ€ข exit accepting state: reset < โ€ข SMT query is satisfiable < iff the product is accepting 2 1 ๐ฌ๐Ÿ๐ญ๐Ÿ๐ฎ 3

  8. From model checking to synthesis โ€ข SMT constraints look like this: ๐‘ ๐‘‘โ„Ž ๐‘Ÿ, ๐‘ก โˆง ๐’‰๐’”๐’ƒ๐’๐’– ๐‘ก โ†’ โˆง ๐œ(๐‘Ÿ, ๐‘ก) > ๐œ(๐‘Ÿ โ€ฒ , ๐Š(๐‘ก, ๐‘ )) ๐‘ ๐‘‘โ„Ž ๐‘Ÿ, ๐Š ๐‘ก, ๐‘  ๐‘กโˆˆ๐‘‡, ๐‘ โˆˆ๐ถ โ€ข To do synthesis, replace given system functions ( ๐’‰๐’”๐’ƒ๐’๐’– and ๐Š ) with uninterpreted functions! 8

  9. CTL* bounded synthesis: summary CTL* ฮฆ , inputs, - bad at establishing outputs CTL* unrealizability automata ๐‘‡ = {๐‘ก 0 } ๐‘“๐‘ฆ๐‘ข๐‘“๐‘œ๐‘’ ๐‘‡ build SMT query where ๐Š, ๐’‘๐’—๐’– are NO uninterpreted YES ๐‘‡ > 2 2 |ฮฆ| ? YES SMT solve NO unrealizable system ๐Š, ๐’‘๐’—๐’– 9

  10. CTL* synthesis: approach #2 reduce CTL* synthesis to LTL synthesis โ€ข Overcome the bounded synthesis limitation - - efficiently handle unrealizable CTL* + โ€ข Avoid building specialized CTL* synthesizers + - โ€ข Be fast by using state-of-the-art LTL synthesizers 10

  11. Idea of reduction CTL* -> LTL โ€ข Synthesize explicit models - for each sub-formula ๐ต๐œ’ or ๐น๐œ’ , introduce new system outputs ๐‘ž ๐ต๐œ’ or ๐‘ž ๐น๐œ’ - for each ๐น๐œ’ , introduce direction-output ๐‘’ ๐น๐œ’ that encodes system path that satisfies ๐œ’ โ€ข LTL formula says: - ๐‡ ๐‘ž ๐ต๐œ’ โ†’ ๐œ’ - "๐‡ ๐‘ž ๐น๐œ’ โ†’ ๐‡๐‘’ ๐น๐œ’ โ†’ ๐œ’ " (roughly) - The top-level proposition holds initially 11

  12. Example โ€ข The top-level proposition holds initially โ€ข ๐‡ ๐‘ž ๐ต๐œ’ โ†’ ๐œ’ โ€ข "๐‡ ๐‘ž ๐น๐œ’ โ†’ ๐‡๐‘’ ๐น๐œ’ โ†’ ๐œ’ " (roughly) โ€ข ๐šพ ๐ƒ๐”๐Œโˆ— = ๐…๐˜ ๐‘• โˆง ๐†๐‘• , inputs={r}, outputs={g} โ€ข inputs={r}, outputs= {๐‘•, ๐‘ž, ๐‘’} ๐šพ ๐Œ๐”๐Œ = ๐’’ โˆง ๐‘ฏ(๐’’ โ†’ ๐‘ฏ๐’† โ†’ ๐’€ ๐’‰ โˆง ๐‘ฎ๐’‰ ) ๐‘ž ๐‘’ = ๐‘  ๐‘’ = ๐‘  12

  13. Counterexample to โ€˜roughโ€™ Eฯ† reduction โ€ข ๐œฒ ๐‘ซ๐‘ผ๐‘ดโˆ— = ๐๐‡ ๐…๐˜ ๐’‰ โˆง ๐‘ฎ๐’‰ โ€ข outputs= {๐‘•, ๐‘ž ๐ต , ๐‘ž, ๐‘’} ๐œฒ ๐‘ด๐‘ผ๐‘ด = ๐’’ ๐‘ฉ โˆง ๐‘ฏ ๐’’ ๐‘ฉ โ†’ ๐‘ฏ๐’’ โˆง ๐‘ฏ(๐’’ โ†’ ๐‘ฏ๐’† โ†’ ๐’€ ๐’‰ โˆง ๐‘ฎ๐’‰ ) ๐‘ž ๐ต ๐‘ž ๐‘ž ๐‘’ =? ? ๐‘’ = ๐‘  13

  14. Correct translation of E-formulas โ€ข For each ๐น๐œ’ , add outputs ๐‘’ 1 , โ€ฆ , ๐‘’ |๐‘…| , ๐‘ค: {0 โ€ฆ |๐‘…|} โ€ข Add LTL formula: ๐‡[ ๐‘ค ๐น๐œ’ = ๐‘— โ†’ ๐‡๐‘’ ๐‘— โ†’ ๐œ’ ] ๐’‹โˆˆ{๐Ÿโ€ฆ ๐‘น } 14

  15. Example โ€ข ๐œฒ ๐‘ซ๐‘ผ๐‘ดโˆ— = ๐‘ฉ๐‘ฏ๐‘ญ๐’€ ๐’‰ โˆง ๐‘ฎ๐’‰ โ€ข outputs= {๐‘•, ๐‘ž ๐ต , ๐‘ค: {0 โ€ฆ 4}, ๐‘’ 1 , ๐‘’ 2 , ๐‘’ 3 , ๐‘’ 4 } ๐šพ ๐‘ด๐‘ผ๐‘ด = ๐’’ ๐‘ฉ โˆง ๐‘ฏ ๐’’ ๐‘ฉ โ†’ ๐‘ฏ๐’˜ โ‰  ๐Ÿ โˆง ) ๐‘ฏ(๐’˜ = ๐’‹ โ†’ ๐‘ฏ๐’† ๐’‹ โ†’ ๐’€ ๐’‰ โˆง ๐‘ฎ๐’‰ ๐’‹โˆˆ{๐Ÿโ€ฆ๐Ÿ“} ๐‘ž ๐ต ๐‘ค = ๐Ÿ ๐‘ค = ๐Ÿ‘ ๐‘ค = 1 ๐’† ๐Ÿ‘ = ๐’” ๐’† ๐Ÿ = ๐’” ๐’† ๐Ÿ = ๐’”, ๐’† ๐Ÿ = ๐’” , ๐’† ๐Ÿ‘ = ๐’” ๐‘  ๐‘  ๐‘• ๐‘• ๐‘• ๐‘  ๐‘ , ๐‘  ๐‘  15

  16. CTL* via LTL synthesis: summary โ€ข ฮฆ ๐‘€๐‘ˆ๐‘€ is realizable ๏ƒณ ฮฆ ๐ท๐‘ˆ๐‘€ โˆ— is realizable ฮฆ ๐‘€๐‘ˆ๐‘€ โ‰ˆ 2 |ฮฆ ๐ท๐‘ˆ๐‘€โˆ— | โ€ข โ€ข Yet the synthesis complexity stays in 2EXPTIME โ€ข Systems can get larger โ€ข Experiments: faster when the # of E-formulas is small 16

  17. Conclusion CTL*-via-LTL synthesis SMT-based bounded CTL* synthesis Future directions: โ€ข How to establish unrealizability of CTL*? โ€ข Synthesizers for ATL* โ€ข Satisfiability of CTL* 17

Recommend


More recommend