Limit-Deterministic Bchi Automata for Probabilistic Model Checking - - PowerPoint PPT Presentation

limit deterministic b chi automata for probabilistic
SMART_READER_LITE
LIVE PREVIEW

Limit-Deterministic Bchi Automata for Probabilistic Model Checking - - PowerPoint PPT Presentation

Limit-Deterministic Bchi Automata for Probabilistic Model Checking Jan Ketnsk Javier Esparza Salomon Sickert Stefan Jaax Technische Universitt Mnchen PROBABILISTIC MODEL CHECKING Markov Decision Process (MDP) . At each state,


slide-1
SLIDE 1

Limit-Deterministic Büchi Automata for Probabilistic Model Checking

Technische Universität München

Javier Esparza Jan Křetínský Salomon Sickert Stefan Jaax

slide-2
SLIDE 2

PROBABILISTIC MODEL CHECKING

  • Markov Decision Process (MDP) .

At each state, a scheduler chooses a probability distribution, and then the next state is chosen stochastically according to the distribution.

  • For a fixed scheduler:

MDP → Markov chain

slide-3
SLIDE 3

PROBABILISTIC MODEL CHECKING

  • Qualitative Model Checking:
  • Input: MDP, LTL formula
  • Does the formula hold for all

schedulers with probability 1?

  • Quantitative Model Checking:
  • Input: MDP, LTL formula, threshold c
  • Does the formula hold for all

schedulers with probability at least c?

slide-4
SLIDE 4

PROBABILISTIC MODEL CHECKING

  • Qualitative Model Checking:
  • Input: MDP, LTL formula
  • Does the formula hold for all

schedulers with probability 1?

  • Quantitative Model Checking:
  • Input: MDP, LTL formula, threshold c
  • Does the formula hold for all

schedulers with probability at least c?

slide-5
SLIDE 5

LIMIT-DETERMINISTIC BÜCHI AUTOMATA

Initial Component Accepting Component

(possibly) non-deterministic deterministic

“Jumps”

slide-6
SLIDE 6

AUTOMATA-BASED MODEL CHECKING

Kripke struct. LTL

  • Nondet. Büchi

Product Yes/No

Vardi , Wolper middle 80s Emptiness check

slide-7
SLIDE 7

QUALITATIVE

  • PROB. MODEL CHECKING

MDP Limit-det. Büchi LTL

  • Nondet. Büchi

Product Prob=1? Yes/No

Vardi and Wolper Courcoubetis, and Yannakakis [95] Vardi and Wolper Courcoubetis, and Yannakakis [95]

slide-8
SLIDE 8

QUALITATIVE

  • PROB. MODEL CHECKING

MDP Limit-det. Büchi LTL

  • Nondet. Büchi

Product Prob=1? Yes/No

  • Double exponential complexity in

the formula, optimal.

  • At the time: not applicable to the

quantitative case.

Vardi and Wolper Courcoubetis, and Yannakakis [95] Vardi and Wolper Courcoubetis, and Yannakakis [95]

slide-9
SLIDE 9

Safra [89]

MDP

  • Det. Rabin

LTL

  • Nondet. Büchi

Product P≥0,7? Yes/No

QUANTITATIVE

  • PROB. MODEL CHECKING
slide-10
SLIDE 10

Safra [89]

MDP

  • Det. Rabin

LTL

  • Nondet. Büchi

Product P≥0,7? Yes/No

QUANTITATIVE

  • PROB. MODEL CHECKING
  • Also double exponential complexity

in the formula.

  • Solves both the qualitative and

quantitative case.

slide-11
SLIDE 11

Safra [89]

MDP

  • Det. Rabin

LTL

  • Nondet. Büchi

Product P≥0,7? Yes/No

QUANTITATIVE

  • PROB. MODEL CHECKING
  • In practice large automata
  • Hard to implement efficiently
  • Rise of “safraless” approaches:
  • Acacia, ltl3dra, Rabinizer, …
  • Also double exponential complexity

in the formula.

  • Solves both the qualitative and

quantitative case.

slide-12
SLIDE 12

QUANTITATIVE PROB. MODEL CHECKING

Our Construction

MDP Limit-det. Büchi LTL Product P≥0.7? Yes/No

slide-13
SLIDE 13

QUANTITATIVE PROB. MODEL CHECKING

Our Construction

MDP Limit-det. Büchi LTL Product P≥0.7? Yes/No

  • Optimal: 22O(n)
  • Simpler construction
  • Smaller automata
  • Same MC algorithm as for
  • det. automata
slide-14
SLIDE 14

QUANTITATIVE PROB. MODEL CHECKING

Our Construction

MDP Limit-det. Büchi LTL Product P≥0.7? Yes/No

  • Optimal: 22O(n)
  • Simpler construction
  • Smaller automata
  • Same MC algorithm as for
  • det. automata
slide-15
SLIDE 15

LIMIT-DETERMINISM

Initial Component Accepting Component

non-deterministic deterministic

“Jumps”

slide-16
SLIDE 16

LIMIT-DETERMINISM

Initial Component Accepting Component

non-deterministic deterministic

“Jumps”

In our construction: deterministic Every runs „uses“ nondeterminism at most once

slide-17
SLIDE 17

PRELIMINARIES

  • Linear Temporal Logic in Negation Normal Form
slide-18
SLIDE 18

PRELIMINARIES

  • Linear Temporal Logic in Negation Normal Form
  • Monotonicity of NNF:

if satisfies satisfies all the subformulas of satisfied by , and perhaps more then satisfies

slide-19
SLIDE 19

PRELIMINARIES

  • Linear Temporal Logic in Negation Normal Form

Only liveness operator.

  • Monotonicity of NNF:

if satisfies satisfies all the subformulas of satisfied by , and perhaps more then satisfies

slide-20
SLIDE 20

FIRST STEP: A DETERMINISTIC „TRACKING“ AUTOMATON

tt

slide-21
SLIDE 21

FIRST STEP: A DETERMINISTIC „TRACKING“ AUTOMATON

tt

  • ff
slide-22
SLIDE 22

FIRST STEP: A DETERMINISTIC „TRACKING“ AUTOMATON

tt

  • ff
  • ,
slide-23
SLIDE 23

FIRST STEP: A DETERMINISTIC „TRACKING“ AUTOMATON

tt

  • ff
  • ,
slide-24
SLIDE 24

FIRST STEP: A DETERMINISTIC „TRACKING“ AUTOMATON

tt

  • ff
  • ,
slide-25
SLIDE 25

FIRST STEP: A DETERMINISTIC „TRACKING“ AUTOMATON

The formula (,) (“ after ”) is defined by:

  • (,)
slide-26
SLIDE 26

FIRST STEP: A DETERMINISTIC „TRACKING“ AUTOMATON

tt

  • The automaton „tracks“ the

property that must hold now for the original property to hold at the beginning

  • Formulas with ,,: ✔
  • Formulas with : not good

enough.

  • ff
  • ,
slide-27
SLIDE 27

FIRST STEP: A DETERMINISTIC „TRACKING“ AUTOMATON

  • The automaton „tracks“ the

property that must hold now for the original property to hold at the beginning

  • Formulas with ,,: ✔
  • Formulas with : not good

enough.

tt

  • ff
  • ,
slide-28
SLIDE 28

FIRST STEP: A DETERMINISTIC „TRACKING“ AUTOMATON

  • The automaton „tracks“ the

property that must hold now for the original property to hold at the beginning

  • Formulas with ,,: ✔
  • Formulas with : not good

enough.

tt

  • ff
  • ,
slide-29
SLIDE 29

FIRST STEP: A DETERMINISTIC „TRACKING“ AUTOMATON

  • The automaton „tracks“ the

property that must hold now for the original property to hold at the beginning

  • Formulas with ,,: ✔
  • Formulas with : not good

enough.

  • ,

tt

  • ff
  • ,
slide-30
SLIDE 30
  • SUBFORMULAS
  • Fix a formula

and a word . Let be a -subformula of .

slide-31
SLIDE 31
  • SUBFORMULAS
  • Fix a formula

and a word . Let be a -subformula of .

c b a b a b c c

slide-32
SLIDE 32
  • SUBFORMULAS
  • Fix a formula

and a word . Let be a -subformula of .

  • c

b a b a b c c

slide-33
SLIDE 33
  • SUBFORMULAS
  • Fix a formula

and a word . Let be a -subformula of .

c b a b a b c c

slide-34
SLIDE 34
  • SUBFORMULAS
  • Fix a formula

and a word . Let be a -subformula of .

  • ρ

c b a b a b c c

slide-35
SLIDE 35
  • SUBFORMULAS
  • Fix a formula

and a word . Let be a -subformula of .

  • ρ

ρ ρ ρ ρ …

c b a b a b c c

slide-36
SLIDE 36
  • SUBFORMULAS
  • Fix a formula

and a word . Let be a -subformula of .

  • Informally: while reading the word , the set of
  • subformulas that hold cannot decrease, and

eventually stabilizes to a set Trues(,).

  • ρ

c b a b a b c c

ρ ρ ρ ρ …

slide-37
SLIDE 37

SECOND STEP: JUMPING

  • We modify the tracking automaton so that at any moment it

can nondeterministically jump to the accepting component.

  • From each state we add a jump for every set of
  • subformulas of .
  • „Meaning“ of a -jump at state : The automaton „guesses“

that the rest of the word satisfies

1.

(every formula of ), and

2.

⇒ even if no other -subformula of ever becomes true.

  • After the jump, the task of the accepting component is to

„check that the guess is correct“, i.e., accept iff the guess is correct.

slide-38
SLIDE 38

SECOND STEP: JUMPING

  • We modify the tracking automaton so that at any moment it

can nondeterministically jump to the accepting component.

  • From each state we add a jump for every set of
  • subformulas of .
  • „Meaning“ of a -jump at state : The automaton „guesses“

that the rest of the word satisfies

1.

(every formula of ), and

2.

⇒ even if no other -subformula of ever becomes true.

  • After the jump, the task of the accepting component is to

„check that the guess is correct“, i.e., accept iff the guess is correct.

slide-39
SLIDE 39

SECOND STEP: JUMPING

  • We modify the tracking automaton so that at any moment it

can nondeterministically jump to the accepting component.

  • From each state we add a jump for every set of
  • subformulas of .
  • „Meaning“ of a -jump at state : The automaton „guesses“

that the rest of the word satisfies

1.

(every formula of ), and

2.

⇒ even if no other -subformula of ever becomes true.

  • After the jump, the task of the accepting component is to

„check that the guess is correct“, i.e., accept iff the guess is correct.

slide-40
SLIDE 40

SECOND STEP: JUMPING

  • We modify the tracking automaton so that at any moment it

can nondeterministically jump to the accepting component.

  • From each state we add a jump for every set of
  • subformulas of .
  • „Meaning“ of a -jump at state : The automaton „guesses“

that the rest of the word satisfies

1.

(every formula of ), and ⇒ even if no other -subformula of ever becomes true.

  • After the jump, the task of the accepting component is to

„check that the guess is correct“, i.e., accept iff the guess is correct.

slide-41
SLIDE 41

SECOND STEP: JUMPING

  • We modify the tracking automaton so that at any moment it

can nondeterministically jump to the accepting component.

  • From each state we add a jump for every set of
  • subformulas of .
  • „Meaning“ of a -jump at state : The automaton „guesses“

that the rest of the word satisfies

1.

(every formula of ), and

2.

⇒ even if no other -subformula of ever becomes true.

  • After the jump, the task of the accepting component is to

„check that the guess is correct“, i.e., accept iff the guess is correct.

slide-42
SLIDE 42

SECOND STEP: JUMPING

  • We modify the tracking automaton so that at any moment it

can nondeterministically jump to the accepting component.

  • From each state we add a jump for every set of
  • subformulas of .
  • „Meaning“ of a -jump at state : The automaton „guesses“

that the rest of the word satisfies

1.

(every formula of ), and

2.

⇒ even if no other -subformula of ever becomes true.

  • After the jump, the task of the accepting component is to

„check that the guess is correct“, i.e., accept iff the guess is correct.

slide-43
SLIDE 43

SECOND STEP: JUMPING

  • We modify the tracking automaton so that at any moment it

can nondeterministically jump to the accepting component.

  • From each state we add a jump for every set of
  • subformulas of .
  • „Meaning“ of a -jump at state : The automaton „guesses“

that the rest of the word satisfies

1.

(every formula of ), and

2.

⇒ even if no other -subformula of ever becomes true.

  • After the jump, the task of the accepting component is to

„check that the guess is correct“, i.e., accept iff the guess is correct.

slide-44
SLIDE 44

SECOND STEP: JUMPING

  • ⊨ iff the automaton can make a right guess.
  • Right guess before suffix

w → w ⊨ → ⊨

(tracking!)

  • ⊨ → ′ ⊨ True ,

for some suffix ′ → jump before ′ with ≔ True , satisfies 1. and 2.

  • „Meaning“ of the -jump at state : The automaton

„guesses“ that the rest of the run satisfies

1.

(every formula of ), and

2.

even if no other -subformula of ever becomes true.

slide-45
SLIDE 45

SECOND STEP: JUMPING

  • ⊨ iff the automaton can guess correctly.
  • Right guess before suffix

w → w ⊨ → ⊨

(tracking!)

  • ⊨ → ′ ⊨ True ,

for some suffix ′ → jump before ′ with ≔ True , satisfies 1. and 2.

  • „Meaning“ of the -jump at state : The automaton

„guesses“ that the rest of the run satisfies

1.

(every formula of ), and

2.

even if no other -subformula of ever becomes true.

slide-46
SLIDE 46

SECOND STEP: JUMPING

  • ⊨ iff the automaton can guess correctly.
  • If the correct guess is made at suffix w then w ⊨

which implies ⊨ (tracking!)

  • ⊨ → ′ ⊨ True ,

for some suffix ′ → jump before ′ with ≔ True , satisfies 1. and 2.

  • „Meaning“ of the -jump at state : The automaton

„guesses“ that the rest of the run satisfies

1.

(every formula of ), and

2.

even if no other -subformula of ever becomes true.

slide-47
SLIDE 47

SECOND STEP: JUMPING

  • ⊨ iff the automaton can guess correctly.
  • If the correct guess is made at suffix w then w ⊨

which implies ⊨ (tracking!)

  • If ⊨ then ′ ⊨ True ,

for some suffix ′ and so the jump before ′ that chooses ≔ True , satisfies 1. and 2.

  • „Meaning“ of the -jump at state : The automaton

„guesses“ that the rest of the run satisfies

1.

(every formula of ), and

2.

even if no other -subformula of ever becomes true.

slide-48
SLIDE 48

A DBA THAT CHECKS 1. & 2.

  • Since DBAs are closed under intersection, it

suffices to construct two DBAs for 1. and 2.

slide-49
SLIDE 49

CHECKING 2.

  • „ ⇒ holds even if no other -subformula of
  • ever becomes true”
slide-50
SLIDE 50

CHECKING 2.

  • Example:

= ∨ ∧ ( ∨ ) = { ∨ }

Reduces to checking

  • „ ⇒ holds even if no other -subformula of
  • ever becomes true”
slide-51
SLIDE 51

CHECKING 2.

  • Example:

= ∨ ∧ ( ∨ ) = { ∨ }

Reduces to checking

  • „ ⇒ holds even if no other -subformula of
  • ever becomes true”
  • Reduces to checking the -free formula

[ \ tt , \ ff ]

slide-52
SLIDE 52

CHECKING 2.

  • Example:

= ∨ ∧ ( ∨ ) = { ∨ }

Reduces to checking

  • „ ⇒ holds even if no other -subformula of
  • ever becomes true”
  • Since the formula is -free, use the tracking automaton.
  • Reduces to checking the -free formula

[ \ tt , \ ff ]

slide-53
SLIDE 53

CHECKING 1.

  • „ holds even if no other -subformula of
  • ever

becomes true”

slide-54
SLIDE 54

CHECKING 1.

  • Example:

= ∧ ∧ ( ∨ ) = { , ∧ ∨ }

reduces to checking ∧ ≡ ( ∧ )

  • „ holds even if no other -subformula of
  • ever

becomes true”

slide-55
SLIDE 55

CHECKING 1.

  • Example:

= ∧ ∧ ( ∨ ) = { , ∧ ∨ }

reduces to checking ∧ ≡ ( ∧ )

  • „ holds even if no other -subformula of
  • ever

becomes true”

  • Reduces to checking a formula where is -free.
slide-56
SLIDE 56

CHECKING 1.

  • Example:

= ∧ ∧ ( ∨ ) = { , ∧ ∨ }

reduces to checking ∧ ≡ ( ∧ )

  • „ holds even if no other -subformula of
  • ever

becomes true”

  • So we need DBAs for formulas where is -free.
  • Reduces to checking a formula where is -free.
slide-57
SLIDE 57

Tracking automaton for

Accepting component for Accepting component for

ϵ ϵ

slide-58
SLIDE 58

Tracking automaton for Tracking automaton for

[ \ , \ ]

ϵ

  • ×

Automaton for

, where is G-free

Accepting component for

ϵ

slide-59
SLIDE 59

( ∨ ) ∧

( ∨ )

slide-60
SLIDE 60

Guess = {( ∨ )}

( ∨ ) ∧

( ∨ )

ϵ

slide-61
SLIDE 61

Tracking automaton for X Automaton for ( ∨ )

Guess = {( ∨ )}

( ∨ ) ∧

( ∨ )

ϵ

slide-62
SLIDE 62

Tracking automaton for X Automaton for ( ∨ )

Guess = {( ∨ )}

( ∨ ) ∧

( ∨ )

tt

  • ff
  • ,

ϵ

slide-63
SLIDE 63

Tracking automaton for X Automaton for ( ∨ )

Guess = {( ∨ )}

( ∨ ) ∧

( ∨ )

?

tt

  • ff
  • ,

ϵ

slide-64
SLIDE 64

A DBA FOR ( ∨ )

a c b c ( ∨ )

slide-65
SLIDE 65

A DBA FOR ( ∨ )

a c b c ( ∨ ) ∨ ∨ ∨ ∨ ∨

slide-66
SLIDE 66

a c b c ( ∨ )

∨ ∨ ∨ ∨ tt

A DBA FOR ( ∨ )

slide-67
SLIDE 67

a c b c ( ∨ )

  • tt

∨ ∨ ∨ ∨ ∨ tt

A DBA FOR ( ∨ )

slide-68
SLIDE 68

a c b c ( ∨ )

  • tt

∨ ∨ ∨ ∨ ∨ tt tt

A DBA FOR ( ∨ )

slide-69
SLIDE 69

a c b c ( ∨ )

  • tt

∨ ∨ ∨ ∨ ∨ tt tt

  • A DBA FOR ( ∨ )
slide-70
SLIDE 70

a c b c ( ∨ ) ∨ ∨ ∨ ∨ ∨

∨ ∧ ( ∨ ) ≡

A DBA FOR ( ∨ )

  • tt

tt tt

  • c

a b c

slide-71
SLIDE 71

a c b c ∨

slide-72
SLIDE 72

a c b c ∨ ∨

c

slide-73
SLIDE 73

a c b c ∨ ∨ ∨

  • tt

c a

slide-74
SLIDE 74

a c b c ∨ ∨ ∨ ∨

  • tt

tt tt

c a b

slide-75
SLIDE 75

a c b c ∨ ∨ ∨ tt tt

  • c

a b

slide-76
SLIDE 76

a c b c ∨

  • c

a b

slide-77
SLIDE 77

a c b c ∨

  • c

a b

slide-78
SLIDE 78

a c b c

∨ ∨

  • c

a b c

slide-79
SLIDE 79

DBA FOR ( ∨ )

slide-80
SLIDE 80

COMPLETE LDBA FOR = ∨ ( ∨ )

1.Tracking DBA for (abbr. ≔ ∨ )

  • 2. For every set add a
  • jump to the product
  • f the automata

checking and the –remainder

slide-81
SLIDE 81

COMPLETE LDBA FOR = ∨ ( ∨ )

1.Tracking DBA for (abbr. ≔ ∨ )

  • 2. For every set add a
  • jump to the product
  • f the automata

checking and the –remainder

slide-82
SLIDE 82

COMPLETE LDBA FOR = ∨ ( ∨ )

1.Tracking DBA for (abbr. ≔ ∨ )

  • 2. For every set add a
  • jump to the product
  • f the automata

checking and the –remainder

slide-83
SLIDE 83

COMPLETE LDBA FOR = ∨ ( ∨ )

1.Tracking DBA for (abbr. ≔ ∨ )

  • 2. For every set add a
  • jump to the product
  • f the automata

checking and the –remainder

slide-84
SLIDE 84

UPPER BOUND ON LDBA SIZE

  • Theorem: Every formula obtained by „tracking “ is a

positive boolean combination of subformulas of . ∨ ( ∨ )

  • → ∨
  • → ∨ ∧
  • Corollary: for a formula of length there are at most

2 „tracking formulas” up to equivalence, even if we

leave temporal operators uninterpreted. ∧ ∨ = ∨ ≠

  • This allows us to derive an upper bound on the size
  • f the LDBA
slide-85
SLIDE 85

UPPER BOUND ON LDBA SIZE

  • Theorem: Every formula obtained by „tracking “ is a

positive boolean combination of subformulas of . ∨ ( ∨ )

  • → ∨
  • → ∨ ∧
  • Corollary: for a formula of length there are at most

2 „tracking formulas” up to equivalence, even if we

leave temporal operators uninterpreted. ∧ ∨ = ∨ ≠

  • This allows us to derive an upper bound on the size
  • f the LDBA
slide-86
SLIDE 86

UPPER BOUND ON LDBA SIZE

  • Theorem: Every formula obtained by „tracking “ is a

positive boolean combination of subformulas of . ∨ ( ∨ )

  • → ∨
  • → ∨ ∧
  • Corollary: for a formula of length there are at most

2 „tracking formulas” up to equivalence, even if we

leave temporal operators uninterpreted. ∧ ∨ = ∨ ≠

  • This allows us to derive an upper bound on the size
  • f the LDBA
slide-87
SLIDE 87

Part Size

Initial Component

22n

G-Monitor

22n+1

Accepting Component

22O(n)

Total

22O(n)

UPPER BOUND ON LDBA SIZE

slide-88
SLIDE 88

LDBA SIZE IN PRACTICE

LDBA Safra (spot+ltl2dstar) Rabinizer

slide-89
SLIDE 89

LDBA SIZE IN PRACTICE

LDBA Safra (spot+ltl2dstar) Rabinizer

slide-90
SLIDE 90

IscasMC explicit PRISM+ Rabinizer symbolic PRISM symb

MODEL CHECKING RUNTIME PNUELI-ZUCK MUTEX PROTOCOL

Our Imp. explicit

#Clients

slide-91
SLIDE 91

IscasMC explicit PRISM+ Rabinizer symbolic PRISM symb

MODEL CHECKING RUNTIME PNUELI-ZUCK MUTEX PROTOCOL

Our Imp. explicit

#Clients

slide-92
SLIDE 92

CAN LDBA BE ALSO USED FOR CONTROLLER SYNTHESIS ?

Uncontrolled system

  • Det. Parity

LTL

  • Nondet. Büchi

Product Parity game

slide-93
SLIDE 93

CAN LDBA BE ALSO USED FOR CONTROLLER SYNTHESIS ?

Uncontrolled system

  • Det. Parity

LTL

  • Nondet. Büchi

Product Parity game

single exp. Safra, single exp.

slide-94
SLIDE 94

CAN LDBA BE ALSO USED FOR CONTROLLER SYNTHESIS ?

Uncontrolled system Limit-det. Büchi LTL Product Parity game

  • Det. Parity
slide-95
SLIDE 95

CAN LDBA BE ALSO USED FOR CONTROLLER SYNTHESIS ?

Uncontrolled system Limit-det. Büchi LTL Product Parity game

  • Det. Parity

double exp. single exp.

slide-96
SLIDE 96

CAN LDBA BE ALSO USED FOR CONTROLLER SYNTHESIS ?

Uncontrolled system Limit-det. Büchi LTL Product Parity game

  • Det. Parity

double exp.

slide-97
SLIDE 97

THE NEW PICTURE

Limit-det. Büchi LTL

  • Det. Parity
  • Nondet. Büchi

Model checking Probabilistic model checking for MDPs Synthesis

slide-98
SLIDE 98

THE NEW PICTURE

Limit-det. Büchi LTL

  • Det. Parity
  • Nondet. Büchi

Model checking Probabilistic model checking for MDPs Synthesis

  • Nonamb. Büchi

Probabilistic model checking for MCs

slide-99
SLIDE 99

THE NEW PICTURE

Limit-det. Büchi LTL

  • Det. Parity
  • Nondet. Büchi

Model checking Probabilistic model checking for MDPs Synthesis

  • Nonamb. Büchi

Probabilistic model checking for MCs Good for Games Synthesis

slide-100
SLIDE 100

CONCLUSION

  • We have presented a translation from LTL to LDBA that
  • uses formulas as states
  • is modular
  • optimizations of any module helps to reduce state space!
  • yields in practice small ω-automata
  • is usable for quantitative prob. model checking without changing the algorithm.
  • can be also used as intermediate step to synthesis.
  • Website: https://www7.in.tum.de/~sickert/projects/ltl2ldba/