<!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>Simple Bounded MTL Model Checking for Discrete Timed Automata (Extended abstract) ?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Agnieszka M. Zbrzezny</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andrzej Zbrzezny</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>IMCS, Jan Długosz University. Al. Armii Krajowej 13/15</institution>
          ,
          <addr-line>42-200 Cze ̧stochowa</addr-line>
          ,
          <country country="PL">Poland</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>We present a new translation of Metric Temporal Logic to the Linear Temporal Logic with a new set of the atomic propositions. We investigate a SAT-based bounded model checking method for Metric Temporal Logic that is interpreted over linear discrete infinite time models generated by discrete timed automata. We show how to implement the bounded model checking technique for Linear Temporal Logic with a new set of the atomic propositions and discrete timed automata, and as a case study we apply the technique in the analysis of the Timed Generic Pipeline Paradigm modelled by a network of discrete timed automata. We also present a comparison of the two translations of Metric Temporal Logic on common instances that can be scaled up to for performance evaluation. The theoretical description is supported by the experimental results that demonstrate the efficiency of the method.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Bounded model checking [
        <xref ref-type="bibr" rid="ref2 ref3 ref5">2, 3, 5</xref>
        ] (BMC) is one of the symbolic model checking
technique designed for finding witnesses for existential properties or counterexamples for
universal properties. Its main idea is to consider a model reduced to a specific depth.
The method works by mapping a bounded model checking problem to the satisfiability
problem (SAT). For metric temporal logic (MTL) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and discrete time automata [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]
the BMC method can by described as follows: given a model M for a discrete timed
automaton , an MTL formula ', and a bound k, a model checker creates a propositional
formula [M; ']k that is satisfiable if and only if the formula ' is true in the model M.
      </p>
      <p>The novelty of our paper lies in :
1. defining a translation of the existential model checking problem for MTL to the
existential model checking problem for linear temporal logic with additional
propositional variables qI . This logic is denoted by LTLq ;
2. defining bounded sematics for LTLq and defining the BMC algorithm;
3. implementing the new method.</p>
      <p>
        The translation from MTL to LTLq requires neither new clocks nor new transitions,
whereas the translation to HLTL [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] requires as many new clocks as there are
intervals in a given formula. It also requires an exponential number of resetting transitions.
Moreover, our BMC method needs only one path, whereas the BMC method from [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]
needs a number of paths depending on a given formula '. Thus, one may expect that
our method is much more effective since intuition is that an encoding which results in
fewer variables and clauses is usually easier to solve.
      </p>
      <p>
        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
and compare with the corresponding method [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>The rest of the paper is structured as follows. In Section 2 we briefly recall the basic
notion used through the paper. In Section 3 we define the translation to LTLq. In
Section 4 we define the BMC method for LTLq. In Section 5 we discuss our experimental
results. In Section 6 we conclude the paper.
2
2.1</p>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries</title>
      <sec id="sec-2-1">
        <title>Discrete Timed Automata</title>
        <p>Let IN be a set of natural numbers. We assume a finite set X = fx0; : : : ; xn 1g of
variables, called clocks. Each clock is a variable ranging over a set of non-negative
natural numbers.</p>
        <p>A clock valuation is a total function v : X 7! IN that assigns to each clock x a
non-negative integer value v(x). The set of all the clock valuations is denoted by INn.
For X X, the valuation v0 = v[X := 0] is defined as: 8x 2 X, v0(x) = 0 and
8x 2 X n X, v0(x) = v(x). For 2 IN, v + denotes the valuation v00 such that
8x 2 X; v00(x) = v(x) + . Let x 2 X, c 2 IN, and 2 f&lt;; 6; =; &gt;; &gt;g. The set C(X)
of clock constraints over the set of clocks X is defined by the following grammar:
cc := x</p>
        <p>c j cc ^ cc.</p>
        <p>Let v be a clock valuation, and cc 2 C(X). A clock valuation v satisfies a clock
constraint cc, written as v j= cc, iff cc evaluates to true using the clock values given by the
valuation v.</p>
        <p>Definition 1. A discrete timed automaton A is a tuple (Act; Loc; `0; T; X; Inv; AP ; V ),
where Act is a finite set of actions, Loc is a finite set of locations, `0 2 Loc is an initial
location, T Loc Act C(X) 2X Loc is a transition relation, X is a finite
set of clocks, Inv : Loc 7! C(X) is a state invariant function, AP is a set of atomic
proposition, and V : Loc 7! 2AP is a valuation function assigning to each location
a set of atomic propositions true in this location.</p>
        <p>Each element t 2 T is denoted by ` ;c!c;X `0, and it represents a transition from
location ` to location `0 on the input action . X X is the set of the clocks to be reset
with this transition, and cc 2 C(X) is the enabling condition for t.</p>
        <p>The semantics of the discrete timed automaton is defined by associating a transition
system with it, which we call a concrete model.</p>
        <p>Definition 2. Let A = (Act; Loc; `0; T; X; Inv; AP ; V ) be a discrete timed
automaton, and v0 a clock valuation such that 8x 2 X, v0(x) = 0. A concrete model for A is
a tuple MA = (Q; q0; !; V), where Q = Loc INn is a set of the concrete states,
q0 = (`0; v0) is the initial state, ! Q Q is a total binary relation on Q defined by
action and time transitions as follows. For 2 Act and 2 IN,
1. Action transition: (`; v) ! (`0; v0) iff there is a transition `</p>
        <p>that v j= cc ^ Inv(`) and v0 = v[X := 0] and v0 j= Inv(`0),
2. Time transition: (`; v)
! (`; v + ) iff v j= Inv(`) and v +
j= Inv(`).
;cc;X `0 2 T such
!
V : Q 7! 2AP is a valuation function such that V((`; v)) = V (`) for all (`; v) 2 Q.
A run of A is an infinite sequence of concrete states: q0 0!;0 q1 1!;1 q2 2!;2 : : : such
that qi 2 Q, i 2 Act, and i 2 IN+ for each i 2 IN. Notice that our runs are strongly
monotonic. This is because the definition of the run does not permit two consecutive
actions to be performed one after the other, i.e., between each two actions some time
must pass.
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Metric Temporal Logic (MTL)</title>
        <p>Let p 2 AP , and I be an interval in IN of the form: [a; b) or [a; 1), for a; b 2 IN and
a 6= b. The MTL in release positive normal form is defined by the following grammar:
:= true j false j p j :p j
^
j
_
j</p>
        <p>UI j GI .</p>
        <p>Intuitively, UI and GI are the operators for bounded until and for bounded always.
The formula UI is true in a computation if is true in the interval I at least in one
state and always earlier holds. The formula GI is true in a computation is true
at all states of the computation that are in the interval I. The derived basic modality is
defined as follows: FI d=ef trueUI (bounded eventually).</p>
        <p>
          Let A be a discrete timed automaton, MA = (Q; q0; !; V) a concrete model for
A, : q0 0!;0 q1 1!;1 q2 2!;2 : : : a run of A, and , formulae of MTL. In order
to define the satisfiability relation for MTL, we need to define the notion of a discrete
path corresponding to run [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. This can be done in a unique way because of the
assumption that i 2 IN+. First, define the sequence 0 = [b0; b1); 1 = [b1; b2); 2 =
[b2; b3); : : : of pairwise disjoint intervals, where: b0 = 0, and bi = bi 1 + i 1 if
i &gt; 0. Now, for each t 2 IN, let idx (t) denote the unique index i such that t 2 i.
A discrete path (or path) corresponding to is a mapping : IN 7! Q such that
(t) = (`i; vi + t bi), where i = idx (t). Given t 2 IN, the suffix t of a path at
time t is a path defined as: 8i 2 IN, t (i) = (t + i).
        </p>
        <p>In order to improve readability, in the following definition we write t j=MTL'
instead of M'; t j=MTL', for any MTL formula '.</p>
        <p>Definition 3. The satisfiability relation j=MTL, which indicates truth of an MTL
formula in the concrete model MA along a path at time t 2 IN, is defined inductively
as follows:
–
–
t j=MTL true, t 6 j=MTL false,
t j=MTL p iff p 2 V( (t)), t j=MTL :p iff p 62 V( (t)),
t j=MTL
t j=MTL
t j=MTL
iff t j=MTL
iff t j=MTL
^
_
UI iff (9t0 2 I)( t+t0 j=MTL
and t j=MTL ,
or t j=MTL ,
t j=MTL GI iff (8t0 2 I)( t+t0 j=MTL ).
and (80 6 t00 &lt; t0) t+t00 j=MTL ),
As 0 = , we shall write MA; j=MTL ' for MA; 0 j=MTL '. An MTL formula
' is existentially valid in the model MA, denoted MA j=MTL E', if, and only if
MA; j=MTL ' for some path starting in the initial state of MA. Determining
whether an MTL formula ' is existentially valid in a given model is called an existential
model checking problem.</p>
        <p>–
–
–
–
3
3.1</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Translation from MTL to LTLq</title>
      <p>Let ' be an MTL formula and A = (Act; Loc; `0; T; X; Inv; AP ; V ) be a discrete
timed automaton with X = fx0; : : : ; xn 1g. For each j 2 f0; : : : ; n 1g, let cjmax be
the largest constant appearing in intervals of ' and in any enabling condition involving
the clock xj and used in the state invariants and guards of A. For two clock valuations
v and v0 in INn, we say that v ' v0 iff for each 0 6 j &lt; n either v(xj ) &gt; cjmax and
v0(xj ) &gt; cjmax or v(x) 6 cjmax and v0(x) 6 cjmax and v(x) = v0(x).</p>
      <p>It is well known, that the relation ' is an equivalence relation, what gives rise to
construct an finite abstract model. To this end we define the set of possible values of the
clock xj in the abstract model as IDj = f0; : : : ; cjmax +1g for 0 6 j &lt; n. Moreover, for
two clock valuations v and v0 in ID0 : : : IDn 1, we say that v0 is the time successor
of v (denoted succ(v)) as follows: for each 0 6 j &lt; n,
succ(v)(xj ) =
v(xj ) + 1; if v(xj ) 6 cjmax;
cjmax + 1; if v(xj ) = cjmax + 1:
Definition 4. Let A = (Act; Loc; `0; T; X; Inv; AP ; V ) be a discrete timed
automaton, and ' an MTL formula build over the set AP of atomic propositions. An abstract
model for the automaton A and the formula ' is a tuple M' = (Sb; s0; ,!; Vb), where
Sb = L (ID0 : : : IDn 1) is the set of abstract states, s0 = (`0; f0gn+1) is the initial
state, Vb : Sb ! 2AP is a valuation function such that for all p 2 AP , p 2 Vb((`; v)) iff
p 2 V (`), and ,! S Act0 S, where Act0 = Act [ f g, is a transition relation
defined by the time and action transitions:
– Time transition: (`; v) ,! (`; v0) iff v j= Inv(`), v0 = succ(v), and v0 j= Inv(`),
– Action transition: for any 2 Act, (`; v) ,! (`0; v0) iff there exists a transition
` ;c!c;X `0 2 T such that v j= cc ^ Inv(`), v0 = v[X := 0], and v0 j= Inv(`0).
Definition 5. A path in M' is a sequence
= (s0; s1; : : :) of states such that for each
j 2 IN, either (sj ,! sj+1) or (sj ,! sj+1) for some
transition is preceded by at least one time transition.
Let I be the set of all intervals in IN. Let AP I = fqI j I 2 Ig. The LTLq formulae in
the negation normal form are defined by the following grammar:
::= true j false j p j :p j qI j :qI j
^
j
_
j U j G ,
where p 2 AP and qI 2 AP I . The temporal modalities U and G are, respectively,
named as the until and the always. The derived basic temporal modality for eventually
is defined in the standard way: F d=ef trueU .</p>
      <p>In order to improve readability, in the following definition we write h ; mi j=k
instead of M'; h ; mi j=k , for any LTLq formula .</p>
      <p>Definition 6. The satisfiability relation j=d, which indicates truth of an LTLq formula
in the abstract model M' along the path with the starting point m and at the depth
d &gt; m, is defined inductively as follows:
– h ; mi j=d true, h ; mi 6 j=d false,
– h ; mi j=d p iff p 2 V( (d)), h ; mi j=d :p iff p 2= V( (d)),
– h ; mi j=d qI iff (d) (m) 2 I,
– h ; mi j=d :qI iff (d) (m) 62 I,
––– hhh ;;; mmmiii jjj===ddd U_^ iiiffffff(hh9j;; mm&gt;iid)jj==(hdd ; doairnjd=hhj; m;mainijd=j=(d8dd, 6, i &lt; j) h ; di j=i
– h ; mi j=dG iff (8j &gt; d) h ; di j=j .
),</p>
      <p>An LTLq formula existentially holds in the model M', written M' j= E , if,
and only if M'; h ; 0i j=0 for some path starting at the initial state. The existential
model checking problem asks whether M' j= E .
3.3</p>
      <sec id="sec-3-1">
        <title>Translation</title>
        <p>Let p 2 AP , and be formulae of MTL. We define the translation from MTL into
LTLq as a function tr : MTL ! LTLq in the following way:
– tr(true) = true, tr(false) = false, tr(p) = p, tr(:p) = :p,
– tr( ^ ) = tr( ) ^ tr( ), tr( _ ) = tr( ) _ tr( ),
– tr( UI ) = tr( )Utr(qI ^ ), tr(GI ) = G(:qI _ tr( ))
Observe that the translation of literals as well as logical connectives is straightforward.
The translation of the UI operator ensures that holds somewhere in the interval I (this
is expressed by the requirement qI ^ tr( )), and holds always before . Similarly,
the translation of the GI operator ensures that always holds in the interval I (this is
expressed by the requirement :qI _ tr( )).</p>
        <p>Theorem 1. Let A be a discrete timed automaton, MA the concrete model for A, '
an MTL formula, and M' the abstract model for the automaton A and the formula '.
Then, MA j= E' if, and only if M' j= Etr(').
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Bounded model checking</title>
      <p>In this section we define a bounded semantics for LTLq in order to translate the
existential model checking problem for LTLq into the satisfiability problem.
4.1</p>
      <sec id="sec-4-1">
        <title>Bounded semantics</title>
        <p>
          To define the bounded semantics one needs to represent infinite paths in a model in a
special way. To this aim, we recall the notions of k-paths and loops [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ].
        </p>
        <p>Definition 7. Let M' be a model, k 2 IN, and 0 6 l 6 k. A k-path is a pair ( ; l),
also denoted by l, where is a finite sequence = (s0; : : : ; sk) of states such that
for each 0 6 j &lt; k, either (sj ,! sj+1) or (sj ,! sj+1) for some 2 Act, and
every action transition is preceded by at least one time transition. A k-path l is a loop,
written a( l) for short, if l &lt; k and (k) = (l).</p>
        <p>If a k-path l is a loop it represents the infinite path of the form uv!, where u =
( (0); : : : ; (l)) and v = ( (l + 1); : : : ; (k)). We denote this unique path by l. Note
that for each j 2 IN, ell+j = elk+j . e</p>
        <p>In the definition of bounded semantics for variables from AP I one needs to use
only a finite prefix of the sequence ( el (0); l (1); : : :). Namely, for a k-path l that
is not a loop the prefix of the length k is needeed, and for a k-path l that is a loop the
prefix of the length k + k l is needed.</p>
        <p>In order to improve readability, in the following definition we write h l; mi j=k
instead of M'; h l; mi j=k , for any LTLq formula .</p>
        <p>Definition 8 (Bounded semantics). Let M' be the abstract model, l be a k-path in
M', and 0 6 m; d 6 k. The relation j=dk is defined inductively as follows:
d :&gt; eell ((dd)+ k
– h l; mi j=k :qI iff h l; mi 6 j=dk qI
– h l; mi j=dk true, h l; mi 6 j=dk false,
– h l; mi j=dk p iff p 2 V( l(d)), h l; mi j=k :p iff p 2= V( l(d)),
d
8&gt;&lt; el (d) if l is not a loop;
– h l; mi j=dk qI iff if l is a loop and d &gt; m;
el (m) 2 I; if l is a loop and d &lt; m;
el (m) 2 I;
el (m) 2 I;</p>
        <p>l)
– h l; mi j=dk G</p>
        <p>d
– h l; mi j=k</p>
        <p>
          d
– h l; mi j=k
– h l; mi j=dk
Theorem 2. Let A be a discrete timed automaton, ' an MTL formula, and M' the
abstract model for the automaton A and the formula '. Moreover, let = tr('). Then,
M' j= E if, and only if there exists k &gt; 0 such that M'j=kE .
The last step of our method is the standard one (see [
          <xref ref-type="bibr" rid="ref7 ref8">8, 7</xref>
          ]). It consists in encoding the
transition relation of M' and the LTL formula tr('). The only novelty lies in encoding
ionf tthhee pfirnoipteospitrieofinxaloffotrhmeusleaq[uMen'c;et(r('el)(]0k);witehl(t1h)e; :p:r:o)p. eTrthyeetxrapnreslsasteidonintothSeAfoTllroewsuinltgs
theorem.
        </p>
        <p>Theorem 3. Let M' be an abstract model. Then, for every k 2 IN, M' j=dk Etr(')
if, and only if, the propositional formula [M'; tr(')]k is satisfiable.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Experimental results</title>
      <p>
        In this section we experimentally evaluate the performance of our new translation.
We have conducted the experiments using the slightly modified timed generic pipeline
paradigm (TGPP) [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
5.1
      </p>
      <sec id="sec-5-1">
        <title>Timed Generic Pipeline Paradigm</title>
        <p>The Timed Generic Pipeline Paradigm (TGPP) discrete timed automata model shown
in Figure 1 consists of Producer producing data within the certain time interval ([a; b])
or being inactive, Consumer receiving data within the certain time interval ([c; d]) or
being inactive within the certain time interval ([g; h]), and a chain of n intermediate
Nodes which can be ready for receiving data within the certain time interval ([c; d]),
processing data within the certain time interval ([e; f ]) or sending data. We assume that
a = c = e = g = 1 and b = d = f = h = 2 n + 2, where n represents number of
nodes in the TGPP.</p>
        <p>
          To compare our experimental results with [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ], we have tested the TGPP discrete
timed automata model, scaled in the number of intermediate nodes on the following
MTL formulae that existentially hold in the model of TGPP (n is the number of nodes):
– '0 = F[0;2 n+3)(ConsReceived). It expresses that Consumer receives the data in
at most 2 n + 3 time units.
– '1 = G[0;2 n+2)(ConsReady). It states that the Consumer is always forced to
receive the data in 2 n + 2 time units.
– '2 = G[0;1)(P rodReady _ConsReady). It states that always either the Producer
has sent the data or the Consumer has received the data.
– '3 = F[0;2 n+3)(G[0;1)(P rodSend _ ConsReceived)). It states that eventually
in time less then 2 n + 3 it is always the case that the Producer is ready to send the
data or the Consumer has received the data.
– '4 = G[0;1)(F[0;2 n+3)(ConsReceived)). It states that the Consumer infinitely
often is receiving the data in time less then 2 n + 3.
– '5 = G[0;1)(F[0;2 n+3)(P rodSend) ^ G[0;1)(F[0;2 n+3)(ConsReceived)). It
states that the Producer infinitely often is sending the data in the time less then
2 n + 3 and the Consumer infinitely often is receiving the data in time less then
2 n + 3.
We have performed our experimental results on a computer equipped with I7-3770
processor, 32 GB of RAM, and the operating system Linux with the kernel 4.6.4. Our
SAT-based BMC algorithms are implemented as standalone programs written in the
programming language C++. We used the state of the art SAT-solver CryptoMiniSat5
(http://www.msoos.org/).
        </p>
        <p>All the benchmarks together with instructions on how to reproduce our experimental
results can be found at the web page http://ajd.czest.pl/~a.zbrzezny/
bmc.html.</p>
        <p>The number of considered k-paths (fk) for the new translation is always equal to 1
and for the old translation is respectively equal to: fk('0) = 2, fk('1) = 2, fk('2) =
2, fk('3) = 3, fk('4) = 8 n + 9, fk('5) = 16 n + 17. The length of the witness
for the formula '0 is equal to 4 n + 4 ; for the formula '1 is equal to 8 n + 6; for the
formula '2 and is equal to 8 n + 6; for the formula '3 is equal to 8 n + 15; for the
formula '4 is equal to 8 n + 6; for the formula '5 is equal to 8 n + 6.</p>
        <p>From Fig. 2 one can observe that the new method is able to verify the formula '0
for TGPP with 27 nodes. The old method is able to verify the formula '0 for TGPP
with 24 nodes. The memory usage for the old method is 1:72 times higher than for the
new method for 24 nodes.</p>
        <p>Total time usage for a TGPP ϕ1
New translation</p>
        <p>Old translation
4500
4000
3500
. 3000
c
se 2500
n
iem 2000
iT 1500
1000
500
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16</p>
        <p>Number of Nodes
800
700
600
BM 500
n
iry 400
o
em 300
M 200
100
0</p>
        <p>Memory usage for a TGPP ϕ1
New translation</p>
        <p>Old translation
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16</p>
        <p>Number of Nodes</p>
        <p>From Fig. 3 one can observe that the new method is able to verify the formula '1
for TGPP with 17 nodes. The old method is able to verify the formula '1 for TGPP
with 15 nodes. The memory usage for the old method is 1:50 times higher than for the
new method for 15 nodes.</p>
        <p>From Fig. 4 one can observe that the new method is able to verify the formula '2
for TGPP with 18 nodes. The old method is able to verify the formula '2 for TGPP
with 15 nodes. The memory usage for the old method is 1:55 times higher than for the
new method for 15 nodes.</p>
        <p>From Fig. 5 one can observe that the new method is able to verify the formula '3
for TGPP with 17 nodes. The old method is able to verify the formula '3 for TGPP
with 13 nodes. The memory usage for the old method is 2:21 times higher than for the
new method for 13 nodes.</p>
        <p>From Fig. 6 one can observe that the new method is able to verify the formula '4
for TGPP with 13 nodes. The old method is able to verify the formula '4 for TGPP
with 7 nodes. The memory usage for the old method is 10:32 times higher than for the
new method for 7 nodes.</p>
        <p>From Fig. 8 one can observe that the new method is able to verify the formula '5
for TGPP with 13 nodes. The old method is able to verify the formula '5 for TGPP
with 6 nodes. The memory usage for the old method is 21:39 times higher than for the
new method for 6 nodes.</p>
        <p>For the formula '4 the new method generates only 395775 variables and 1229009
clauses (Fig. 7) for 7 nodes. The time consumed by BMC to generate the set of clauses
is equal 65:35 sec. The memory consumed by BMC to generate the set of clauses is
1 2 3 4 5 6 7 8 9 10 11 12</p>
        <p>Number of Nodes
1 2 3 4 5 6 7 8 9 10 11 12</p>
        <p>Number of Nodes
equal 100:54 MB. The time and memory consumed by the state of the art SAT solver
CryptoMiniSat5, respectively is equal to 112:59 sec. and 287:41 MB.</p>
        <p>The old method generates 6122646 variables and 18739998 clauses. The time
consumed by BMC to generate the set of clauses is equal 977:18 sec. The memory
consumed by BMC to generate the set of clauses is equal 1505:05 MB. The time and
memory consumed by the state of the art SAT solver CryptoMiniSat5, respectively is
equal to 2892:31 sec. and 2967:82 MB.</p>
        <p>The example above shows that our new method results in reducing the overall
runtime and memory of BMC to construct a CNF formula, and of SAT solver to check
satisfiability of this formula.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>6 Conclusions</title>
      <p>We have proposed, implemented, and experimentally evaluated SAT-based
BMC method for soft real-time systems, which are modelled by discrete timed
automata, and for properties expressible in MTL with the semantics over discrete timed
automata. The method is based on a translation of the existential model checking for
MTL to the existential model checking for LTLq, and then on the translation of the
existential model checking for LTLq to the propositional satisfiability problem.</p>
      <p>In the following table we compare the new BMC method with the old one.</p>
      <p>Simple BMC+DTA&amp;MTL</p>
      <p>no new clocks
no new transitions</p>
      <p>only one path
smaller number of propositional</p>
      <p>variables and clauses
better time and memory usage</p>
      <p>
        BMC+DTA&amp;MTL[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]
a number of new clocks equal to the number
      </p>
      <p>of intervals in the given formula
exponential number of new transitions
a number of paths depending on the given
formula and the length of the k-path</p>
      <p>substantially larger number
of propositonal variables and clauses</p>
      <p>worse time and memory usage</p>
      <p>The experimental results show that our approach is much better than the approach
based on translation to HLTL. The reason is that the new method needs only one new
path, does not need any new clocks, and does not need any new transitions. The
experiments confirm that the improvement in question leads to a reduction of the size of
the CNF formulas submitted to the SAT solver, and therefore to a significant
reduction both in the time and memory required by the SAT solver to return an answer. The
paper presents preliminary experimental results only, but they show that the proposed
verification method is quite efficient and worth exploring.</p>
      <p>Therefore, in our future work we are going to define the SMT-based BMC encoding
for DTA and for LTLq and compare this encoding with the SAT-based encoding, and
we would like to develop SAT-based BMC method for timed automata and properties
expressible in TECTL.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <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>
          ):
          <fpage>183</fpage>
          -
          <lpage>235</lpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>A.</given-names>
            <surname>Biere</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Cimatti</surname>
          </string-name>
          , E. Clarke, and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhu</surname>
          </string-name>
          .
          <article-title>Symbolic model checking without BDDs</article-title>
          .
          <source>In Proc. of the 5th Int. Conf. on Tools and Algorithms for the Construction and Analysis of Systems (TACAS'99)</source>
          , volume
          <volume>1579</volume>
          <source>of LNCS</source>
          , pages
          <fpage>193</fpage>
          -
          <lpage>207</lpage>
          . Springer-Verlag,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Armin</given-names>
            <surname>Biere</surname>
          </string-name>
          , Alessandro Cimatti,
          <string-name>
            <surname>Edmund M. Clarke</surname>
            , Ofer Strichman, and
            <given-names>Yunshan</given-names>
          </string-name>
          <string-name>
            <surname>Zhu</surname>
          </string-name>
          .
          <article-title>Bounded model checking</article-title>
          .
          <source>Advances in Computers</source>
          ,
          <volume>58</volume>
          :
          <fpage>117</fpage>
          -
          <lpage>148</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Ron</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>
          ):
          <fpage>255</fpage>
          -
          <lpage>299</lpage>
          ,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>W.</given-names>
            <surname>Penczek</surname>
          </string-name>
          ,
          <string-name>
            <surname>B.</surname>
          </string-name>
          <article-title>Woz´na, 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>
          ):
          <fpage>135</fpage>
          -
          <lpage>156</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Boz</surname>
          </string-name>
          <article-title>˙ena Woz´na-Szczes´niak and Andrzej Zbrzezny. A translation of the existential model checking problem from MITL to HLTL</article-title>
          . Fundamenta Informaticae,
          <volume>122</volume>
          (
          <issue>4</issue>
          ):
          <fpage>401</fpage>
          -
          <lpage>420</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Boz</surname>
          </string-name>
          <article-title>˙ena Woz´na-Szczes´niak and Andrzej Zbrzezny. Checking MTL properties of discrete timed automata via bounded model checking</article-title>
          .
          <source>Fundam</source>
          . Inform.,
          <volume>135</volume>
          (
          <issue>4</issue>
          ):
          <fpage>553</fpage>
          -
          <lpage>568</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <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- 4</issue>
          ):
          <fpage>377</fpage>
          -
          <lpage>397</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>