Generalized Büchi automaton
In automata theory, generalized Büchi automaton (GBA) is a variant of Büchi automaton. The difference with the Büchi automaton is its accepting condition, i.e., a set of sets of states. A run is accepted by the automaton if it visits at least one state of every set of the accepting condition infinitely often. Generalized büchi automata (GBA) is equivalent in expressive power with Büchi automata; a transformation is given here.
In formal verification, the model checking method needs to obtain an automaton from a LTL formula that specifies the program property. There are algorithms that translate a LTL formula into a GBA[1] [2] [3] [4] for this purpose. The notion of GBA was introduced specifically for this translation.
Formal definition
Formally, a generalized Büchi automaton is a tuple A = (Q,Σ,Δ,Q0,{F1,...,Fn}) that consists of the following components:
- Q is a finite set. The elements of Q are called the states of A.
- Σ is a finite set called the alphabet of A.
- Δ: Q × Σ → 2Q is a function, called the transition relation of A.
- Q0 is a subset of Q, called the initial states.
- {F1,...,Fn} is the acceptance condition, where for each 1≤i≤n, Fi ⊆ Q .
A accepts exactly those runs in which the set of infinitely often occurring states contains at least a state from each F1,...,Fn.
For more comprehensive formalism see also ω-automaton.
Labeled generalized Büchi automaton
Labeled generalized Büchi automaton(LGBA) is another variation in which input is associated as labels with the states rather than with the transitions. LGBA was introduced by Gerth et al.[3]
Formally, a labeled generalized Büchi automaton is a tuple A = (Q, Σ, L, Δ,Q0,{F1,...,Fn}) that consists of the following components:
- Q is a finite set. The elements of Q are called the states of A.
- Σ is a finite set called the alphabet of A.
- L: Q → 2Σ is a function, called the labeling function of A.
- Δ: Q → 2Q is a function, called the transition relation of A.
- Q0 is a subset of Q, called the initial states.
- {F1,...,Fn} is the acceptance condition, where for each 1≤i≤n, Fi ⊆ Q .
Let w = a1a2 ... be an ω-word over the alphabet Σ. r1,r2, ... is a run of A on the word w if r1 ∈ Q0 and for each i ≥ 0, ri+1 ∈ Δ(ri) and ai ∈ L(ri). A accepts exactly those runs in which the set of infinitely often occurring states contains at least a state from each F1,...,Fn.
To obtain the non-labeled version, the labels are moved from the nodes to the incoming transitions.
References
- ↑ M.Y. Vardi and P. Wolper, Reasoning about infinite computations, Information and Computation, 115(1994), 1–37.
- ↑ Y.Kesten,Z.Manna,H.McGuire,A.Pnueli,A decision algorithm for full propositional temporal logic, CAV’93, Elounda, Greece, LNCS 697, Springer–Verlag, 97-109.
- 1 2 R. Gerth, D. Peled, M.Y. Vardi and P. Wolper, "Simple On-The-Fly Automatic Verification of Linear Temporal Logic," Proc. IFIP/WG6.1 Symp. Protocol Specification, Testing, and Verification (PSTV95), pp. 3-18,Warsaw, Poland, Chapman & Hall, June 1995.
- ↑ P. Gastin and D. Oddoux, Fast LTL to Büchi automata translation, Thirteenth Conference on Computer Aided Verification (CAV ′01), number 2102 in LNCS, Springer-Verlag (2001), pp. 53–65.