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

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