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

โ–ถ
two synthesis approaches
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Two Synthesis Approaches for CTL*

Roderick Bloem1, Ayrat Khalimov1, Sven Schewe2

Rigorous Systems Engineering

1 1 2

slide-2
SLIDE 2

LTL/CTL* synthesis problem

Specification:

  • LTL formula: ๐‘ฏ(๐‘  โ†’ ๐‘ฎ ๐‘•)
  • Inputs: ๐‘ , outputs: ๐‘•

Find a state machine with such inputs/outputs that satisfies the formula.

2

ยฌ๐‘•

๐‘ 

๐‘•

ยฌ๐‘  ๐‘  ยฌ๐‘  An example solution

ยฌ๐‘•

๐‘ 

๐‘•

ยฌ๐‘  1 Another solution

slide-3
SLIDE 3

LTL/CTL* synthesis problem

Specification:

  • CTL* formula: ๐‘ฉ๐‘ฏ ๐‘  โ†’ ๐‘ฎ ๐‘• โˆง ๐‘ฉ๐‘ฏ๐‘ญ๐‘ฎยฌ๐‘•
  • Inputs: ๐‘ , outputs: ๐‘•

Find a state machine with such inputs/outputs that satisfies the formula.

3

ยฌ๐‘•

๐‘ 

๐‘•

ยฌ๐‘  ๐‘  ยฌ๐‘  An example solution

ยฌ๐‘•

๐‘ 

๐‘•

ยฌ๐‘  1 Another solution

slide-4
SLIDE 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

slide-5
SLIDE 5

CTL* synthesis: approach #1

  • 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

bottom-up CTL* model checking with uninterpreted functions

slide-6
SLIDE 6

Encoding ๐‘ซ๐‘ผ๐‘ดโˆ— model checking into SMT

  • Proposition for each sub-formula
  • For every ๐‘ก and sub-formula ๐œš, encode into SMT

โ€œ๐‘ž๐œš ๐‘ก โ†’ ๐‘ก โŠจ ๐œšโ€

  • ๐‘ž๐ต ๐‘ก โ†’ ๐‘ก โŠจ ๐ต๐ป๐‘ž๐น
  • ๐‘ž๐น ๐‘ก โ†’ ๐‘ก โŠจ ๐น๐บ๐ป๐‘•
  • Require ๐‘ž๐‘ข๐‘๐‘ž ๐‘ก0 = ๐‘ข๐‘ ๐‘ฃ๐‘“
  • ๐‘ž๐ต ๐‘ก0 = ๐‘ข๐‘ ๐‘ฃ๐‘“

๐’•๐’›๐’•๐’–๐’‡๐’ โŠจ ๐๐ป ๐…๐บ๐ป๐‘•

๐’’๐‘ญ ๐’’๐

How to encode into SMT?

slide-7
SLIDE 7
  • Build the product graph ๐‘ก๐‘ง๐‘ก๐‘ข๐‘“๐‘› ร— ๐‘๐‘ฃ๐‘ข๐‘๐‘›๐‘๐‘ข๐‘๐‘œ๐œ’
  • Buchi automaton
  • ๐‘ก โŠจ ๐น๐œ’ โ‡” the product has an accepting path
  • Buchi ranking
  • exit normal state: <
  • exit accepting state: reset
  • SMT query is satisfiable

iff the product is accepting

1

< < ๐ฌ๐Ÿ๐ญ๐Ÿ๐ฎ

Encode ๐’• โŠจ ๐‘ญ๐Œ into SMT

3 2 3

slide-8
SLIDE 8

From model checking to synthesis

๐‘ ๐‘‘โ„Ž ๐‘Ÿ, ๐‘ก โˆง ๐’‰๐’”๐’ƒ๐’๐’– ๐‘ก โ†’ ๐‘ ๐‘‘โ„Ž ๐‘Ÿ, ๐Š ๐‘ก, ๐‘  โˆง ๐œ(๐‘Ÿ, ๐‘ก) > ๐œ(๐‘Ÿโ€ฒ, ๐Š(๐‘ก, ๐‘ ))

8

๐‘กโˆˆ๐‘‡, ๐‘ โˆˆ๐ถ

  • To do synthesis, replace given system functions

(๐’‰๐’”๐’ƒ๐’๐’– and ๐Š) with uninterpreted functions!

  • SMT constraints look like this:
slide-9
SLIDE 9

CTL* bounded synthesis: summary

  • bad at establishing

CTL* unrealizability

9

CTL* ฮฆ, inputs,

  • utputs

build SMT query where ๐Š, ๐’‘๐’—๐’– are uninterpreted

YES NO

unrealizable

YES NO

system ๐Š, ๐’‘๐’—๐’–

๐‘‡ = {๐‘ก0}

SMT solve automata ๐‘‡ > 22|ฮฆ|? ๐‘“๐‘ฆ๐‘ข๐‘“๐‘œ๐‘’ ๐‘‡

slide-10
SLIDE 10

CTL* synthesis: approach #2

  • 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

reduce CTL* synthesis to LTL synthesis

+ +-

slide-11
SLIDE 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

slide-12
SLIDE 12

Example

  • ๐šพ๐ƒ๐”๐Œโˆ— = ๐…๐˜ ๐‘• โˆง ๐†๐‘•

, inputs={r}, outputs={g}

  • inputs={r}, outputs={๐‘•, ๐‘ž, ๐‘’}

๐šพ๐Œ๐”๐Œ = ๐’’ โˆง ๐‘ฏ(๐’’ โ†’ ๐‘ฏ๐’† โ†’ ๐’€ ๐’‰ โˆง ๐‘ฎ๐’‰ )

12

  • The top-level proposition holds initially
  • ๐‡ ๐‘ž๐ต๐œ’ โ†’ ๐œ’
  • "๐‡ ๐‘ž๐น๐œ’ โ†’ ๐‡๐‘’๐น๐œ’ โ†’ ๐œ’ " (roughly)

๐‘ž ๐‘’ = ๐‘  ๐‘’ = ๐‘ 

slide-13
SLIDE 13

Counterexample to โ€˜roughโ€™ Eฯ† reduction

  • ๐œฒ๐‘ซ๐‘ผ๐‘ดโˆ— = ๐๐‡ ๐…๐˜ ๐’‰ โˆง ๐‘ฎ๐’‰
  • outputs={๐‘•, ๐‘ž๐ต, ๐‘ž, ๐‘’}

๐œฒ๐‘ด๐‘ผ๐‘ด = ๐’’๐‘ฉ โˆง ๐‘ฏ ๐’’๐‘ฉ โ†’ ๐‘ฏ๐’’ โˆง ๐‘ฏ(๐’’ โ†’ ๐‘ฏ๐’† โ†’ ๐’€ ๐’‰ โˆง ๐‘ฎ๐’‰ )

13

๐‘ž๐ต ๐‘ž ๐‘’ = ๐‘  ๐‘ž ๐‘’ =? ?

slide-14
SLIDE 14
  • For each ๐น๐œ’, add outputs ๐‘’1, โ€ฆ , ๐‘’|๐‘…|, ๐‘ค: {0 โ€ฆ |๐‘…|}
  • Add LTL formula:

๐‡[ ๐‘ค๐น๐œ’ = ๐‘— โ†’ ๐‡๐‘’๐‘— โ†’ ๐œ’ ]

๐’‹โˆˆ{๐Ÿโ€ฆ ๐‘น }

14

Correct translation of E-formulas

slide-15
SLIDE 15

Example

  • ๐œฒ๐‘ซ๐‘ผ๐‘ดโˆ— = ๐‘ฉ๐‘ฏ๐‘ญ๐’€ ๐’‰ โˆง ๐‘ฎ๐’‰
  • outputs={๐‘•, ๐‘ž๐ต, ๐‘ค: {0 โ€ฆ 4}, ๐‘’1, ๐‘’2, ๐‘’3, ๐‘’4}

๐šพ๐‘ด๐‘ผ๐‘ด = ๐’’๐‘ฉ โˆง ๐‘ฏ ๐’’๐‘ฉ โ†’ ๐‘ฏ๐’˜ โ‰  ๐Ÿ โˆง ๐‘ฏ(๐’˜ = ๐’‹ โ†’ ๐‘ฏ๐’†๐’‹ โ†’ ๐’€ ๐’‰ โˆง ๐‘ฎ๐’‰ )

๐’‹โˆˆ{๐Ÿโ€ฆ๐Ÿ“}

15

๐‘• ๐‘• ๐‘•

๐‘ค = ๐Ÿ ๐’†๐Ÿ = ๐’” ๐‘ค = ๐Ÿ‘ ๐’†๐Ÿ = ๐’”, ๐’†๐Ÿ‘ = ๐’” ๐‘ค =1 ๐’†๐Ÿ = ๐’”, ๐’†๐Ÿ‘ = ๐’” ๐‘ , ๐‘  ๐‘  ๐‘  ๐‘  ๐‘  ๐‘ž๐ต

slide-16
SLIDE 16
  • ฮฆ๐‘€๐‘ˆ๐‘€ 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

CTL* via LTL synthesis: summary

slide-17
SLIDE 17

Conclusion

Future directions:

  • How to establish unrealizability of CTL*?
  • Synthesizers for ATL*
  • Satisfiability of CTL*

17

SMT-based bounded CTL* synthesis CTL*-via-LTL synthesis