<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Checking MTL Properties of Discrete Timed Automata via Bounded Model Checking?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Extended Abstract</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>National Science</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>IMCS, Jan Dlugosz University. Al. Armii Krajowej 13/15</institution>
          ,
          <addr-line>42-200 Czestochowa</addr-line>
          ,
          <country country="PL">Poland</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2011</year>
      </pub-date>
      <fpage>469</fpage>
      <lpage>477</lpage>
      <abstract>
        <p>We investigate a SAT-based bounded model checking (BMC) method for MTL (metric temporal logic) that is interpreted over linear discrete in nite time models generated by discrete timed automata. In particular, we translate the existential model checking problem for MTL to the existential model checking problem for a variant of linear temporal logic (called HLTL), and we provide a SAT-based BMC technique for HLTL. We show how to implement the BMC technique for HLTL and discrete timed automata, and as a case study we apply the technique in the analysis of TGPP, a Timed Generic Pipeline Paradigm modelled by a network of discrete timed automata.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Introduction
Nowadays the interest in model checking [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] is focused not only on standard
concurrent systems, but also on soft real-time systems, i.e., systems the goal
of which is to ensure a certain subset of deadlines in order to optimize some
application speci c criteria. A number of formalisms, which use a discrete time
domain, have been proposed in the literature to model the behaviour of these
systems, e.g. discrete timed automata [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] and discrete timed Petri nets [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. To
express the requirements of the systems mostly standard temporal logics are
used: computation tree logic (CTL) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], the soft real-time CTL (RTCTL) [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ],
linear temporal logic (LTL) [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], and metric temporal logic (MTL) [
        <xref ref-type="bibr" rid="ref10 ref14 ref8">8, 10, 14</xref>
        ].
      </p>
      <p>
        Bounded model checking (BMC) [
        <xref ref-type="bibr" rid="ref11 ref12 ref3">3, 11, 12</xref>
        ] is a symbolic veri cation method
that uses only a portion of the considered model that is truncated up to some
speci c depth. It exploits the observation that we can infer some properties
of the model using only its fragments. This approach can be combined with
symbolic techniques based on decision diagrams or with techniques which involve
translation of the veri cation problem either to the boolean satis ability problem
(SAT) or to the satis ability modulo theories (SMT) problem.
      </p>
      <p>The original contributions of the paper are as follows. First, we de ne a
SAT-based BMC for soft real-time systems, which are modelled by discrete
grant</p>
      <p>
        No.
timed automata, and for properties expressible in MTL. Next, we report on
the implementation of the proposed BMC method as a new module of VerICS
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Finally, we evaluate the BMC method experimentally by means of a timed
generic pipeline paradigm (TGPP), which we model by a network of discrete
timed automata.
      </p>
      <p>The rest of the paper is structured as follows. In Section 2 we brief the
basic notion used through the paper. In Section 3 we de ne the BMC method
for HLTL. In Section 4 we discuss our experimental results. In Section 5 we
conclude the paper.
2</p>
      <p>
        Preliminaries
We assume familiarity with the notion of discrete timed automaton (DTA) and
their semantics in terms of the Kripke structure (called model). We refer the
reader to the body of the paper [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] for details; note that a discrete timed
automaton is basically a timed automaton with the restriction that clocks are
positive integer variables. Further, we assume the following syntax of MTL. Let
p 2 PV, and I be an interval in N = f0; 1; 2; : : :g of the form: [a; b) or [a; 1), for
a; b 2 N and a 6= b; note that the remaining forms of intervals can be de ned by
means of [a; b) and [a; 1). The MTL formulae in the negation normal form are
de ned by the following grammar:
:= &gt; j ? j p j :p j
^
j
_
j
      </p>
      <p>UI j</p>
      <p>
        RI
We refer the reader to the body of the paper [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] for the semantics of MTL; note
that to get the discrete time semantics for MTL from the dense time semantics
for MITL, in all the de nitions presented in [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] at page 5, it is enough to replace
the set of positive real numbers with the set of positive integer numbers, and to
drop the assumption about single intervals.
      </p>
      <p>Determining whether an MTL formula ' is existentially (resp. universally)
valid in a given model is called an existential (resp. universal ) model checking
problem.</p>
      <p>
        In order to de ne a SAT-based BMC method for MTL, we rst translate the
existential model checking problem for MTL that is interpreted over the region
graph (i.e., a standard nite model de ned for (discrete) timed automata) to the
existential model checking problem for HLTL that is also interpreted over the
region graph. For the details on this translation and the semantics of the HLTL
language we refer the reader to [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]; note that the single intervals do not a ect
this translation. Here we only provide the syntax of HLTL and the translation
scheme.
      </p>
      <p>Let ' be an MTL formula, n the number of intervals in ', p 2 PV a
propositional variables, and h = 0; : : : ; n 1. The HLTL formulae in release positive
normal form are given by the following grammar:
:=&gt; j ? j p j :p j
^
j
_</p>
      <p>j Hh j U j R
where the symbols U and R denote the until and release modalities, respectively.
The indexed symbol Hh denotes the reset modality representing the reset of
the clock number h. In addition, we introduce some useful derived temporal
modalities: G d=ef ?R (always), F d=ef &gt;U (eventually ).</p>
      <p>Let ' be a MTL formula. We translate the formula ' inductively into the
HLTL formula H(') in the following way:</p>
      <p>H(&gt;) = &gt;, H(?) = ?, H(p) = p, H(:p) = :p, for p 2 PV,
H( _ ) = H( ) _ H( ), H( ^ ) = H( ) ^ H( ),
H( UIh ) = Hh(H( )U(H( ) ^ pyh2Ih ^ (pnf _ H( )))),</p>
      <p>H( RIh )) = Hh(H( )R(:pyh2Ih _ H( ))).</p>
      <p>Observe that the translation of literals as well as logical connectives is
straightforward. The translation of the UIh operator ensures that: (1) the translation of
holds in the interval I { this is expressed by the requirement H( ) ^ pyh2Ih ;
(2) the translation of holds always before the translation of ; and (3) if the
value of the clock yh belong to the nal zone, i.e. the values of all the clocks are
bigger then some maximal value (in this case the proposition pnf is not true),
then the translation of H( ) is taken into account as well. The translation of the
RIh operator makes use of the fact RIh = UIh ^ _ GIh .</p>
      <p>This translation preserves the existential model checking problem, i.e., the
existential model checking of an MTL formula ' over the discrete model can be
reduced to the existential model checking of H(') over the region graph.</p>
      <p>
        The next step in de ning a SAT-based BMC method for MTL relies on
introducing a discretisation scheme for the region graph (de ned for a given discrete
timed automaton) that will represent zones (i.e. sets of equivalent clock
valuations) of the region graph by exactly one specially chosen representative, and
proving that a discretised model based on this scheme preserves the validity of
the HLTL formulae - the discretised model constitutes the base for an
implementation of our BMC method. We do not report on this step here in detail,
since it requires introducing the huge mathematical machinery, but in fact it
can be done in a way similar to the one presented in [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. However, this will be
provided in the full version of the paper.
      </p>
      <p>The nal step in de ning a SAT-based BMC method for MTL relies on
de ning the BMC method for HLTL. This is described in the next section.
3</p>
      <p>Bounded model checking for HLTL
Bounded semantics of a logic in question with existential interpretation is always
used as the theoretical basis for the SAT-based bounded model checking. In
the paper we have decided not to provide this semantics and not to show its
equivalence to the unbounded semantics. This will be presented in the full version
of the paper. Here, we only focus on the core of the BMC method, i.e. on the
translation to SAT.</p>
      <p>
        Let A be a discrete timed automaton, ' an MTL formula, = H(') the
corresponding HLTL formula, M a discretized model for A' (this an extension
of A { for the exact construction we refer to [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]), and k 0 a bound. We propose
a BMC method for HLTL, which is based on the BMC technique presented in
[
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. More precisely, we construct a propositional formula
[M; ]k := [M
; ]k ^ [ ]M;k
(1)
that is satis able if and only if the underlying model M is a genuine model for
. The constructed Formula (1) is given to a satis ability solving program (a
SAT-solver), and if a satisfying assignment is found, that assignment is a witness
for the checked property. If a witness cannot be found at a given depth, k, then
the search is continued for larger k.
      </p>
      <p>The de nition of the formula [M; ]k requires, among other, states of the
model M to be encoded in a symbolic way. This encoding is possible, since
the set of states of M is nite. In particular, we represent each state s by
a vector w = (w1; : : : ; wr) (called a symbolic state) of propositional variables
(called state variables ), whose length r depends on the number of locations
and clocks in A'. Further, we need to represent nite pre xes of paths in a
symbolic way. We call this representation a j-th symbolic k-path j and de ne
it as a pair ((w0;j ; : : : ; wk;j ); uj ), where wi;j are symbolic states for 0 j &lt;
fk( ) and 0 i k, and uj is a symbolic number for 0 j &lt; fk( ). The
symbolic number uj is a vector uj = (u1;j ; : : : ; ut;j ) of propositional variables
(called natural variables ), whose length t equals to max(1; dlog2(k + 1)e), and it
is used to encode the looping conditions. Next, we need an auxiliary function fbk :
HLTL ! N that gives a bound on the number of k-paths su cient for validating
a given HLTL formula. The function is de ned as fbk( ) = fk( ) + 1, where
fk(&gt;) = fk(?) = fk(p) = fk(:p) = 0 for p 2 PV; fk( ^ ) = fk( ) + fk( );
fk( _ ) = maxffk( ); fk( )g; fk(Hh ) = fk( )+1; fk( U ) = k fk( )+fk( );
fk( R ) = (k + 1) fk( ) + fk( ).</p>
      <p>The formula [M ; ]k { the 1st conjunct of Formula (1) { encodes fbk( )-times
unrolled transition relation, and it is de ned in the following way:
[M</p>
      <p>fck(')
; ]k := I (w0;0)^ _</p>
      <p>fbk( ) k 1
H(w0;0; w0;j )^ ^ ^</p>
      <p>T (wi;j ; wi+1;j )^
j=1
j=1 i=0
fbk( ) k
^ _ Bl=(uj )
j=0 l=0
(2)
where wi;j are symbolic states, uj is a symbolic number, I (w0;0) and Bl=(uj ) are
formulae encoding the initial state, and the value l, respectively. H(w; w0) is a
formula that encodes equality of two global states. The formula T (wi;j ; wi+1;j ) is
disjunction of three formulas: T (wi;j ; wi+1;j ), T A(wi;j ; wi+1;j ), and A(wi;j ; wi+1;j )
that encode respectively the time, time-action, and action successors of M.</p>
      <p>
        The formula [ ]M;k := [ ][0;1;Fk( )] { the 2nd conjunct of Formula (1) {
enk
codes the translation of a HLTL formula along a k-path, whose number belongs
to the set Fk( ) = fj 2 N j 1 j fbk( )g. The main idea of this translation
consists in translating every subformula of using only fk( ) k-paths. More
precisely, given a formula and a set Fk( ) of indices of k-paths, following [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ],
we divide the set Fk( ) into subsets needed for translating the subformulae of
. We assume that the reader is familiar with this division process, and here
we only recall de nitions of the functions we use in the de nition of the formula
[ ][k0;1;Fk( )].
      </p>
      <p>First, we recall the relation that is de ned on the power set of N as: A B
i for all natural numbers x and y, if x 2 A and y 2 B, then x &lt; y. Now, let
A N be a nite nonempty set, and n; d 2 N, where d jAj. Then,
gl(A; d) denotes the subset B of A such that jBj = d and B A n B.
gr(A; d) denotes the subset C of A such that jCj = d and A n C C.
gs(A) denotes the set A n fmin(A)g.
if n divides jAj d, then hp(A; d; n) denotes the sequence (B0; : : : ; Bn) of
subsets of A such that Sjn=0 Bj = A, jB0j = : : : = jBn 1j, jBnj = d, and
Bi Bj for every 0 i &lt; j n.</p>
      <p>
        Now let hU(A; d) d=f hp(A; d; k) and hkR(A; d) d=f hp(A; d; k + 1). Note that if
k
hkU(A; d) = (B0; : : : ; Bk), then hkU(A; d)(j) denotes the set Bj, for every 0 j
k. Similarly, if hkR(A; d) = (B0; : : : ; Bk+1), then hR(A; d)(j) denotes the set Bj,
k
for every 0 j k + 1. Further, the function gs is used in the translation of
subformulae of the form Hh , if a set A is used to translate this formula, then
the path of the number min(A) is used to translate the operator Hh and the set
gs(A) is used to translate the subformula . For more details on the remaining
functions we refer to [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
      </p>
      <p>Now we are ready to de ne the formula [ ][k0;1;Fk( )]. Let
be a HLTL
formula, and k 0 a bound. We can de ne inductively the translation [ ][km;n;A]
of along the n-th symbolic k path n (n 2 Fk( )) with starting point m
by using the set A as shown below. Let cl(wm;n; h) denote the fragment of the
symbolic state wm;n that encodes the h-th clock from the set Y, n0 = min(A),
hkU = hkU(gs(A); fk( )), and hkR = hkR(gs(A); fk( )). Then,
[&gt;][km;n;A] := &gt;, [?][km;n;A] := ? [m;n;A] := p(wm;n), [:p][km;n;A] := :p(wm;n),
[ ^ ][km;n;A] := [ ][km;n;gl(A,;f[pk(]k ))] ^ [ ][km;n;gr(A;fk( ))],
[ _ ][km;n;A] := [ ][km;n;gl(A;fk( ))] _ [ ][km;n;gl(A;fk( ))],
[Hh( U )][km;n;A] := Vjm=01 H(wj;n; wj;n0 ) ^ Hh=0(wm;n; wm;n0 )^ Vjk=m+1 H6=h
[Hh( R )][km;n; A] := Vjm=01 H(wj;n; wj;n0 ) ^ Hh=0(wm;n; wm;n0 ) ^ Vk
j=m+1 H6=h
(wj;n; wj;n0 ) ^ Wjk=m([ ][kj;n0;hkR(k+1)] ^ Vij=m[ ][ki;n0;hkR(i)])
(wj;n; wj;n0 ) ^ Wjk=m([ ][kj;n0;hkU(k)]^ Vij= m1[ ][ki;n0;hkU(i)]) _
Vjk=m+1 H6=h(wj;n; wj;n0 ) ^ Hh=0(wm;n; wm;n0 )^</p>
      <p>Wm 1</p>
      <p>l=0 (Llk( n0 ) ^ Vlj=10 H(wj;n; wj;n0 ) ^ H(wl;n0 ; wk;n0 )^
Vjm=l +11 H6=h(wj;n; wj;n0 )) ^ Wjm=01(Bj&gt;(un0 ) ^ [ ][kj;n0;hkU(k)]
^ Vij=0 (Bi&gt;(un0 ) ! [ ][ki;n0;hkU(i)])) ^ Vik=m[ ][ki;n0;hkU(i)],</p>
      <p>1
_ Vjk=m+1 H6=h(wj;n; wj;n0 ) ^ Hh=0(wm;n; wm;n0 )^</p>
      <p>Wm 1</p>
      <p>l=0 (Llk( n0 ) ^ Vlj=10 H(wj;n; wj;n0 ) ^ H(wl;n0 ; wk;n0 )^
Vjm=l+1 H6=h(wj;n; wj;n0 )) ^
1</p>
      <p>Wjm=0(Bj&gt;(u0n) ^ [ ][kj;n0;hkR(k+1)]
H6=h(wj;n; wj;n0 ) ^ Vjk=m[ ][kj;n0;hkR(j)]^ Bright(h)(cl(wk;n0 ; h))
_Bright(h)(cl(wk;n0 ; h)) ^ Vjm=01 H(wj;n; wj;n0 ) ^ Hh=0</p>
      <p>&gt;
(wm;n; wm;n0 ) ^ Vk j=m[ ][kj;n0;hkR(j)]</p>
      <p>j=m+1 H6=h(wj;n; wj;n0 ) ^ Vk
^(Wlk=m1 (Llk( n0 ))_ Bright(h)(cl(wk;n0 ; h)) ^ Hh=0(wm;n; wm;n0 )</p>
      <p>&gt;
^WVmjk= m1+1 H6=h(wj;n; wj;n0 ) ^ Vjk=m[ ][kj;n0;hkR(j)]^</p>
      <p>l=0 (Llk( n0 ) ^ Vlj=10 H(wj;n; wj;n0 ) ^ H(wl;n0 ; wk;n0 )^
Vm 1 j=l +11[ ][j;n0;hkR(j)]) .</p>
      <p>j=l+1 H6=h(wj;n; wj;n0 ) ^ Vm k
where p(w) is a formula that encodes a set of states of M in which p 2 PV holds;
H(w; w0) is a formula that encodes equality of two global states; Hh=0(w; w0) is
a formula that for two global states encodes the equality of their locations, the
equality of values of the original clocks (i.e., clocks from X), and the equality
of values of the new clocks (i.e., clocks from Y) but the value of clock yh. For
clock yh the formula guarantees that its value in the 2nd global state is equal
to zero; H6=h(w; w0) is a formula that for two global states encodes the equality
of their locations, the equality of values of the original clocks, and the equality
of the values of the new clocks with the potential exception of clock yh. For
clock yh the formula guarantees that its value in the 2nd global state is greater
than zero; HX(w; w0) is a formula that encodes equality of two global states on
locations and values of the original clocks; Bjs(v) is a formula that encodes that
the value represented by the vector of propositional variables v is in arithmetic
relation s with the value j, where s 2 f&lt;; 6; =; &gt;; &gt;g; Llk( j ) := Bk&gt;(uj ) ^
HX(wk;j ; wl;j ).</p>
      <p>The following theorem, whose proof will be provided in the full version of the
paper, guarantees that the bounded model checking problem can be reduced to
the SAT-problem.</p>
      <p>Theorem 1. Let M be a discrete abstract model, and a HLTL formula. Then
for every k 2 N, is existentially valid in M with the bound k if, and only if,
the propositional formula [M; ]k is satis able.
4</p>
      <p>
        Experimental results
Our SAT-based BMC method for MTL, interpreted over the discrete time
models, and discrete timed automata is, to our best knowledge, the rst one formally
presented in the literature, and moreover there is no any other model checking
technique for the considered MTL language. Further, our implementation of the
presented BMC method uses Reduced Boolean Circuits (RBC) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] to represent
the propositional formula [M; ]k. An RBC represents subformulae of [M; ]k
by fresh propositions such that each two identical subformulae correspond to the
same proposition.
      </p>
      <p>For the tests we have used a computer with Intel Core i3-2125 processor,
8 GB of RAM, and running Linux 2.6. We set the time limit to 900 seconds, and
memory limit to 8GB, and we used the state of the art SAT-solver MiniSat 2.
The speci cations for the described benchmark are given in the universal form,
for which we verify the corresponding counterexample formula, i.e., the formula
which is negated and interpreted existentially.</p>
      <p>To evaluate the performance of our SAT-based BMC algorithms for the
veri cation of several properties expressed in MTL, we have analysed a Timed
Generic Pipeline Paradigm (TGPP) discrete timed automata model shown in
Figure 1. It consists of Producer producing data (P rodReady) or being inactive,
Consumer receiving data (ConsReady) or being inactive, and a chain of n
intermediate Nodes which can be ready for receiving data (N odeiReady), processing
data (N odeiP roc), or sending data (N odeiSend). The example can be scaled
by adding intermediate nodes or by changing the length of intervals (i.e., the
parameters a, b, c, d, e, f , g, h) that are used to adjust the time properties of
Producer, Consumer, and of the intermediate Nodes.
start
Produce
x0 ≥ a
x1 := 0</p>
      <p>ProdReady
x0 ≤ b
Send1
x0 := 0
ProdSend
start</p>
      <p>Send1
x1 ≥ c
x1 := 0
Proc1
x1 ≥ e
x2 := 0</p>
      <p>Node1Ready
x1 ≤ d
Node1Proc
x1 ≤ f
Node1Send
· · · start</p>
      <p>Sendn
xn ≥ c
xn := 0
Send2
x1 := 0</p>
      <p>Procn
xnx+n1≥:=e0</p>
      <p>NodenReady
xn ≤ d
NodenProc
xn ≤ f
NodenSend
start</p>
      <p>Sendn+1
Sendn+1 xn+1 ≥ c
xn := 0 xn+1 := 0</p>
      <p>ConsReady
xn+1 ≤ d</p>
      <p>out
xn+1 ≥ g
xn+1 := 0
ConsFree
xn+1 ≤ h
We have tested the TGPP discrete timed automata model, scaled in the
number of intermediate nodes and with all the intervals set to [1; 3], on the
following MTL formulae:
'1 = G[0;1)(P rodSend ) F[2n+1;2n+2)ConsF ree), where n is the number of
nodes. It expresses that each time Producer produces data, then Consumer
receives this data in 2n + 1 time units.
'2 = G[0;1)(P rodSend ) F[2n+1;2n+2)(ConsF ree ^ F[1;2)ConsReady)), where
n is the number of nodes. It expresses that each time Producer produces
data, then Consumer receives this data in 2n + 1 time units and one unit
after that it will be ready to receive another data.</p>
      <p>Since there is no model checker that supports the MTL properties of systems
modelled by discrete timed automata, we were not able to compare results of
the application of our method to a TGPP system with others.</p>
      <p>We provide a preliminary evaluation of our method by means of the running
time and the consumed memory. We have observed that for both formulae '1 and
'2, we managed to compute the results for 5 nodes in the time of 900 seconds.
The exact data for the mentioned maximal number of nodes are the following:
'1: k = 20, fk('1) = 3, bmcT is 6.50, bmcM is 19.54, satT is 25.24, satM is
43.00, bmcT+satT is 31.74, max(bmcM,satM) is 43.00;
'2: k = 20, fk('2) = 24, bmcT is 89.96, bmcM is 163.40, satT is 610.23, satM
is 310.00, bmcT+satT is 700.19, max(bmcM,satM) is 310.00;
where k is the bound, fk(') is the number of symbolic k-paths, bmcT is the
encoding time, bmcM is memory use for encoding, satT is the satis ability checking
time, satM is memory use for the satis ability checking.</p>
      <p>The preliminary results are very promising and indicate that the method is
worthy of further investigation for which purpose especially designed benchmarks
will be developed.
5</p>
      <p>Conclusions
We have introduced a SAT-based approach to bounded model checking of
discrete timed automata and properties expressed in MTL with discrete semantics.
The method is based on a translation of the existential model checking for MTL
to the existential model checking for HLTL, and then on the translation of the
existential model checking for HLTL to the propositional satis ability problem.
The two translations have been implemented and tested on the benchmark,
which has been carefully selected in such a way as to reveal the advantages and
disadvantages of the presented approaches.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>P. A.</given-names>
            <surname>Abdulla</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Bjesse</surname>
          </string-name>
          , and
          <string-name>
            <given-names>N.</given-names>
            <surname>Een</surname>
          </string-name>
          .
          <article-title>Symbolic reachability analysis based on SATsolvers</article-title>
          .
          <source>In Proceedings of the 6th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS'00)</source>
          , volume
          <volume>1785</volume>
          <source>of LNCS</source>
          , pages
          <volume>411</volume>
          {
          <fpage>425</fpage>
          . Springer-Verlag,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>R.</given-names>
            <surname>Alur</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Dill</surname>
          </string-name>
          .
          <article-title>A theory of Timed Automata</article-title>
          .
          <source>Theoretical Computer Science</source>
          ,
          <volume>126</volume>
          (
          <issue>2</issue>
          ):
          <volume>183</volume>
          {
          <fpage>235</fpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>A.</given-names>
            <surname>Biere</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Cimatti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Clarke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Strichman</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhu</surname>
          </string-name>
          .
          <article-title>Bounded model checking</article-title>
          .
          <source>In Highly Dependable Software</source>
          , volume
          <volume>58</volume>
          of Advances in Computers, pages
          <volume>118</volume>
          {
          <fpage>149</fpage>
          . Academic Press,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>E. M.</given-names>
            <surname>Clarke</surname>
          </string-name>
          and
          <string-name>
            <given-names>E. A.</given-names>
            <surname>Emerson</surname>
          </string-name>
          .
          <article-title>Design and synthesis of synchronization skeletons using Branching Time Temporal Logic</article-title>
          .
          <source>In Proceedings of the Workshop on Logics of Programs</source>
          , volume
          <volume>131</volume>
          <source>of LNCS</source>
          , pages
          <volume>52</volume>
          {
          <fpage>71</fpage>
          . Springer,
          <year>1981</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>E. M.</given-names>
            <surname>Clarke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Grumberg</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D. A. Peled. Model</given-names>
            <surname>Checking</surname>
          </string-name>
          . The MIT Press, Cambridge, Massachusetts,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>E. A.</given-names>
            <surname>Emerson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.K.</given-names>
            <surname>Mok</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. P.</given-names>
            <surname>Sistla</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Srinivasan</surname>
          </string-name>
          .
          <article-title>Quantitative temporal reasoning</article-title>
          .
          <source>Real-Time Systems</source>
          ,
          <volume>4</volume>
          (
          <issue>4</issue>
          ):
          <volume>331</volume>
          {
          <fpage>352</fpage>
          ,
          <year>December 1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>M.</given-names>
            <surname>Felder</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Mandrioli</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Morzenti</surname>
          </string-name>
          .
          <article-title>Proving Properties of Real-Time Systems Through Logical Speci cations and Petri Net Models</article-title>
          .
          <source>IEEE Transaction on Software Engineering</source>
          ,
          <volume>20</volume>
          (
          <issue>2</issue>
          ):
          <volume>127</volume>
          {
          <fpage>141</fpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>C. A.</given-names>
            <surname>Furia</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Spoletini</surname>
          </string-name>
          .
          <article-title>Tomorrow and all our yesterdays: MTL satis ability over the integers</article-title>
          .
          <source>In Proceedings of the Theoretical Aspects of Computing - ICTAC</source>
          <year>2008</year>
          , volume
          <volume>5160</volume>
          <source>of LNCS</source>
          , pages
          <volume>253</volume>
          {
          <fpage>264</fpage>
          . Springer-Verlag,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>M.</given-names>
            <surname>Kacprzak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Nabialek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Niewiadomski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Penczek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Polrola</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Szreter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Wozna</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Zbrzezny</surname>
          </string-name>
          .
          <article-title>VerICS 2007 - a model checker for knowledge and real-time</article-title>
          .
          <source>Fundamenta Informaticae</source>
          ,
          <volume>85</volume>
          (
          <issue>1-4</issue>
          ):
          <volume>313</volume>
          {
          <fpage>328</fpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>R.</given-names>
            <surname>Koymans</surname>
          </string-name>
          .
          <article-title>Specifying real-time properties with metric temporal logic</article-title>
          .
          <source>Real-Time Systems</source>
          ,
          <volume>2</volume>
          (
          <issue>4</issue>
          ):
          <volume>255</volume>
          {
          <fpage>299</fpage>
          ,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>A.</given-names>
            <surname>Lomuscio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Penczek</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Wozna</surname>
          </string-name>
          .
          <article-title>Bounded model checking for knowledge and real time</article-title>
          .
          <source>Arti cial Intelligence</source>
          ,
          <volume>171</volume>
          :
          <fpage>1011</fpage>
          {
          <fpage>1038</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>W.</given-names>
            <surname>Penczek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Wozna</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Zbrzezny</surname>
          </string-name>
          .
          <article-title>Bounded model checking for the universal fragment of CTL</article-title>
          .
          <source>Fundamenta Informaticae</source>
          ,
          <volume>51</volume>
          (
          <issue>1-2</issue>
          ):
          <volume>135</volume>
          {
          <fpage>156</fpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>A.</given-names>
            <surname>Pnueli</surname>
          </string-name>
          .
          <article-title>The Temporal Logic of Programs</article-title>
          .
          <source>In Proceedings of the 18th IEEE International Symposium on Foundations of Computer Science (FOCS'77)</source>
          , pages
          <fpage>46</fpage>
          {
          <fpage>57</fpage>
          . IEEE Computer Society Presss,
          <year>1977</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>M. Pradella</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Morzenti</surname>
          </string-name>
          , and P. San Pietro.
          <article-title>A metric encoding for bounded model checking</article-title>
          .
          <source>In Proceedings of the 2nd World Congress on Formal Methods (FM</source>
          <year>2009</year>
          ), volume
          <volume>5850</volume>
          <source>of LNCS</source>
          , pages
          <volume>741</volume>
          {
          <fpage>756</fpage>
          . Springer-Verlag,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15. B.
          <string-name>
            <surname>Wozna-Szczesniak</surname>
            and
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Zbrzezny</surname>
          </string-name>
          .
          <article-title>A translation of the existential model checking problem from MITL to HLTL</article-title>
          . Fundamenta Informaticae,
          <volume>122</volume>
          (
          <issue>4</issue>
          ):
          <volume>401</volume>
          {
          <fpage>420</fpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>A.</given-names>
            <surname>Zbrzezny</surname>
          </string-name>
          .
          <article-title>A new discretization for timed automata</article-title>
          .
          <source>In Proceedings of the International Workshop on Concurrency, Speci cation and Programming (CS&amp;P'04)</source>
          , volume
          <volume>170</volume>
          of Informatik-Berichte, pages
          <volume>178</volume>
          {
          <fpage>189</fpage>
          . Humboldt University,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>A.</given-names>
            <surname>Zbrzezny</surname>
          </string-name>
          .
          <article-title>A new translation from ECTL to SAT</article-title>
          . Fundamenta Informaticae,
          <volume>120</volume>
          (
          <issue>3</issue>
          {4):
          <volume>377</volume>
          {
          <fpage>397</fpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>