+ All Categories
Home > Documents > 15-820A 1 LTL to Büchi Automata Flavio Lerda. 15-820A 2 LTL to Büchi Automata LTL Formulas Subset...

15-820A 1 LTL to Büchi Automata Flavio Lerda. 15-820A 2 LTL to Büchi Automata LTL Formulas Subset...

Date post: 25-Dec-2015
Category:
Upload: clare-bates
View: 232 times
Download: 0 times
Share this document with a friend
27
15-820A 1 LTL to Büchi Automata LTL to Büchi Automata Flavio Lerda
Transcript
Page 1: 15-820A 1 LTL to Büchi Automata Flavio Lerda. 15-820A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.

15-820A

1

LTL to Büchi Automata

LTL to Büchi Automata

Flavio Lerda

Page 2: 15-820A 1 LTL to Büchi Automata Flavio Lerda. 15-820A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.

15-820A

2

LTL to Büchi Automata

LTL Formulas

• Subset of CTL*– Distinct from CTL

• AFG p LTL f CTL . f ≠ AFG p

• Contains a single universal quantifier– The path formula f holds for every path

• Commonly:– A is omitted– G is replaced by (box or always)– F is replaced by (diamond or eventually)

Page 3: 15-820A 1 LTL to Büchi Automata Flavio Lerda. 15-820A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.

15-820A

3

LTL to Büchi Automata

Examples of LTL formulas

• Always eventually p: p– AGF p or AG AF p

• Always after p eventually q ( p q)– AG (p -> F q) or AG (p -> AF q)

• Fairness– ( p ) – A ((GF p) ) Not a CTL formula

Page 4: 15-820A 1 LTL to Büchi Automata Flavio Lerda. 15-820A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.

15-820A

4

LTL to Büchi Automata

LTL Semantics

• Derived from the CTL* semantics• Given an infinite execution trace =s0s1…

╞ p p(s0)╞ ¬ ¬( ╞ )

╞ 1 2 ╞ 1 ╞ 2

╞ 1 2 ╞ 1 ╞ 2

╞ i 0 i╞ ╞ i 0 i╞ ╞ 1 U 2i 0 i╞ 2 0 j< i j╞ 1

i is the suffix of starting at si

Page 5: 15-820A 1 LTL to Büchi Automata Flavio Lerda. 15-820A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.

15-820A

5

LTL to Büchi Automata

Büchi Automata

• Automaton which accepts infinite traces• A Büchi automaton is 4-tupleS, I,, F

– S is a finite set of states– I S is a set of initial states S S is a transition relation– F S is a set of accepting states

• An infinite sequence of states is accepted iff it contains accepting states infinitely often

Page 6: 15-820A 1 LTL to Büchi Automata Flavio Lerda. 15-820A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.

15-820A

6

LTL to Büchi Automata

Example

S0 S1 S2

1=S0S1S2S2S2S2…

2=S0S1S2S1S2S1…

3=S0S1S2S1S1S1…

ACCEPTED

ACCEPTED

REJECTED

Page 7: 15-820A 1 LTL to Büchi Automata Flavio Lerda. 15-820A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.

15-820A

7

LTL to Büchi Automata

LTL and Büchi Automata

• LTL formula– Represents a set of infinite traces which

satisfy such formula

• Büchi Automaton– Accepts a set of infinite traces

• We can build an automaton which accepts all and only the infinite traces represented by an LTL formula

Page 8: 15-820A 1 LTL to Büchi Automata Flavio Lerda. 15-820A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.

15-820A

8

LTL to Büchi Automata

Labeled Büchi Automata

• Given a set of atomic proposition P– Define a labeling function

: S 2P

– Each state is assigned a set of propositions that must be true

• Similar to the labeling for the model M

Page 9: 15-820A 1 LTL to Büchi Automata Flavio Lerda. 15-820A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.

15-820A

9

LTL to Büchi Automata

Generating Büchi Automata

• We need a procedure to generate a Büchi automaton given an LTL formula– Efficiently

• Formulas are usually small• Büchi automaton exponential in the size of the formula• The cost of model checking is proportional to the size of the

automaton

– Non-deterministic Büchi automata are not equivalent to deterministic Büchi automata

• Cannot use automata minimization algorithms

– Finding the minimal automata is exponential

Page 10: 15-820A 1 LTL to Büchi Automata Flavio Lerda. 15-820A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.

15-820A

10

LTL to Büchi Automata

Approach

• Formula rewriting– Rewrite the formula in negated normal form– Apply rewriting rules

• Core translation– Turns an LTL formula into a generalized Büchi

automaton

• Degeneralization– Turns a generalized Büchi automaton into a

Büchi automaton

Page 11: 15-820A 1 LTL to Büchi Automata Flavio Lerda. 15-820A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.

15-820A

11

LTL to Büchi Automata

Rewriting

• Negated normal form– Negation appears only in front of literals– Use the following identities

• ¬¬ = • ¬G = F ¬• ¬F = G ¬• ¬( U ) = (¬) V (¬)• ¬( V ) = (¬) U (¬)

• V (sometimes R) is the Release operator– Dual of Until

Page 12: 15-820A 1 LTL to Büchi Automata Flavio Lerda. 15-820A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.

15-820A

12

LTL to Büchi Automata

Rewriting

• Additional rewriting rules– They are not guaranteed to yield smaller

automata– The size of the automaton is exponential in

the size of the formula

• Examples– (X ) U (X ) X ( U )– (X ) (X ) X ( )– GF GF GF ( )

Page 13: 15-820A 1 LTL to Büchi Automata Flavio Lerda. 15-820A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.

15-820A

13

LTL to Büchi Automata

Rewriting

• The core algorithm only handles , , V, U

• Use the following:– F T U – G ¬F ¬ ¬(T U ¬) = F V

Page 14: 15-820A 1 LTL to Büchi Automata Flavio Lerda. 15-820A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.

15-820A

14

LTL to Büchi Automata

Core Translation

Idea

• Make use of the following U ( X( U ))

V ( X( V ))

Page 15: 15-820A 1 LTL to Büchi Automata Flavio Lerda. 15-820A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.

15-820A

15

LTL to Büchi Automata

ExampleF p

(T U p)Old:{}New:{T U p}Next:{}

Old:{T U p}New:{T}Next:{T U p}

Old:{T U p}New:{p}Next:{}

Old:{T U p}New:{}Next:{T U p}

Old:{T U p}Next:{T U p}

Old:{T U p, p}New:{}Next:{}

Old:{T U p, p}Next:{}

T pp

Old:{}New:{}Next:{}

Old:{}Next:{}

Page 16: 15-820A 1 LTL to Büchi Automata Flavio Lerda. 15-820A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.

15-820A

16

LTL to Büchi Automata

Core Translation

• Node– Represent a sub-formula– Contain information about the past, the

present and the future

• State– Represents a state in the final automaton– They are the nodes that have fully expanded

Page 17: 15-820A 1 LTL to Büchi Automata Flavio Lerda. 15-820A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.

15-820A

17

LTL to Büchi Automata

Core Translation

• Expansion– Select a formula from the New field– If it is a literal, add it to the Old field– Otherwise

(New{},Next{}) and (New{},Next{})

U (New{},New{ U }) and (New{},Next{})

V (New{},New{ V }) and

(New{,},Next{})

U ( X( U )) V ( X( V ))

Page 18: 15-820A 1 LTL to Büchi Automata Flavio Lerda. 15-820A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.

15-820A

18

LTL to Büchi Automata

Core Translation

• Nodes to states– If a node has no New formulas– Create a new node with all the Next formulas– Create an edge between the two nodes– Check if there is any equivalent state

• With the same Next field• With the same Old field

Page 19: 15-820A 1 LTL to Büchi Automata Flavio Lerda. 15-820A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.

15-820A

19

LTL to Büchi Automata

Core Translation

• Accepting states– Generalized Büchi automaton

• Multiple accepting sets– One for each Until sub-formula ( U )– Such that

• The Old field doesn’t contain U

or• The Old field does contain

Page 20: 15-820A 1 LTL to Büchi Automata Flavio Lerda. 15-820A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.

15-820A

20

LTL to Büchi Automata

Degeneralization

• Turn a generalized Büchi automaton into a Büchi automaton

• Consider as many copies of the automaton as the number of accepting sets

• Replace incoming edges from accepting states with edges to the next copy

• Each cycle must go through every copy• Each cycle must contains accepting states from

each accepting set

Page 21: 15-820A 1 LTL to Büchi Automata Flavio Lerda. 15-820A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.

15-820A

21

LTL to Büchi Automata

Example

T

a b

T

a b

T

1

1,2

2

F a F b

Page 22: 15-820A 1 LTL to Büchi Automata Flavio Lerda. 15-820A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.

15-820A

22

LTL to Büchi Automata

Example

T

a b

T

a

T

T

a b

T

b

T

Page 23: 15-820A 1 LTL to Büchi Automata Flavio Lerda. 15-820A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.

15-820A

23

LTL to Büchi Automata

Example

T

a b

T

a

T

T

a b

T

b

T

Page 24: 15-820A 1 LTL to Büchi Automata Flavio Lerda. 15-820A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.

15-820A

24

LTL to Büchi Automata

Example

T

a b

T

a

T

T

a b

T

Page 25: 15-820A 1 LTL to Büchi Automata Flavio Lerda. 15-820A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.

15-820A

25

LTL to Büchi Automata

Example

T

a b

T

a

T T

Page 26: 15-820A 1 LTL to Büchi Automata Flavio Lerda. 15-820A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.

15-820A

26

LTL to Büchi Automata

Example

T

a b

T

a

TT

Page 27: 15-820A 1 LTL to Büchi Automata Flavio Lerda. 15-820A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.

15-820A

27

LTL to Büchi Automata

Optimizations

• Can be done at each stage• Try to minimize

– The number of states and transitions– The number of accepting states

• Involve– Strongly connected components– Fair (bi)simulation

• Expensive but– The Büchi automaton is usually small– The saving during verification can be very high


Recommended