Bchi Automata FORMAL SYSTEMS CS 60030 Pallab Dasgupta
Büchi Automata FORMAL SYSTEMS (CS 60030) Pallab Dasgupta Professor, Dept. of Computer Sc & Engg INDIAN INSTITUTE OF TECHNOLOGY
Lecture Overview ⇒ Motivation: Peterson’s Algorithm – ω-Regular Languages – Nondeterministic Büchi Automata (NBA) 1 – NBA and ω-Regular Languages
Recap: Verifying regular safety properties ● A safety property P is regular if bp(P) is a regular language ● Thus, bad prefixes of P are recognizable by an NFA A ● Checking TS |= P for regular P reduces to Ø checking a (simple) invariant on the product automaton TS ⊗ A Ø i. e. , performing a simple depth-first search on TS ⊗A ● Time and space complexity in O ( |TS|. |A|) 2 for more general properties we need automata accepting infinite words!
Peterson’s banking system Person Left behaves as follows: Person Right behaves as follows: while true { . . . rq : b 1 , x = true, 2; rq : b 2 , x = true, 1; wt : wait until(x == 1 || ¬ b 2 ) { wt : wait until(x == 2 || ¬ b 1 ) { cs : . . . @account. L. . . } cs : . . . @account. R. . . } b 2 = false; . . . } 3 } b 1 = false;
Is the banking system live? x = = 1 x = = 2 b 1 = 0 b 2 = 0 b 1 = 1 x = 2 b 2 = 1 x = 1 b 1 = 0 b 1 = 1 x = 2 b 2 = 0 x = = 1 b 1 = 1 x = = 2 “always (req. L ⇒ eventually @account. L ) ∧ always (req. R ⇒ eventually @account. R )” 4 If someone wants to update the account, does he ever get the opportunity to do so?
Is the banking system live (revisited)? ¬@account req true @account 5 true
Lecture Overview – Motivation: Peterson’s Algorithm ⇒ ω-Regular Languages – Nondeterministic Büchi Automata (NBA) 6 – NBA and ω-Regular Languages
Regular expressions 7
Syntax of ω-regular expressions 8
Semantics of ω-regular expressions 8
ω-Regular languages 10
ω-Regular safety properties • Definition: LT property P over AP is ω-Regular if P is an ω-regular language over the alphabet 2 AP • Or, equivalently: 11 LT property P over AP is ω-Regular if P is a language accepted by a nondeterministic Büchi automaton over 2 AP
Abstract examples of ω-regular properties 12
13 Concrete ω-regular properties
Lecture Overview – Motivation: Peterson’s Algorithm – ω-Regular Languages ⇒ Nondeterministic Büchi Automata (NBA) 6 – NBA and ω-Regular Languages
Nondeterministic Büchi automata • NFA (and DFA) are incapable of accepting infinite words • Automata on infinite words • suited for accepting ω-regular languages • We consider nondeterministic Büchi automata (NBA) • Accepting runs have to “check” the entire input word ⇒ are infinite • acceptance criteria for infinite runs are needed • NBA are like NFA, but have a distinct acceptance criterion 14 • one of the accept states must be visited infinitely often
Büchi automata 15
16 An example NBA
Language of an NBA 17
18 Example runs and accepted words
19 Some NBA for ω-regular properties
NBA versus NFA a a a a 20
Lecture Overview – Motivation: Peterson’s Algorithm – ω-Regular Languages – Nondeterministic Büchi Automata (NBA) 6 ⇒ NBA and ω-Regular Languages
NBA and ω-regular languages The class of languages accepted by NBA agrees with the class of ω-regular languages. (1) any ω-regular language is recognized by an NBA 21 (2) for any NBA A , the language L ω(A ) is ω-regular
For any ω-regular language there is an NBA 22
Union of NBAs 23
Definition of ω-operator for NFA 24
Example for ω-operator for NFA A q 0 A B q 1 qnew B qnew A q 0 B B q 1 A A q 0 B B q 1 B 25 From an NFA accepting A∗B to an NBA accepting (A∗B) ω
26
27
Summarizing: ω-operator for NFA 28
Concatenating an NFA and an NBA 29
Summarizing the results so far 30
- Slides: 33