M A S A R Y K U N I V E R S I T Y
F A C U L T Y O F I N F O R M A T I C S
Linear Temporal Logic
and o;-automata
P H D T H E S I S P R O P O S A L
František Blahoudek
B r n o , J a n u a r y 2015
Supervisor: doc. R N D r . Jan Strejček, P h . D .
Contents
1 Introduction 3
2 Preliminaries 9
2.1 Linear temporal logic (LTL) 9
2.2 omega-automata 10
3 Translations to Deterministic Automata - State of the Art . . . . 13
3.1 Determinization of Buchi automata 14
3.1.1 Implementations of Safra's determinization 17
3.1.2 Determinization of an N B A subclass 18
3.2 Direct translations of L T L to deterministic automata 19
3.2.1 Simple fragments 19
3.2.2 M o r e complex fragments 20
3.2.3 Full L T L 21
4 Achieved Results 23
4.1 Translation of LTL(Fs,Gs) 23
4.2 Comparison of L T L to deterministic automata translators. . 27
4.3 Other publications and research 28
5 Aims of the Thesis 31
5.1 Generalization of Safra's Construction 31
5.2 Extension of L T L 3 D R A to Process Full L T L 31
5.3 Expected Results and Schedule 32
Bibliography 35
Summary / Shrnuti 41
A Publications 43
1
1 Introduction
Linear temporal logic (LTL) was first introduced b y Pnueli i n 1977 [41].
Over the years it became a popular formalism for specification of infinite
behaviour of reactive systems. U s i n g L T L is convenient for t w o reasons.
First, it is relatively close to the natural language. Second, as the name
suggests, L T L allows to reason about temporal properties of single (nonbranching,
linear) runs of systems. Temporal logics w i t h branching-time
like C T L (Computational Tree Logic) a n d its extension C T L * were introduced
b y Clarke a n d Emerson i n 1981 [14]. Branching-time logics also express
various temporal properties. U n l i k e L T L , they reason about whole
computational trees of the systems.
Temporal logics have various applications. In this thesis proposal w e
focus o n L T L and its applications i n the following areas of formal methods:
• model checking, discussed i n detail i n [15, 6],
• controller synthesis for reactive systems, see [42,28].
Formal verification i n general is a task to prove that some system
u \= ipi U ip2 iff 3i > 0 . (Ui.. |= ip2 and VO < j < i. Uj.. \= ipi)
G i v e n an alphabet E , a formula p defines the language £E
(<£>) = {u G
E w
| u \= p>} of words that satisfy
.
3. Universal in the sense that it is correct for all Btichi automata.
14
3 . T R A N S L A T I O N S T O D E T E R M I N I S T I C A U T O M A T A - S T A T E O F T H E A R T
There are two m a i n advantages of this approach.
• It w o r k s for the full L T L because every L T L formula can be translated
into an N B A and the determinization procedures w o r k for all N B A .
• It naturally benefits from the progress i n translations of L T L to N B A .
In most cases, the smaller is the smaller Av after determinization
is.
In the w o r l d of finite words, powerset construction is an effective procedure
that takes a non-deterministic automaton w i t h n states and constructs
a deterministic automaton w i t h at most 2 n
states accepting the same language
[45]. This method is k n o w n to be tight and is w e l l understood.
a
N B A A for w o r d s w i t h D B A V for words
only finite number w i t h infinite number
of occurrences of a. of occurences of b.
Figure 3.1: The automata A and V demonstrate that the powerset construction
is not correct for w-automata. The automaton V is the result of powerset
construction applied on A. L(A) / L(V).
Unluckily, w h e n w e shift ourselves to the w o r l d of infinite words, the
powerset construction is no longer correct as w e demonstrate by Figure 3 . 1 .
G i v e n a non-deterministic Biichi automaton A, the powerset construction
produces a deterministic Biichi automaton V that does not recognize the
same language. In particular, w e have (ab)^ G L(V), but {ab)w
£ L(A),
thus L(A) / L(V). A s w e already discussed, deterministic Biichi automata
are not expressive enough; there is no D B A that recognizes L(A). We need
different accepting condition and apparently also more sophisticated construction
for determinization of Biichi automata.
First correct determinization procedure for Biichi automata was given
by M c N a u g h t o n i n 1 9 6 6 w h e n he showed a doubly exponential construction
w h i c h for a given N B A produces an equivalent deterministic M u l l e r
automaton [34]. Twelve years later Safra presented a singly exponential determinization
construction w h i c h for a given Biichi automaton w i t h n states
1 5
3 . T R A N S L A T I O N S T O D E T E R M I N I S T I C A U T O M A T A - S T A T E O F T H E A R T
produces a deterministic Rabin automaton w i t h at most 1 2 n
n 2 n
states and
2n Rabin pairs [46]. Another determinization procedure w h i c h results to
Rabin automata was proposed by M u l l e r and Schupp i n 1 9 9 5 [38] and is of
similar complexity as the one of Safra. The asymptotic complexity of both
translations match the lower b o u n d o n determinization given b y M i c h e l
in [35]. Detailed comparison and experimental evaluation of the singly exponential
methods of Safra [46] and M u l l e r & Shupp [38] can be found
in [1]. The authors of [1] conclude that the Safra's method usually yields
smaller automata.
The Safra's construction is the most w i d e l y k n o w n determinization procedure
for N B A . Safra's m a i n idea is to follow all possible runs of the N B A
by multiple sets of states organized i n a labelled tree. The labelled trees
form the set of states of the deterministic automaton. The number of nodes
in the tree is bounded and that is h o w Safra achieved the (only) singly exponential
b l o w - u p i n the number of states.
Even though Safra's construction is asymptotically optimal, some i m provements
were proposed. In 2 0 0 6 Piterman revisited the labelling convention
and introduced compact trees where the nodes change names (labels)
dynamically [40]. We can profit from dynamic labelling of nodes i n
two ways. First, w e gain a smaller upper b o u n d o n the automaton size
w h i c h is n o w 2 n n
n ! states and only n Rabin pairs (the original construction
of Safra can yield i n at most 2n Rabin pairs). Second, we can use a parity
acceptance condition w i t h 2n priorities4
.
Three years later Schewe proposed another modification of Safra's trees
called history trees [47]. History trees do not use any node labels (names),
the nodes are identified by their position i n the history tree instead. Further,
transition-based accepting mechanism is used for the deterministic Rabin
automaton. U s i n g transition-based automata, one may separate the acceptance
principle from states (trees) to transitions and store only the states of
the N B A i n w h i c h some r u n can be, i n the history trees (states of the T D R A )
as the only information needed. Removal of n a m i n g together w i t h using
transition-based automata can lower the number of states u p to (1.65n)n
,
but increases the potential number of Rabin pairs to 2 n
. In [49] Schewe and
Varghese naturally extend this approach to determinize generalized Biichi
automata.
Figure 3.2 illustrates the difference i n the n a m i n g conventions of the
three discussed variants of Safra's determinization. There is an N B A B and
4. Using deterministic parity automaton instead of Rabin allow us to solve controller synthesis
via parity games. Solving of parity games is much easier than solving Rabin games.
1 6
3 . T R A N S L A T I O N S T O D E T E R M I N I S T I C A U T O M A T A - S T A T E O F T H E A R T
S { 1 , 2 , 3 , 4 } C { 1 , 2 , 3 , 4 } H { 1 , 2 , 3 , 4 }
{ 2 , 3 } 5 { 4 } 3
{ 2
h
{ 2 , 3 } 2 { 4 } 4 { 2 , 3 } Q
{ 2 }
oo
Figure 3.2: A Biichi automaton B and three trees that serve as states i n deterministic
automata produced b y variants of Safra's construction and sequence
caca; the Safra's tree (S) of [46], the condensed tree (C) of [40], and
the history tree {%) of [47].
three different trees i n Figure 3.2. The trees emerged as states during determinization
of B; i n particular as states reachable after reading the sequence
caca. The Safra's tree S appeared during the original Safra's construction
[46], the condensed tree C shows u p during determinization b y
Piterman [40] a n d finally % is a history tree used b y the Schewe's variant
[47]. Note that both C and % also appear for sequence ca and thus can
be reused, while the original Safra's construction uses isomorphic tree w i t h
different node names for ca.
3.1.1 Implementations of Safra's determinization
There are only a few implementations of Safra's constructions, even less are
publicly available. A prominent implementation was made b y K l e i n i n his
master thesis [23] and is called l t l 2 d s t a r . Klein's tool serves for translation
of L T L to deterministic Rabin (or alternatively Streett) automata. It
does not implement any translation of L T L to N B A and rely o n external
translators instead. For a formula V Gb,
where ip = Fs a A Fs6.
A source configuration of T, denoted by dom(T), is the set of source states
of transitions i n T. A target configuration of T, denoted by range(T), is the
union of target configurations of transitions i n T. We define a multitransition
relation A C 2 5
x £ x 2s
as
A = {(dom(T), a, range(T)) | there exists a multitransition T w i t h label a}.
A run p of a V W A A A over a w o r d w = wowi... G S w
is an infinite
sequence p = TQT\ . . . of multitransitions of A such that dom(To) is an initial
configuration of A and, for each i > 0, Tj is labelled b y u>j and range(Tj) =
d o m ( T i + i ) .
A r u n p is accepting if it has no suffix where, for some co-Biichi accepting
state / € F, each multitransition contains a looping transition from /.
The language of A is L(A) = {w eT,^ \ A has an accepting r u n over w}. By
Infs(p) we denote the set of states that occur i n dom(Tj) for infinitely many
indices i.
Figure 4.2 shows a V W A A that accepts the language described by the
formula G(F5 o A Fs6) V G6. Transitions are depicted by branching edges. If
a target configuration is empty, the corresponding edge leads to an empty
space. We depict all transitions w i t h the same source state and the same
target configuration by a single edge.labelled by a propositional formula tp
over AP representing the corresponding transition labels (e.g. given S =
2^-a
'b
\ the formula tp = a V b represents labels {a}, {a, &}, {&}). Each initial
configuration is represented by a possibly branching unlabelled edge
leading from an empty space to the states of the configuration. Co-Biichi
accepting states are double circled.
25
4. A C H I E V E D R E S U L T S
May Must Loopless
selfloop selfloop i n initial,
under tt each transition n o predecessors
Figure 4.3: Illustration of state types of M a y / M u s t alternating automata.
The specific properties of the types are highlighted by distinct colours.
Definition 4. A may/must alternating automaton (MMAA) is a VWAA such
that each its statefits into one of thefollowing three categories:
1. May-states - states with a selfloop for each a eT,. A run that enters such
a state may wait in the statefor an arbitrary number of steps.
2. Must-states - every transition of a must-state is looping. A run that enters
such a state can never leave it. In other words, the run must stay there.
3. Loopless states - states that have no looping transitions and no predecessors.
They can appear only in initial configurations (or they are unreachable).
The identification of the class of M M A A is a key contribution of [3].
The class of M M A A is equivalently expressive as LTL(FS , Gs ), and w h e n using
generalized Rabin condition, M M A A can be determinized by relatively
simple construction that w e call double powerset construction (performing
de-alternation and determinization of the M M A A ) . The states of the
new automaton Av are called macrostates. A macrostate consists of several
configurations. Intuitively, it stores all configurations i n w h i c h the determinized
M M A A Aiip can be after reading the same input. U n l i k e for Safra's
construction for N B A , this is all w e need to remember for our determiniza-
tion.
We justify these statements b y following theorems. We refer the reader
to [3] for the proofs.
Theorem 1. For every formula ip ofLTL(Fs, Gs) in a positive normal form, there
exists an equivalent MMAA M.v with n states where n is the number of temporal
subformulae off.
26
4. A C H I E V E D R E S U L T S
Theorem 2. Let Mbea MMAA with n states. Then a TGDRA with at most 22
™
states exists.
Corollary 1. Every formula ip ofLTL(Fs,Gs) in a positive normal form can be
translated to an equivalent TGDRA with at most 22
™ states where n is the number
of temporal subformulae of
automata. There are
currently two translators producing deterministic automata: l t l 2 d s t a r
working for the whole L T L and Rabinizer applicable to LTL(F, G) which
is the L T L fragment using only modalities F and G. We present a new
translation to deterministic Rabin automata via alternating automata
and deterministic transitionbased generalized Rabin automata. Our translation
applies to a fragment that is strictly larger than LTL(F, G). Experimental
results show that our algorithm can produce significantly smaller
automata compared to Rabinizer and l t l 2 d s t a r , especially for more
complex L T L formulae.
1 Introducti on
Linear temporal logic (LTL) is a popular formalism for specification of behavioral
system properties with major applications i n the area of model checking [8,5].
More precisely, L T L is typically used as a humanoriented frontend formalism as
L T L formulae are succinct and easy to write and understand. Model checking algorithms
usually work with an wautomaton representing all behaviors violating
a given specification formula rather than with the L T L formula directly. Hence,
specifications written i n the form of L T L formulae are negated and translated to
equivalent wautomata [31]. There has been a lot of attention devoted to translation
of L T L to nondeterministic Buchi automata (N BA), see for example [10,11,
29,15] and the research i n this direction still continues [12,4, 2]. However, there
are algorithms that need specifications given by deterministic wautomata, for
example, those for L T L model checking of probabilistic systems [30, 9, 5] and
those for synthesis of reactive modules for L T L specifications [7, 26], for a recent
survey see [20]. A s deterministic Buchi automata (DBA) cannot express all the
properties expressible i n L T L , one has to choose deterministic automata with
different acceptance condition.
There are basically two approaches to translation of L T L to deterministic
wautomata. The first one translates L T L to N B A and then it employs Safra's
construction [27] (or some of its variants or alternatives like [23, 28]) to transform
the N B A into a deterministic automaton. This approach is represented by the
* The authors are supported by The Czech Science Foundation, grant P202/12/G061.
tool l t l 2 d s t a r [16] which uses an improved Safra's construction [17,18] usually
in connection with L T L to N B A translator L T L 2 B A [15]. The main advantage of
this approach is its universality: as L T L 2 B A can translate any L T L formula into
an N B A and the Safra's construction can transform any N B A to a deterministic
Rabin automaton (DRA), l t l 2 d s t a r works for the whole L T L . The main disadvantage
is also connected with the universality: the determinization step does
not employ the fact that the N B A represents only an L T L definable property.
One can easily observe that l t l 2 d s t a r produces unnecessarily large automata,
especially for formulae with more fairness subformulae.
The second approach is to avoid Safra's construction. A s probabilistic modelcheckers
deal with linear arithmetic, they do not profit from symbolically represented
deterministic automata of [24,22]. A few translations of some simple
L T L fragments to D B A have been suggested, for example [1]. Recently, a translation
of a significantly larger L T L fragment to D R A has been introduced i n [19]
and subsequently implemented i n the tool Rabinizer [14]. The algorithm builds
a generalized deterministic Rabin automata (GDRA) directly from a formula.
A D R A is then produced by a degeneralization procedure. Rabinizer often produces
smaller automata than l t l 2 d s t a r . The main disadvantage is that it works
for L T L ( F , G) only, i.e. the L T L fragment containing only temporal operators
eventually (F) and always (G). Authors of the translation claim that it can be
extended to a fragment containing also the operator next (X).
In this paper, we present another Safraless translation of an L T L fragment
to D R A . The translation is influenced by the successful L T L to N B A translation
algorithm L T L 2 B A [15] and it proceeds i n the following three steps:
1. A given L T L formula ip is translated into a very weak alternating co-Biichi
automaton (VWAA) A as described i n [15]. If tp is an L T L ( F S , Gs ) formula,
i.e. any formula which makes use of F, G, and their strict variants Fs and
G s as the only temporal operators, then A satisfies an additional structural
condition. We call such automata may/must alternating automata (MMAA).
2. The M M A A A is translated into a transition-based generalized deterministic
Rabin automaton (TGDRA) Q. The construction of generalized Rabin pairs
of Q is inspired by [19].
3. Finally, Q is degeneralized into a (state-based) D R A T>.
In summary, our contributions are as follows. First, note that the fragment
LTL(FS , Gs ) is strictly more expressive than L T L ( F , G). Moreover, it can be shown
that our translation works for a fragment even larger than L T L ( F S , Gs ) but still
smaller than the whole L T L . Second, the translation has a slightly better theoretical
bound on the size of produced automata comparing to l t l 2 d s t a r , but
the same bound as Rabinizer. Experimental results show that, for small formulae,
our translation typically produces automata of a smaller or equal size as the
other two translators. However, for parametrized formulae, it often produces automata
that are significantly smaller. Third, we note that our T G D R A are much
smaller than the (state-based) G D R A of [14]. We conjecture that algorithms for
model checking of probabilistic system, e.g. those i n P R I S M [21], can be adapted
to work with T G D R A as they are adapted to work with G D R A [6].
2 Preliminaries
This section recalls the notion of linear temporal logic (LTL) [25] and describes
the w-automata used in the following.
Linear Temporal Logic (LTL) The syntax of L T L is defined by
p ::= tt | a \ -up \
0. (Ui.. \= p2 and VO < j < i. Uj.. \= pi)
Given an alphabet E, a formula tp defines the language LE
{p) = {u £ E"
u \= p}. We write L(p) instead of L2
''^(p), where AP(p) denotes the set of
atomic propositions occurring in the formula p.
We define derived unary temporal operators eventually (F), always (G), strict
eventually (Fs ), and strict always (Gs ) by the following equivalences: Ftp = tt\J p,
Gp = -iF-ic/3, Fsp = XFp, and Gsp = XGp.
L T L ( F , G) denotes the L T L fragment consisting of formulae built with temporal
operators F and G only. The fragment build with temporal operators Fs ,
Gs , F and G is denoted by L T L ( F S , Gs ) as Ftp and Gp can be seen as abbreviations
for p V Fsp and p A Gsp, respectively. Note that L T L ( F S , Gs ) is strictly
more expressive than L T L ( F , G) as formulae Fsa and Gsa cannot be equivalently
expressed in L T L ( F , G).
A n L T L formula is in positive normal form if no operator occurs in the scope
of any negation. Each L T L ( F S , Gs ) formula can be transformed to this form using
De Morgan's laws for A and V and the equivalences -^Fstp = Gs-Fip = G-itp, and - i G ^ = F-itp. We say that a formula is temporal if its topmost
operator is neither conjunction, nor disjunction (note that a and - are runs of the semiautomaton. A run a satisfies a R a b i n pair
(K, L) £ K if Infs(a) (1 K = 0 and Infs(a) fl i / I. A run is accepting if it
satisfies some Rabin pair of TZ. The language of V is the set L(V) of all words
u £ E" such that o~(u) is accepting.
A transition-based generalized deterministic Rabin automaton ( T G D R A ) is
a tuple Q = (S, E, S, si, QTZ), where (S, E, S, si) is a semiautomaton and QTZ C
2s
x 22
is a finite set of generalized Rabin pairs. Runs of Q are runs of the
semiautomaton. A run a satisfies a generalized R a b i n pair (K,{Lj}jej) £ QTZ
if Inft(a) n K = 0 and, for each j £ J, Inft(a) PI Lj ^ 0. A run is accepting if it
satisfies some generalized R a b i n pair of QTZ. The language of Q is the set L(Q)
of all words u £ E" such that a(u) is accepting.
A generalization of D R A called generalized deterministic Rabin automata
( G D R A ) has been considered in [19,14]. The accepting condition of G D R A is
a boolean combination (in disjunctive normal form) of Rabin pairs. A run a is
accepting if a satisfies this condition.
Very Weak Alternating A u t o m a t a and Their Subclass A very weak alternating
co-Biichi automaton ( V W A A ) A is a tuple (S,E,S,I,F), where S is
a finite set of states, subsets c C S are called configurations, E is an alphabet,
5 C S x E x 2s
is an alternating transition relation, I C 2 s
is a non-empty set
of initial configurations, F C S is a set of co-Biichi accepting states, and there
exists a partial order on S such that, for every transition (s, a, c) £ S, all the
states of c are lower or equal to s.
A triple (s, a,c) £ S is called a transition from s to c labelled by a, or an
a-transition of s. We say that s is the source state and c the target configuration
of the transition. A transition is looping if the target configuration contains the
source state, i.e. s £ c. A transition is called a selfloop if its target configuration
contains the source state only, i.e. c = {s}.
Figure 1(a) shows a V W A A that accepts the language described by the formula
G(Fs a A Fs6) V G6. Transitions are depicted by branching edges. If a target
Fig. 1. (a) A V W A A (and also M M A A ) corresponding to formula Gip V Gb, where
ip = Fso A Fsb. (b) A n accepting run of the automaton over ({a}0{6}{a, 6})".
configuration is empty, the corresponding edge leads to an empty space. We
often depict all transitions with the same source state and the same target configuration
by a single edge (as for semiautomata). Each initial configuration is
represented by a possibly branching unlabelled edge leading from an empty space
to the states of the configuration. Co-Buchi accepting states are double circled.
A multitransition T with a label a is a set of transitions with the same
label and such that the source states of the transitions are pairwise different.
A source configuration of T, denoted by dom(T), is the set of source states of
transitions in T. A target configuration of T, denoted by range(T), is the union
of target configurations of transitions i n T. We define a multitransition relation
A C 2s
x £ x 2s
as
A = {(dom(T), a,range(T)) | there exists a multitransition T with label a}.
A run p of a V W A A A over a word w = WQWI . . . £ is an infinite sequence
p = TQT\ . . . of multitransitions of A such that dom(T0 ) is an initial configuration
of A and, for each i > 0, T; is labelled by Wi and range(Ti) = d o m ( T i + 1 ) .
A run can be represented as a directed acyclic graph ( D A G ) . For example,
the D A G of Figure 1(b) represents a run of the V W A A of Figure 1(a). The dotted
lines divide the D A G into segments corresponding to multitransitions. Each
transition of a multitransition is represented by edges leading across the corresponding
segment from the starting state to states of the target configuration.
As our alternating automata are very weak, we can order the states in a way
that all edges in any D A G go only to the same or a lower row.
A n accepting run corresponds to a D A G where each branch contains only
finitely many states from F. Formally, the run p is accepting if it has no suffix
where, for some co-Buchi accepting state / £ F, each multitransition contains
a looping transition from /. The language of A is the set L(A) = {w £
A has an accepting run of over w}. B y Infs(p) we denote the set of states that
occur i n dom(Ti ) for infinitely many indices i.
Definition 1. A may/must alternating automaton (MMAA) is a VWAA where
each state fits into one of the following three categories:
1. May-states - states with a selfloop for each a £ E. A run that enters such
a state may wait in the state for an arbitrary number of steps.
2. Must-states - every transition of a must-state is looping. A run that enters
such a state can never leave it. In other words, the run must stay there.
3. Loopless states - states that have no looping transitions and no predecessors.
They can appear only in initial configurations (or they are unreachable).
The automaton of Figure 1(a) is an M M A A with must-states Gip,Gb and
may-states Fa, Fb.
We always assume that the set F of an M M A A coincides with the set of
all may-states of the automaton. This assumption is justified by the following
observations:
— There are no looping transitions of loopless states. Hence, removing all loopless
states from F has no effect on acceptance of any run.
— A l l transitions leading from must-states are looping. Hence, if a run contains
a must-state that is in F, then the run is non-accepting. Removing all muststates
in F together with their adjacent transitions from an M M A A has no
effect on its accepting runs.
— Every may-state has selfloops for all a £ E. If such a state is not in F, we can
always apply these selfloops without violating acceptance of any run. We can
also remove these states from all the target configurations of all transitions
of an M M A A without affecting its language.
3 Translation of L T L ( F S , Gs ) to M M A A
We present the standard translation of L T L to V W A A [15] restricted to the
fragment LTL(FS , Gs ). In this section, we treat the transition relation 5 C S x
E x 2 s
of a V W A A as a function 5 : S x E —> 22
, where c £ 5(s, a) means
(s, a, c) £ S. Further, we consider Gtp and Ftp to be subformulae of Gstp and Fsip,
respectively. This is justified by equivalences Gs?/> = XGip and Fstp = XFip.
Let ip be an L T L ( F S , G S ) formula in positive normal form. A n equivalent
V W A A is constructed as Av = (Q, E, S, I, F), where
— Q is the set of temporal subformulae of ip,
- S is defined as
5(tt, a) = {0} S(a, a) = {0} if a £ a, 0 otherwise
<5(-itt, a) = 0 <5(-io, a) = {0} if a g" a, 0 otherwise
6{Gsip,a) = {{Gip}} 6{Gip,a) = { c U {G^}J c £ 6{ip,a)}
5{FsiP, a) = {{F^}} 5(Fip, a) = {{F^}} U 5{ip, a), where
S(ip, a) = 6(tjj, a) if ip is a temporal formula
S(ipi V tp2, a) = 5(ipi,a) U S(tp2, a)
S(ipi A ip2,a) = {ci U c2 | ci £ S(ipi,a) and c2 £ S(tp2, a)},
— I = ip where ip is defined as
ip = {{ip}} if ip is a temporal formula
Ipl V 1p2 = Ipl U V>2
V'l A ^ 2 = { O i U 0 2 I Ox £ iTi and G>2 £ ? M , and
— i * 1
C Q is the set of all subformulae of the form Ftp i n Q.
Using the partial order "is a subformula of" on states, one can easily prove
that Av is a V W A A . Moreover, all the states of the form Gip are must-states and
all the states of the form Ftp are may-states. States of other forms are loopless and
they are unreachable unless they appear i n I. Hence, the constructed automaton
is also an M M A A . Figure 1(a) shows an M M A A produced by the translation of
formula G(Fs a A Fsb) V G6.
In fact, M M A A and L T L ( F S , Gs ) are expressively equivalent. T h e reverse
translation can be found i n the full version of this paper [3].
4 Translation of M M A A to T G D R A
In this section we present a translation of an M M A A A = (5, E, <$4, /, F) with
multitransition relation Aj^ into an equivalent T G D R A Q. A t first we build a
semiautomaton T and then we describe the transition based generalized R a b i n
acceptance condition Q1Z of Q.
4.1 Semiautomaton T
The idea of our seminautomaton construction is straightforward: a run a(w) of
the semiautomaton T tracks all runs of A over w. More precisely, the state of T
reached after reading a finite input consists of all possible configurations i n which
A can be after reading the same input. Hence, states of the semiautomaton are
sets of configurations of A and we call them macrostates. We use /, s, s±, S2, • • •
to denote states of A (/ stands for an accepting state of F), c, c i , C2,... to denote
configurations of A, and m, m\,mi,... to denote macrostates of T . Further, we
use t, ti, t i . . . to denote the transitions of A, T, TQ, T\... to denote multitransitions
of A, and r, r±, r i . . . to denote the transitions of T , which are called
macrotransitions hereafter.
Formally, we define the semiautomaton T = ( M , E, Sf, mi) for A as follows:
— M C 2 _ S
is the set macrostates, restricted to those reachable from the initial
macrostate m/ by 6-j-,
— ( m i , a , m 2 ) £ 5r iff m2 = {Jc, Fa, F&}.
For any fixed z7 C 5, we define the set ACz Q 2 s
of allowed configurations
of .4 and the set A T ^ C 6-j- of allowed macrotransitions of T as follows:
ACz = {c C Z | must(c) = must(Z)}
ATZ = { ( m i , a , m 2 ) £ <5r | 3 d £ A C z , c 2 £ ( m 2 n A C z ) : ( c i , a , c 2 ) £ A A } 1
Clearly, a run p of A is bounded by Z if and only if p has a suffix containing only
configurations of ACz- Let p be a run over w with such a suffix. A s the semiautomaton
T tracks all runs of A over a given input, the run a(w) of T 'covers'
also p. Hence, a(w) has a suffix where, for each macrotransition (rrii, Wi, rrii+i),
there exist configurations c\ £ PI A C ^ and c2 £ m-i+i PI A C z satisfying
(ci,Wi,c2 ) £ Aj(. In other words, a(w) has a suffix containing only macrotransitions
of A T ^ . This observation is summarized by the following lemma.
Lemma 1. If A has a run overw bounded by Z, then the run a(w) ofT contains
a suffix of macrotransitions of ATz •
In fact, the other direction can be proved as well: if a(w) contains a suffix of
macrotransitions of A T ^ , then A has a run over w bounded by Z.
For each / £ F Pi Z, we also define the set A T ^ as the set of all macrotransitions
i n ATZ such that A contains a non-looping transition of / with the same
label and with the target configuration not leaving Z:
A T | = {(mi, a, m 2 ) £ ATZ | 3(/, a, c) £ SA : f £ c, c C Z}
Using the sets A T ^ and A T | , we define one generalized Rabin pair QTZz for
each subset of states Z C S:
gnz = (5T x ATZ, {ATf
z}feFnz) (1)
Lemma 2. If there is an accepting run p of A over w then the run a(w) of T
satisfies QTZz for Z = Infs(p).
1
A definition of ATz with ci £ (mi n ACz) would be more intuitive, but less effective.
Proof. A s p is bounded by Z, Lemma 1 implies that a(w) has a suffix r i T i + i . . .
of macrotransitions of A T ^ . Thus Inft(a(w)) Pi (S-j- \ AT^) = 0.
As Z = Infs(p) and p = TQT\ . . . is accepting, for each / £ F n Z, p includes
infinitely many multitransitions 1} where / £ dom(Tj) and Tj contains
a non-looping transition (f,Wj,c) £ 8A satisfying / g" c and c C Z . Hence, the
corresponding macrotransitions r j that are also in the mentioned suffix riTi+i . . .
of a(w) are elements of A T | . Therefore, Inft(a(w)) PI A T | ^ 0 for each f e FnZ
andCT(W)satisfies (57^z. •
L e m m a 3. 7/ a ran a(w) ofT satisfies QTZz then there is an accepting run of
A over w bounded by Z.
Proof. Let a(w) = ror\... be a run of T satisfying QTZz, i-e. a(w) has a suffix
of macrotransitions of ATz and a(w) contains infinitely many macrotransitions
of A T | for each / £ F n Z. Let = (rrii, Wi, rrii+\) be the first macrotransition
of the suffix. The definition of ATz implies that there is a configuration c £
rrii+i D ACz- T h e construction of T guaranties that there exists a sequence of
multitransitions of A leading to the configuration c. More precisely, there is a
sequence TQT\ .. .Ti such that dom(To) is an initial configuration of A, Tj is
labelled by Wj for each 0 < j < i, range(Tj) = d o m ( T j + i ) for each 0 < j < i,
and range(Ti) = c. We show that this sequence is i n fact a prefix of an accepting
run of A over w bounded by Z.
We inductively define a multitransition sequence T ; + i T ; + 2 . . . completing this
run. The definition uses the suffix ri+iri+2 . . . of a(w). Let us assume that j > i
and that range(Tj_i) is a configuration of ACz- We define Tj to contain one Wjtransition
of s for each s £ range(Tj_i). Thus we get dom(Tj) = range(Tj_i). A s
Tj £ A T ^ , there exists a multitransition T" labelled by Wj such that both source
and target configurations of T' are in ACz- For each must-state s £ range(Tj_i),
Tj contains the same transition leading from s as contained i n T". For maystates
/ £ range(Tj_i), we have two cases. If Tj £ A T | , TJ contains a nonlooping
transition leading from / to some states i n Z. T h e existence of such a
transition follows from the definition of A T ^ . For the remaining may-states, Tj
uses selfloops. Formally, Tj = {tj \ s £ range(Tj_i)}, where
3
(s, Wj, cs ) contained i n T" if s £ must(Z)
{s,Wj,{s}) if S £ F A Tj;<£ A T |
^ (s, Wj, cs) where cs C Z, s £ cs if s £ F A Tj £ A T |
One can easily check that range(Tj) £ ACz and we continue by building Tj+\.
To sum up, the constructed run is bounded by Z. Moreover, Tj contains
no looping transition of / whenever Tj £ A T | . A S the run a(w) is accepting,
Tj £ A T ^ holds infinitely often for each / £ F n Z. The constructed run of A
over w is thus accepting. •
The previous two lemmata give us the following theorem.
Theorem 1. The TGDRA Q = (T, {QTlz \ Z C S}) is equivalent to A.
5 Translation of T G D R A to D R A
This section presents a variant of the standard degeneralization procedure. A t
first we illustrate the idea on a T G D R A Q' = (M, E, 6-j-, mi, {(K, {L3
}\ j such that r £ L3
for each j < j' < I. The levels 0 and
h + 1 have the same transitions (including target levels) as the level 1. A run of
Q1
is accepting if and only if the corresponding run of V visits the level 0 only
finitely often and it visits the level h + 1 infinitely often.
In general case, we track the levels for all generalized Rabin pair simultaneously.
Given a T G D R A Q = (M,E,5r-,mi,{(Ki,{L3
i}1, Qi, {{K[, LQ}i i and the run is accepting. We use this observation to improve
the construction of the semiautomaton T of the T G D R A Q: if a macrostate m
contains the empty configuration, we remove all other configurations from m.
After we build the T G D R A , we simplify its acceptance condition i n three
ways (similar optimizations are also performed by Rabinizer).
1. We remove some generalized Rabin pairs (Ki, { L | } j e j ; ) that cannot be satisfied
by any run, i n particular when Ki = Sj- or L\ = 0 for some j £ Ji.
2. We remove L\ if there is some I £ Ji such that L ' C L j .
3. If the fact that a run p satisfies the pair QTZz implies that p satisfies also
some other pair QTZz1
, we remove QTZzFinally,
we simplify the state spaces of both T G D R A and D R A such that we
iteratively merge the equivalent states. Two states of a D R A V are equivalent
if they belong to the same sets of the acceptance condition of V and, for each
a, their a-transitions lead to the same state. Two states of a T G D R A Q are
equivalent if, for each a, their a-transitions lead to the same state and belong
to the same sets of the acceptance condition of Q. Moreover, if the initial state
of V or Q has no selfloop, we check its equivalence to another state regardless of
the acceptance condition (note that a membership in acceptance condition sets
is irrelevant for states or transitions that are passed at most once by any run).
Of course, we consider only the reachable state space at every step.
8 B e y o n d L T L ( F S , G S ) Fragment: M a y / M u s t in the L i m i t
The Section 4 shows a translation of M M A A into T G D R A . In fact, our translation
can be used for a larger class of very weak alternating automata called
may/must in the limit automata ( l i m M M A A ) . A V W A A B is a l i m M M A A if
B contains only must-states, states without looping transitions, and co-Buchi
accepting states (not exclusively may-states), and each state reachable from a
must-state is either a must- or a may-state. Note that each accepting run of a
l i m M M A A has a suffix that contains either only empty configurations, or configurations
consisting of must-states and may-states reachable from must-states.
Hence, the M M A A to T G D R A translation produces correct results also for limM
M A A under an additional condition: generalized R a b i n pairs GHz are constructed
only for sets Z that contain only must-states and may-states reachable
from them.
We can obtain l i m M M A A by the L T L to V W A A translation of [15] when it
is applied to an L T L fragment defined as
ip ::= ip | ip V ip | ip A ip | Xp | ip U ip,
where ip ranges over L T L ( F S , G S ) . Note that this fragment is strictly more expressive
than L T L ( F S , G S ) .
9 E x p e r i m e n t a l Results
We have made an experimental implementation of our translation (referred to
as LTL3DRA). The translation of L T L to alternating automata is taken from
L T L 3 B A [4]. We compare the automata produced by L T L 3 D R A to those produced
by Rabinizer and l t l 2 d s t a r . A l l the experiments are run on a Linux
laptop (2.4GHz Intel Core i7, 8 G B of R A M ) with a timeout set to 5 minutes.
Tables given below (i) compare the sizes of the D R A produced by all the
tools and (ii) show the number of states of the generalized automata produced by
L T L 3 D R A and Rabinizer. Note that L T L 3 D R A uses T G D R A whereas Rabinizer
uses (state-based) G D R A , hence the numbers of their states cannot be directly
compared. The sizes of D R A are written as s(r), where s is the number of states
and r is the number of Rabin pairs. For each formula, the size of the smallest
D R A (measured by the number of states and, in the case of equality, by the
number of Rabin pairs) is printed in bold.
Table 1 shows the results on formulae from [14] extended with another parametric
formula. For the two parametric formulae, we give all the parameter
values n for which at least one tool finished before timeout. For all formulae
in the table, our experimental implementation generates automata of the same
or smaller size as the others. Especially in the case of parametric formulae, the
automata produced by L T L 3 D R A are considerably smaller. We also note that
the T G D R A constructed for the formulae are typically very small.
Table 2 shows the results on formulae from S P E C P A T T E R N S [13] (available
online2
). We only take formulae L T L 3 D R A is able to work with, i.e. the formulae
of the L T L fragment defined in Section 8. The fragment covers 27 out of 55
formulae listed on the web page. The dash sign in Rabinizer's column means
2
http://patterns.projects.cis.ksu.edu/documentation/patterns/ltl.shtml
Formula
L T L 3 D R A Rabinizer l t l 2 d s t a r
Formula
DRA T G D R A DRA GDRA DRA
G(oVF6)
FGa V FG6 V GFc
3(2)
8(3)
2
1
4(2) 5
8(3) 8
4(1)
8(3)
F(a V b) 2(1) 2 2(1) 2 2(1)
GF(aVb) 2(1) 1 2(1) 4 2(1)
G(aVFa) 2(1) 1 2(2) 2 2(1)
G ( a V 6 V c ) 2(1) 2 2(1) 8 3(1)
G(aV F(bVc)) 3(2) 2 4(2) 9 4(1)
F a V G b 3(2) 3 3(2) 3 4(2)
G(a V F(6 Ac)) 3(2) 2 4(2) 11 4(1)
FGa V GF6 4(2) 1 4(2) 4 4(2)
GF(aV&) A G F ( b V c ) 3(1) 1 3(1) 8 7(2)
(FFa A G-io) V (GG-.0 A Fa) 1(0) 1 1(0) 1 1(0)
GFa A FG6 3(1) 1 3(1) 4 3(1)
(GFaAFGb) V (FG -10 A GF-ib) 4(2) 1 4(2) 4 5(2)
FGa A GFa 2(1) 1 2(1) 2 2(1)
G(Fa A F6) 3(1) 1 3(1) 4 5(1)
Fa A F-io 4(1) 4 4(1) 4 4(1)
(G(b V GFa) A G(c V GF-.a)) V Gb V Gc 12(3) 4 18(4) 18 13(3)
(G(b V FGa) A G(c V FG-io)) V Gb V Gc 4(2) 4 6(3) 18 14(4)
(F(b A FGa) V F(c A FG-io)) A Fb A Fc 5(2) 4 5(2) 18 7(1)
(F(b A GFa) V F(c A GF-.a)) A Fb A Fc 5(2) 4 5(2) 18 7(2)
GF(Fa V GFb V FG(a V b))
FG(Fa V GFb V FG(a V b))
FG(Fa V GFb V FG(a V 6) V FGb)
4(3)
4(3)
4(3)
1
1
1
4(3) 4
4(3) 4
4(3) 4
14(4)
145(9)
145(9)
n = l 4(2) 1 4(2) 4 4(2)
A r = i ( G F a
» -*-GFbO
n = 2
n = 3
18(4)
166(8)
1
1
20(4) 16
470(8) 64
11324(8)
timeout
n = 4 7408(16) 1 timeout timeout
n=l 4(2) 1 4(2) 4 4(2)
n = 2 10(4) 1 11(4) 8 572(7)
A r = i ( G F a
» V F G a ! + i ) n = 3 36(6) 1 52(6) 16 290046(13)
n = 4 178(9) 1 1288(9) 32 timeout
n = 5 1430(14) 1 timeout timeout
n = 6 20337(22) 1 timeout timeout
Table 1. The benchmark from [14] extended by one parametric formula.
that Rabinizer cannot handle the corresponding formula as it is not from the
L T L ( F , G) fragment. For most of the formulae i n the table, L T L 3 D R A produces
the smallest D R A . In the remaining cases, the D R A produced by our translation
is only slightly bigger than the smallest one. The table also illustrates that
L T L 3 D R A handles many (pseudo)realistic formulae not included i n L T L ( F , G).
Experimental results for another four parametric formulae are provided i n
the full version of this paper [3].
L T L 3 D R A Rabinizer l t l 2 d s t a r
DRA TGDRA DRA GDRA DRA
f2 4(2) 4 — 5(2)
-automata for formulas of
linear temporal logic. Theor. Comput. Sci., 363(2):182-195, 2006.
18. J. Klein and C. Baier. On-the-fly stuttering in the construction of deterministic
u- automata. In CI A A 2007, volume 4783 of LNCS, pages 51-61. Springer, 2007.
19. J. Kfetmsky and J. Esparza. Deterministic automata for the (F, G)-fragment of
LTL. In CAV 2012, volume 7358 of LNCS, pages 7-22. Springer, 2012.
20. O. Kupferman. Recent challenges and ideas in temporal synthesis. In SOFSEM
2012, volume 7147 of LNCS, pages 88-98. Springer, 2012.
21. M . Kwiatkowska, G. Norman, and D. Parker. P R I S M 4.0: Verification of probabilistic
real-time systems. In CAV 2011, volume 6806 of LNCS, pages 585-591.
Springer, 2011.
22. A . Morgenstern and K. Schneider. From L T L to symbolically represented deterministic
automata. In VMCAI 2008, volume 4905 of LNCS, pages 279-293. Springer,
2008.
23. N . Piterman. From nondeterministic Biichi and Streett automata to deterministic
parity automata. Logical Methods in Computer Science, 3(3), 2007.
24. N . Piterman, A . Pnueli, and Y. Sa'ar. Synthesis of reactive(l) designs. In VMCAI
2006, volume 3855 of LNCS, pages 364-380. Springer, 2006.
25. A . Pnueli. The temporal logic of programs. In FOCS 1977, pages 46-57. IEEE,
1977.
26. A . Pnueli and R. Rosner. On the synthesis of an asynchronous reactive module.
In ICALP 1989, volume 372 of LNCS, pages 652-671. Springer, 1989.
27. S. Safra. On the complexity of omega-automata. In FOCS 1988, pages 319-327.
IEEE Computer Society, 1988.
28. S. Schewe. Tighter bounds for the determinisation of Biichi automata. In FOSSACS
2009, volume 5504 of LNCS, pages 167-181. Springer, 2009.
29. F. Somenzi and R. Bloem. Efficient Biichi automata from L T L formulae. In CAV
2000, volume 1855 of LNCS, pages 248-263. Springer, 2000.
30. M . Y. Vardi. Automatic verification of probabilistic concurrent finite-state programs.
In FOCS 1985, pages 327-338. I E E E Computer Society, 1985.
M . Y . Vardi and P. Wolper. A n automata-theoretic approach to automatic prog
verification. In LICS 1986, pages 332-344. I E E E Computer Society, 1986.
Comparison of L T L to Deterministic
Rabin Automata Translators*
František Blahoudek, Mojmír Křetínský, and Jan Strejček
Faculty of Informatics, Masaryk University, Brno, Czech Republic
{xbláhoud, kretinsky, strejcek}@f i .muni. cz
Abstract. Increasing interest in control synthesis and probabilistic model
checking caused recent development of L T L to deterministic a>automata
translation. The standard approach represented by l t l 2 d s t a r tool
employs Safra's construction to determinize a Biichi automaton produced
by some L T L to Biichi automata translator. Since 2012, three new L T L to
deterministic Rabin automata translators appeared, namely Rabinizer,
LTL3DRA, and Rabinizer 2. They all avoid Safra's construction and
work on L T L fragments only. We compare performance and automata
produced by the mentioned tools, where l t l 2 d s t a r is combined with
several L T L to Biichi automata translators: besides traditionally used
LTL2BA, we also consider LTL>NBA, LTL3BA, and Spot.
1 Introducti on
Linear temporal logic (LTL) has proved to be an appropriate formalism for specification
of systems behavior with major applications i n the area of model checking.
Methods for L T L model checking of probabilistic systems [29, 5, 3] and for
L T L synthesis [4, 24,19] mostly need to construct, for any given L T L formula,
a deterministic wautomaton. A s deterministic Biichi automata (DBA) cannot
express all the properties expressible in L T L , one has to choose deterministic toautomata
with a more complex acceptance condition. The most common choice
is the Rabin acceptance.
There are basically two approaches to translation of L T L to deterministic
wautomata. A traditional one translates L T L to nondeterministic Biichi automata
(N BA) first and then it employs Safra's construction [26] (or some of its
variants or alternatives like [23,27]) to obtain a deterministic automaton. This
approach is represented by the tool l t l 2 d s t a r [14] which uses an improved
Safra's construction [16,17]. A s every L T L formula can be translated into an
N B A and Safra's construction can transform any N B A to a deterministic Rabin
automaton (DRA), l t l 2 d s t a r works for the whole L T L . However, the resulting
automata are sometimes unnecessarily big.
Since 2012, several translations avoiding Safra's construction have been introduced.
The first one is presented in [18] and subsequently implemented in
* Authors are supported by The Czech Science F oundation, grant no. P202/10/1469.
the tool Rabinizer [10]. The algorithm builds a generalized deterministic Rabin
automaton (GDRA) directly from a formula. A D R A is then produced by
a degeneralization procedure. Rabinizer often produces smaller automata than
ltl2dstar. The main disadvantage is that it works for L T L ( F , G) only, i.e. the
L T L fragment containing eventually (F) and always (G) as the only temporal
operators. This method has been extended to a semantically larger fragment
and reimplemented in the experimental tool Rabinizer 2 [21]. In [1] we
present a Safraless translation working with another L T L fragment subsuming
L T L ( F , G). Our translator L T L 3 D R A transforms a given formula into a very
weak alternating automaton (in the same way as L T L 2 B A [11]) and then into
a transition-based generalized deterministic Rabin automaton (TGDRA). The
construction of generalized Rabin pairs of T G D R A is inspired by [18]. A D R A
is finally obtained by a degeneralization procedure.
Here we provide a comparison of performance of the L T L to D R A translators
ltl2dstar, Rabinizer, Rabinizer 2, and L T L 3 D R A . The tool ltl2dstar is
designed to use an external L T L to N B A translator. To our best knowledge, the
last experimental comparison of performance of ltl2dstar with different L T L
to N B A translators has been done in 2005 [15]. The comparison shows that with
respect to automata sizes, L T L 2 B A and L T L - > N B A [9] "have the lead and were
the only programs without failures to calculate the D R A . " Since 2005, significant
progress has been made in L T L to N B A translation (it can already be seen in the
comparison of L T L to N B A translators [25] published in 2007). Hence, we run
ltl2dstar with L T L 2 B A , L T L - > N B A , and contemporary translators Spot [6,
7] and L T L 3 B A [2]. The experimental results obtained are briefly interpreted.
2 C o m p a r e d Tools
Here we describe settings and restrictions of the considered translators.
- Itl2dstar [14] v0.5.1, http://www.ltl2dstar.de/
We keep the default setting (all optimizations enabled). We use only the option
—ltl2nba=": [@] " to specify an external
for L T L to N B A translation ( specifies if ltl2dstar communicates
with the via the interface of Ibtt [28] or Spin [13], and are
parameters the is called with). We use four L T L to N B A translators:
• L T L - > N B A [9], http://www.ti.informatik.uni-kiel.de/~fritz/
We call it with —ltl2nba="lbtt: /pathtoLTL->NBA/script41btt .py".
• L T L 2 B A [11] vl.l,http://www.lsv.ens-cachan.fr/~gastin/ltl2ba/
We call it with —ltl2nba="spin:/pathtoLTL2BA/ltl2ba".
• L T L 3 B A [2] vl.0.2, http://sourceforge.net/projects/ltl3ba/
B y default, L T L 3 B A aims to produce small N B A s . W i t h the option
-M, it aims to produce potentially larger, but more deterministic automata.
We have combined both modes with other optimizations provided
by L T L 3 B A . We have selected two settings with the best results,
namely —ltl2nba="spin:/pathtoLTL3BA/ltl3ba" referenced as
L T L 3 B A and — ltl2nba="spin:/pathtoLTL3BA/ltl3ba@-M - S " referenced
as L T L 3 B A d . Option -S enables strong fair simulation reduction.
II
• Spot [6,7] vl. 1.3, http://spot.lip6.fr/wiki/
Again, Spot can be set to produce either small or more deterministic
Buchi automata. We have combined ltl2dstar with both modes of Spot.
The resulting Rabin automata produced with the first mode are usually
identical to (and sometimes slightly bigger than) the automata produced
with the latter mode. Computation times are also similar. To save some
space, we include only the results for the "more deterministic" mode
invoked by —ltl2nba="spin:/pathtoSpot/ltl2tgba@-sD".
- Rabinizer [10] v O . l l , http://crab.in.tum.de/rabinizer/
Recall that Rabinizer works for LTL(F, G) only.
- Rabinizer 2 [21],
http://www.model.in.turn.de/~kret insk/rabinizer2.html
Rabinizer 2 works with formulae of a fragment called L T L \ G U which uses
not only F and G but also next (X) and until (U) temporal operators. The
fragment consists of formulae in the negation normal form (i.e. negations are
only in front of atomic propositions) such that no U is i n the scope of any G.
- L T L 3 D R A [1] v O . l , http://sourceforge.net/projects/ltl3dra/
This tool works with formulae of a slightly less expressive fragment than
L T L \ G U . More precisely, there is one more restriction on the scope of any
G: there are no U operators, and X can appear only in front of F or G, i.e. in
subformulae of the form XFcp or XGtp. We call this fragment L T L \ G U X .
The difference is not important for specification formulae of software and
asynchronous systems as these usually contain no X operators, but it can play
some role in specification formulae of hardware and synchronous systems.
Before we run the translators, we transform input formulae to the expected
format (prefix notation for ltl2dstar and negation normal form for Rabinizer 2)
using the tool l t l f i l t [7]. Note that Rabinizer, Rabinizer 2, and L T L 3 D R A are
called with default settings.
3 Experiments: B e n c h m a r k s and Results
A l l experiments were done on a server with 8 eight-core processors Intel® Xeon®
X7560, 2.26GHz, 448 G i B R A M and a 64-bit version of G N U / L i n u x . A l l the
translators are single-threaded. The timeout limit was set to 2 hours.
We run the tools on three benchmark sets: real specification formulae, parametric
formulae, and random formulae. The benchmark sets can be downloaded
from the web pages of L T L 3 D R A .
Real specification formulae We use specification formulae from two sources:
B E E M [22] and Spec Patterns [8]. After removing duplicates (typically cases
where an atomic proposition a is consistently replaced by its negation or by
a V b), we have 67 formulae. These formulae are divided into three classes: 12
formulae of LTL(F, G), 19 formulae of L T L \ G U X not included in LTL(F, G), and
36 formulae outside L T L \ G U X . Note that all the considered formulae outside
L T L \ G U X are also outside L T L \ G U .
Ill
Unlike standard model checking algorithms, applications requiring deterministic
w-automata usually need automata equivalent to specification formulae and
not to their negations. Hence, we do not negate the formulae before translation.
Table 1 presents cummulative results of the considered tools on the three
classes of specification formulae. Table 2 provides a cross-comparison of the tools
on the same formulae classes.
Class Measure
l t l 2 d s t a r
Rabinizer Rabinizer 2 L T L 3 D R AClass Measure
L T L - > N B A L T L 2 B A L T L 3 B A L T L 3 B A d Spot
Rabinizer Rabinizer 2 L T L 3 D R A
states 55 49 47 45 52 45 59 4 3
edges 186 171 158 1 5 1 167 187 287 161
formul
LTL(F,
pairs 18 18 1 7 1 7 1 7 22 18 21
formul
LTL(F,
m i n i m a l 3 7 7 8 3 1 0 7 1 0
formul
LTL(F,
time [s] 0.70 0 . 1 2 0.14 0.13 0.72 3.08 3.05 0 . 1 2
CN ^ m e m m a x 22.53 8 . 0 2 18.66 18.69 91.06 240.75 465.09 19.02
1 — 1
0
m e m avg 19.66 7 . 1 3 18.57 18.61 86.92 160.03 173.53 18.90
<° p
»
S ü
states 180 191 184 167 1 3 2 — 160 137
<° p
»
S ü
edges 614 699 671 563 3 9 0 — 827 546
<° p
»
S ü pairs 43 11 11 44 32 — 2 8 46
a j m i n i m a l 2 2 2 3 6 — 1 1 1 1
1—i
time [s] 2.83 0.24 0.32 0.30 2.11 — 5.98 0 . 1 9
1—i
m e m m a x 33.81 8 . 7 2 18.80 18.83 92.94 — 1013.89 19.50
0
m e m avg 22.29 7 . 4 4 18.67 18.72 87.95 — 256.50 19.13
states 34 985 135 250 33 927 2 768 3 8 6 — — —
more
LTL
edges 359 494 1 726 573 416 794 31 287 1 9 3 6 — — —
more
LTL
pairs 100 111 97 83 4 9 — — —
more
LTL
m i n i m a l 9 8 9 13 3 4 — — —
£ o time [s] 26.46 102.15 16.86 1 . 0 2 1.64 — — —
CO u
m e m m a x 463.95 1 406.86 345.52 2 4 . 4 1 93.69 — — —
m e m avg 35.34 65.53 27.77 1 8 . 9 0 89.29 — — —
Table 1. For each class of considered real formulae and for each tool, the table shows
cummulative numbers of states, edges, and accepting pairs of produced automata. Further,
we show the number of minimal automata produced by the tool (minimal means
that no other considered tool produced an automaton with less states for the same
formula). We also provide cummulative computation time (in seconds) and maximal
and average memory peaks (mem max and mem avg, measured in MiB) needed for the
construction of one automaton. The best results are emphasized.
4£ Tool
12 formulae c f L T L ( F , G) 19 more of L T L \ G U X 36 more of L T L
TT
Tool
1 2 3 4 5 6 7 8 V 1 2 3 4 5 7 8 V 1 2 3 4 5 V
1 H L T L - > N B A — 0 0 0 0 1 3 1 5 - 1 1 2 0 4 3 11 — 13 9 3 0 25
2 •p L T L 2 B A 6 — 0 0 5 1 5 1 18 4 — 0 1 0 4 3 12 1 2 — 0 2 0 14
3 Tl L T L 3 B A 6 1 - 0 5 1 5 1 19 4 1 — 1 0 4 3 13 14 14 — 4 0 32
4 L T L 3 B A d 6 1 1 - 6 1 5 1 21 4 2 2 - 0 5 4 17 22 17 13 — 2 54
5 H Spot 1 1 0 0 — 1 4 1 8 12 9 9 8 — 7 6 51 27 28 27 23 — 1 0 5
6 Rabinizer 8 4 4 3 8 - 5 1 33 —
7 Rabinizer 2 6 3 3 3 6 0 — 1 22 15 15 15 14 10 — 4 7 3 —
8 L T L 3 D R A 9 4 4 3 9 2 5 3 6 14 12 12 1 1 9 8 - 66 —
Table 2. Cross-comparison of considered tools on the three classes of real specification
formulae. The number in row indexed by r and column c represents in how many cases
the tool r produced a smaller automaton (in the number of states) than the tool c.
The column V shows the sum of these "victories".
IV
Parametric formulae We consider 8 parametric formulae of [12] and formulae
6(n) of [11] and F(n) of [18]:
E{n) = A H i F p i C i ( n ) = V 7 = 1 G F f t
(7(n) = ( . . . ( ( P l U p 2 ) U p 3 ) U . . . ) U p „ C 2 ( n ) = A r = i G F P i
R{n) = A L i l G F p i V F G p i + 1 ) Q(n) = A L i ( F
P i V G p i + 1 )
U2 (n) = P l U (p2 U (... (p„_! U p „ ) . . . ) ) S(n) = V?=i Gpi
= - ( ( A r = i G F P l ) -> G(q -> Fr)) F ( n ) = A " = i ( G F
P i -> G F f t )
The results are shown i n Table 3. Note that U(n) and L^fn) are not i n the
input fragment of Rabinizer. A l l the other formulae are from L T L ( F , G).
Formula
size l t ! 2 d s t a r
Rabinizer Rabinizer 2 L T L 3 D R AFormula
m a x L T L - > N B A L T L 2 B A L T L 3 B A L T L 3 B A d Spot
Rabinizer Rabinizer 2 L T L 3 D R A
E(n)
n = 9 5 1 2 5 1 2 5 1 2 5 1 2 5 1 2 5 1 2 5 1 2 5 1 2
E(n)
m a x n 9 11 11 11 1 2 10 9 10
U(n)
n = 5 1 7 1 7 1 7 1 7 1 7 — 1 7 24
U(n)
m a x n 10 5 6 10 1 2 — 9 9
R(n)
n = 3 375 631 290 046 483 789 2 347 15 980 52 97 36
R(n)
m a x n 3 3 3 4 3 4 3 6
U2(n)
n = 14 1 5 1 5 1 5 1 5 1 5 — 1 5 1 5
U2(n)
m a x n 15 15 15 15 15 — 1 9 14
C i ( n )
n = 7 129 2 2 2 3 128 128 2
C i ( n )
m a x n 11 23 23 23 22 8 7 2 4
C2(n)
n = 6 18 17 17 11 13 7 384 7
C2(n)
m a x n 8 11 1 7 1 7 16 8 6 15
Q{n)
n = 7 1331 1 140 1 140 1 140 736 5 7 8 5 7 8 2 790
Q{n)
m a x n 7 8 8 8 9 8 7 7
S{n)
n = 9 513 513 513 513 513 5 1 2 5 1 2 5 1 2
S{n)
m a x n 1 4 1 4 1 4 1 4 11 9 9 13
9(„) n = 5 21 20 15 5 444 5 444 11 480 7
9(„)
m a x n 7 10 1 9 6 6 7 5 14
F(n)
n = 2 13181 11 324 5 650 302 4 307 20 32 1 8
F(n)
m a x n 2 2 2 2 2 3 2 4
Table 3. For each parametric formula and each tool, the table provides the size (number
of states) of the automaton for the highest n such that all the considered tools finish
the computation within the limit (upper row), and the maximal n for which the tool
finishes the computation within the limit (lower row). The best values are emphasized.
R a n d o m formulae We use L T L formulae generator r a u d i t 1 [7] to get some
more formulae of length 15-30 from various fragments. More precisely, we generate
100 formulae from the L T L ( F , G) fragment, 100 general formulae with higher
occurence of F and G operators, and 100 formulae with uniformly distributed
operators. These three sets are generated by the respective commands:
- randltl -n 100 —tree-size=15..30 —ltl-priorities="ap=l,X=0,\
implies=0,false=0,true=0,R=0,equiv=0,U=0,W=0,M=0,xor=0" a b e d
- randltl -n 100 —tree-size=15..30 —ltl-priorities="ap=l,F=2,\
G=2,false=0,true=0,X=l,R=l,U=l,W=0,M=0,xor=0" a b e d
V
- randltl -n 100 —tree-size=15..30 —ltl-priorities="ap=l,\
false=0,true=0,W=0,M=0,xor=0" a b e d
We removed 10 formulae, out of the 300 generated ones, that were elementary
equivalent to true or false. The remaining formulae are divided into four classes
corresponding to the input L T L fragments of the considered tools: we have 97
formulae of L T L ( F , G), 29 formulae of L T L \ G U X not included i n L T L ( F , G),
1 formula of L T L \ G U not included i n L T L \ G U X , and 163 formulae not i n
L T L \ G U . Unfortunately, ltl2dstar combined with L T L - > N B A produces an
error message for one formula of L T L \ G U X and two formulae outside L T L \ G U .
These formulae were removed from the set. Further, there are 19 formulae (none
of them i n L T L \ G U ) , for which at least one tool does not finish before timeout.
These formulae are not included i n the cummulative results to make them
comparable, but we show the number of timeouts i n a separate line. To sum up,
Table 4 presents cummulative results for 97 formulae of L T L ( F , G), 28 formulae
of L T L \ G U X not included i n L T L ( F , G), and 142 formulae outside L T L \ G U
(plus the numbers of timeouts for another 19 formulae outside L T L \ G U ) . We do
not show the results on the single formula of L T L \ G U not included i n L T L \ G U X
due to their low statistical significance.
Table 5 contains a cross-comparison of the tools on the same formulae sets.
In this case, the formulae previously removed because of a timeout or a tool
failure are included.
Class Measure
l t ! 2 d s t a r
Rabinizer R a b i n . 2 L T L 3 D R AClass Measure
L T L - > N B A L T L 2 B A L T L 3 B A L T L 3 B A d Spot
Rabinizer R a b i n . 2 L T L 3 D R A
states 107 620 19 470 9914 6 008 13 940 5 1 1 741 618
edges 949 094 165 856 76 827 48 440 137 977 2 2 2 2 4 987 2 666
3 U." pairs 217 201 196 190 161 198 1 4 9 198
m i n i m a l 18 36 37 11 -11 5 4 26 44
time [s] 743.66 13.47 10.15 3.42 18.09 48.81 79.92 1 . 2 1
O o
m e m m a x 6 561.89 151.16 99.75 24.86 94.03 406.66 6 712.00 2 2 . 8 9
O o
m e m avg 95.72 8 . 9 0 19.51 18.77 89.27 205.10 632.62 19.23
go
states 1 183 6 670 6 375 1 509 633 — 4 5 1 512
go
edges 6 227 39 987 38 591 8 057 3 002 — 2 4 2 2 2 810
go pairs 66 68 69 54 4 8 — 71 70
S j m i n i m a l 9 11 13 15 17 — 11 1 8
oo h time [s] 15.86 1.11 1.49 0.76 5.01 — 40.34 0 . 5 0oo h
m e m m a x 107.75 45.83 41.53 1 9 . 5 8 94.17 — 33 224.44 34.59
0 m e m avg 39.80 9 . 2 3 19.63 18.87 89.72 — 1 761.70 20.07
states 173156 640 971 157 869 143 436 1 1 7 8 0 — — —
Q edges 1513 621 5 127962 1 103410 1 031 393 8 5 4 7 6 — — —
0
S J
pairs 523 625 499 438 3 5 4 — — —
2^ m i n i m a l 54 11 57 72 1 2 6 — — —
-1- ^ time [s] 421.79 384.54 76.33 70.38 1 6 . 8 0 — — —
~ o m e m m a x 1461.08 6 019.14 1 751.94 2 357.64 9 9 . 5 0 — — —
m e m avg 92.59 96.75 37.61 3 5 . 4 5 91.13 — — —
timeouts 8 17 6 2 1 — — —
Table 4. The cummulative results on random formulae. Semantics of the table is the
same as for Table 1. Moreover, the last line shows the number of timeouts of the tools
on additional 19 formulae outside L T L \ G U .
VI
4£ Tool
97 formulae of L T L ( F , G) 29 more of L T L \ G U X 163 more of L T L
rf 1 2 3 4 5 6 7 8 V 1 2 3 4 5 7 8 V 1 2 3 4 5 V
1 H L T L - > N B A — 13 10 6 2 10 35 17 93 - 4 5 4 1 6 6 26 — 79 43 38 16 176
2
cd
+J L T L 2 B A 44 — 5 4 9 12 41 22 137 14 — 3 2 0 12 6 37 38 - 13 22 7 80
3 L T L 3 B A 44 17 — 5 11 13 43 23 156 14 3 — 1 0 11 5 34 68 80 — 30 16 194
4 L T L 3 B A d 48 24 18 — 15 15 45 28 193 15 6 6 - 2 11 8 51 87 97 73 — 24 281
5 H Spot 52 31 26 16 — 19 46 32 222 18 8 9 7 - 15 8 65 106 115 99 74 — 3 9 4
6 Rabinizer 62 44 43 36 35 — 57 37 3 1 4 —
7 Rabinizer 2 42 23 19 20 19 2 — 26 151 17 10 10 6 7 — 5 55 —
8 L T L 3 D R A 58 43 40 33 35 13 47 — 269 17 11 12 10 9 14 — 7 3 —
Table 5. Cross-comparison of the considered tools on random formulae classes. The
table has a similar semantics to Table 2: each number says in how many cases the tool
in the corresponding row produces a better result than the tool in the corresponding
column. A n automaton is better than other if it has less states. Any automaton is
better than timeout or a tool failure. Timeouts and failures are seen as equivalent
results here.
4 Observations
For each pair of tools, there are some formulae in our benchmarks, for which one
tool produces strictly smaller automata than the other (see Table 5). Hence, no
tool is fully dominated by another.
A l l the results for LTL(F, G) fragment show that the Safraless tools (especially
Rabinizer and L T L 3 D R A ) usually perform better than ltl2dstar equipped with
any of the considered L T L to N B A translators. The best results for formulae
of L T L \ G U X not included in LTL(F, G) are typically achived by ltl2dstar
combined with Spot, and the Safraless tools Rabinizer 2 and L T L 3 D R A . For
formulae outside L T L \ G U , the current Safraless tools are not applicable. For
these formulae, by far the best results are produced by ltl2dstar combined
with Spot.
The results also provide information about particular tools or relations between
them. For example, one can immediately see that Rabinizer outperforms
Rabinizer 2 on LTL(F, G) formulae. This is explained by an experimental nature
of the current version of Rabinizer 2. In particular, the tool misses some
optimizations implemented in Rabinizer [20]. Further, one can observe that Rabinizer
performs significantly better than the other tools on random formulae of
LTL(F, G), while it is just comparable on real specification and parametric formulae
of LTL(F, G). We assume that this is due to the fact that Rabinizer builds
automata state-spaces according to semantics of L T L formulae rather than their
syntax. Thus it does not distinguish between equivalent subformulae which more
often appear in random formulae than in formulae written manually.
If we focus on usage of system resources, we observe that L T L 3 D R A is often
the fastest tool. The results also show that ltl2dstar in combination with
L T L 2 B A or L T L 3 B A has usually the lowest memory consumption.
During our experimentation we found out that ltl2dstar does not check
whether an intermediate Biichi automaton is already deterministic or not: it
VII
runs Safra's construction in all cases. Running Safra's construction only on nondeterministic
B A is profitable for two reasons:
1. Computation of Safra's construction is expensive.
2. Each deterministic B A can be directly converted into a D R A with one R a bin
pair without any change in the state space, while Safra's construction
typically produces a D R A larger than the intermediate deterministic B A .
For example, given the formula G(pi —> G-1P2), both Spot and L T L 3 B A d produce
a deterministic B A with two states (and a partial transition function). A l l
considered L T L to D R A translators output D R A with four states (and total
transition functions), Rabinizer 2 even yields a D R A with five states. Hence, the
automaton produced by Spot or L T L 3 B A d is smaller even after the addition of
one state to make its transition function total.
5 Conclusi ons
We conclude that the situation with L T L to D R A translation changed substantially
since 2005. The former leading combinations of ltl2dstar with L T L > N B A
or L T L 2 B A are now surpassed by Safraless tools (on relevant fragments) and
ltl2dstar with Spot. However, there is still a space for further improvements.
Acknowledgements. We would like to thank Alexandre DuretLutz for valuable
suggestions and comments on a draft of this paper.
References
1. T. Babiak, F . Blahoudek, M . Křetínský, and J. Strejček. Effective translation of
LTL to deterministic Rabin automata: Beyond the (F ,G)fragment. In ATVA '13,
volume 8172 of LN CS, pages 2439. Springer, 2013.
2. T. Babiak, M . Křetínský, V . Řehák, and J. Strejček. L T L to Biichi automata
translation: F ast and more deterministic. In TACAS'12, volume 7214 of LN CS,
pages 95109. Springer, 2012.
3. C. Baier and J.P. Katoen. Principles of Model Checking. M I T Press, 2008.
4. A . Church. Logic, arithmetic, and automata. In ICM'62, pages 2335. Institut
MittagLeffler, 1962.
5. C. Courcoubetis and M . Yannakakis. The complexity of probabilistic verification.
J. ACM, 42(4):857907, 1995.
6. A . DuretLutz. L T L translation improvements in Spot. In VECoS'll, Electronic
Workshops in Computing. British Computer Society, 2011.
7. A . DuretLutz. Manipulating L T L formulas using Spot 1.0. In ATVA'13, volume
8172 of LN CS, pages 451454. Springer, 2013.
8. M . B. Dwyer, G. S. Avrunin, and J. C. Corbett. Patterns in property specifications
for finitestate verification. In ICSE'99, pages 411420. IEEE, 1999.
9. C. F ritz. Constructing Biichi automata from linear temporal logic using simulation
relations for alternating Biichi automata. In CIAA '03, volume 2759 of LNCS, pages
3548. Springer, 2003.
V I I I
10. A . Gaiser, J. Kfetmsky, and J. Esparza. Rabinizer: Small deterministic automata
for LTL(F,G). In ATVA '12, volume 7561 of LNCS, pages 72-76, 2012.
11. P. Gastin and D. Oddoux. Fast L T L to Biichi Automata Translation. In CAV'01,
volume 2102 of LNCS, pages 53-65. Springer, 2001.
12. J. Geldenhuys and H . Hansen. Larger automata and less work for L T L model
checking. In SPIN'06, volume 3925 of LNCS, pages 53-70. Springer, 2006.
13. G . Holzmann. The Spin model checker: primer and reference manual. AddisonWesley
Professional, first edition, 2003.
14. J. Klein. Itl2dstar - L T L to deterministic Streett and Rabin automata,
http://www.Itl2dstar.de.
15. J. Klein. Linear time logic and deterministic omega-automata. Master's thesis,
University of Bonn, 2005.
16. J. Klein and C. Baier. Experiments with deterministic a>-automata for formulas of
linear temporal logic. Theor. Comput. Sci., 363(2):182-195, 2006.
17. J. Klein and C. Baier. On-the-fly stuttering in the construction of deterministic
w-automata. In CIAA'07, volume 4783 of LNCS, pages 51-61. Springer, 2007.
18. J. Kfetmsky and J. Esparza. Deterministic automata for the (F, G)-fragment of
LTL. In CAV'12, volume 7358 of LNCS, pages 7-22. Springer, 2012.
19. O. Kupferman. Recent challenges and ideas in temporal synthesis. In SOFSEM'12,
volume 7147 of LNCS, pages 88-98. Springer, 2012.
20. J. Kfetmsky. Personal communication, 2013.
21. J. Kfetmsky and R. L. Garza. Rabinizer 2: Small deterministic automata for
L T L \ G U . In ATVA'13, volume 8172 of LNCS, pages 446-450. Springer, 2013.
22. R. Pelanek. Beem: Benchmarks for explicit model checkers. In SPIN'07, volume
4595 of LNCS, pages 263-267. Springer, 2007.
23. N . Piterman. From nondeterministic Biichi and Streett automata to deterministic
parity automata. Logical Methods in Computer Science, 3(3), 2007.
24. A . Pnueli and R. Rosner. On the synthesis of an asynchronous reactive module.
In ICALP'89, volume 372 of LNCS, pages 652-671. Springer, 1989.
25. K . Y. Rozier and M . Y. Vardi. L T L Satisfiability Checking. In SPIN'07, volume
4595 of LNCS, pages 149-167. Springer, 2007.
26. S. Safra. On the complexity of omega-automata. In FOCS'88, pages 319-327.
IEEE Computer Society, 1988.
27. S. Schewe. Tighter bounds for the determinisation of Biichi automata. In FOSSACS'09,
volume 5504 of LNCS, pages 167-181. Springer, 2009.
28. H . Tauriainen and K. Heljanko. Testing L T L formula translation into Biichi automata.
International Journal on Software Tools for Technology Transfer (STTT),
4(l):57-70, 2002.
29. M . Y. Vardi. Automatic verification of probabilistic concurrent finite-state programs.
In FOCS'85, pages 327-338. I E E E Computer Society, 1985.
I X