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 a state machine with such inputs/outputs that satisfies the formula. An example solution Another solution ๐ ๐ ยฌ๐ ยฌ๐ ยฌ๐ ๐ ยฌ๐ ๐ ยฌ๐ ๐ 1 2
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
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
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
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 = ๐ข๐ ๐ฃ๐
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
From model checking to synthesis โข SMT constraints look like this: ๐ ๐โ ๐, ๐ก โง ๐๐๐๐๐ ๐ก โ โง ๐(๐, ๐ก) > ๐(๐ โฒ , ๐(๐ก, ๐ )) ๐ ๐โ ๐, ๐ ๐ก, ๐ ๐กโ๐, ๐ โ๐ถ โข To do synthesis, replace given system functions ( ๐๐๐๐๐ and ๐ ) with uninterpreted functions! 8
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
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
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
Example โข The top-level proposition holds initially โข ๐ ๐ ๐ต๐ โ ๐ โข "๐ ๐ ๐น๐ โ ๐๐ ๐น๐ โ ๐ " (roughly) โข ๐พ ๐๐๐โ = ๐ ๐ ๐ โง ๐๐ , inputs={r}, outputs={g} โข inputs={r}, outputs= {๐, ๐, ๐} ๐พ ๐๐๐ = ๐ โง ๐ฏ(๐ โ ๐ฏ๐ โ ๐ ๐ โง ๐ฎ๐ ) ๐ ๐ = ๐ ๐ = ๐ 12
Counterexample to โroughโ Eฯ reduction โข ๐ฒ ๐ซ๐ผ๐ดโ = ๐๐ ๐ ๐ ๐ โง ๐ฎ๐ โข outputs= {๐, ๐ ๐ต , ๐, ๐} ๐ฒ ๐ด๐ผ๐ด = ๐ ๐ฉ โง ๐ฏ ๐ ๐ฉ โ ๐ฏ๐ โง ๐ฏ(๐ โ ๐ฏ๐ โ ๐ ๐ โง ๐ฎ๐ ) ๐ ๐ต ๐ ๐ ๐ =? ? ๐ = ๐ 13
Correct translation of E-formulas โข For each ๐น๐ , add outputs ๐ 1 , โฆ , ๐ |๐ | , ๐ค: {0 โฆ |๐ |} โข Add LTL formula: ๐[ ๐ค ๐น๐ = ๐ โ ๐๐ ๐ โ ๐ ] ๐โ{๐โฆ ๐น } 14
Example โข ๐ฒ ๐ซ๐ผ๐ดโ = ๐ฉ๐ฏ๐ญ๐ ๐ โง ๐ฎ๐ โข outputs= {๐, ๐ ๐ต , ๐ค: {0 โฆ 4}, ๐ 1 , ๐ 2 , ๐ 3 , ๐ 4 } ๐พ ๐ด๐ผ๐ด = ๐ ๐ฉ โง ๐ฏ ๐ ๐ฉ โ ๐ฏ๐ โ ๐ โง ) ๐ฏ(๐ = ๐ โ ๐ฏ๐ ๐ โ ๐ ๐ โง ๐ฎ๐ ๐โ{๐โฆ๐} ๐ ๐ต ๐ค = ๐ ๐ค = ๐ ๐ค = 1 ๐ ๐ = ๐ ๐ ๐ = ๐ ๐ ๐ = ๐, ๐ ๐ = ๐ , ๐ ๐ = ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ , ๐ ๐ 15
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
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