<!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>On Boolean Encodings of Transition Relation for Parallel Compositions of Transition Systems</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>IMCS, Jan Długosz University in Cze ̨stochowa</institution>
          ,
          <addr-line>Al. Armii Krajowej 13/15, 42-200 Cze ̨stochowa</addr-line>
          ,
          <country country="PL">Poland</country>
        </aff>
      </contrib-group>
      <fpage>478</fpage>
      <lpage>489</lpage>
      <abstract>
        <p>We present and compare different Boolean encodings of the transition relation for the parallel composition of transition systems, both for the asynchronous and the synchronous semantics. We compare the encodings considered by applying them to the SAT-based bounded model checking (BMC) of ECTL properties. We provide experimental results which show that our new encoding for the asynchronous semantics significantly increases the efficiency of the SATbased BMC.</p>
      </abstract>
      <kwd-group>
        <kwd>transition system</kwd>
        <kwd>parallel composition</kwd>
        <kwd>SAT-based bounded model checking</kwd>
        <kwd>Boolean encoding</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        One of the most important practical problems in model checking is the exponential
growth of number of states of the transition system, depending on the number of
components of the modelled system. Edmund M. Clarke, co-inventor of the model
checking, stressed that the problem of overcoming the exponential explosion in the number of
states has been one of the most important research questions he was dealing with since
the inventing of model checking [
        <xref ref-type="bibr" rid="ref1 ref2 ref3">1–3</xref>
        ]. Reducing the negative impact of the exponential
explosion of the state space requires in particular the methods and algorithms to have
the highest possible efficiency.
      </p>
      <p>The aim of this paper is to present and compare different Boolean encodings of
the transition relation for the parallel composition of transition systems, both for the
asynchronous and the synchronous semantics. We provide experimental results which
show that our new encoding for the asynchronous semantics significantly increases the
efficiency of the SAT-based bounded model checking.
2.1</p>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries</title>
      <sec id="sec-2-1">
        <title>Transition systems</title>
        <p>
          Transition systems ([
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]) are often used as models to describe the behaviour of systems.
They are basically directed graphs where nodes represent states, and edges model
transitions, i.e., state changes. A state describes some information about a system at a certain
moment of its behaviour.
        </p>
        <p>Definition 1. A transition system is a tuple M = (S; Act; !; I ; AP; L), where S is
a nonempty finite set of states, Act is a set of actions, I S is the set of initial states,
! S Act S is a transition relation, AP is a set of atomic propositions,
and L : S ! 2AP is a labelling function that assigns to each state a set of atomic
propositions that are assumed to be true at that state. Transition systems are also called
models.</p>
        <p>For convenience, we write s ! s0 instead of (s; ; s0) 2 !. Moreover, we write
s ! s0 if s ! s0 for some 2 Act.</p>
        <p>From now on we assume that transition systems are finite, i.e. the sets S, Act and
AP are finite We also assume that a transition system has no terminal states, i.e. for
every s 2 S there exist s0 2 S such that s ! s0. The set of all natural numbers is
denoted by N and the set of all positive natural numbers by N+. A path in M is an
infinite sequence = (s0; s1; : : :) of states such that sj !sj+1 for each j 2 N.
2.2</p>
        <p>Parallel compositions of transition systems
Definition 2. Let J be a non-empty, finite set of indices and let fMj j j 2 J g be
a family of transition systems, i.e. Mj = (Sj ; Actj ; !j ; Ij ; APj ; Lj ). Assume that
APi \ APj = ;, for i 6= j. Moreover, let J ( ) = fj 2 J j 2 Actj g, and " 2= Actj
for each j 2 J .
1. The asynchronous parallel composition of the family fMj j j 2 J g of
transition systems is the transition system M = (S; Act; 7 !; I ; AP; L) such that
S = Y Sj , Act = [ Actj , I = Y Ij , AP = [ APj , L = [ Lj , and
j2J j2J j2J j2J j2J
7 ! is defined as follows: for every s; s0 2 S and every 2 Act: s 7 ! s0 if and
only if the following conditions hold:
(a) sj !j s0j for j 2 J ( ),
(b) s0j = sj for j 2 J n J ( ).
2. The synchronous parallel composition of the family fMj j j 2 J g of transition
systems is the transition system M = (S; Act; !; I ; AP; L) such that S = Y Sj ,
Act =</p>
        <p>Y(Actj [ f"g), I =
j2J</p>
        <p>j2J j2J
defined as follows: for every s; s0 2 S and every
the following conditions hold:
(a) (8j 2 J ) ( j = " =) s0j = sj ),
(b) (9j 2 J )(( j 6= "),
(c) (8j 2 J ) ( j 6= " =) sj !jj s0j ),
(d) (8i 2 J )( i 6= " =) (8j 2 J ( i)) j =
i).</p>
        <p>Y Ij , AP =
[ APj , L =
[ Lj , and
j2J</p>
        <p>! is
j2J
2 Act: s
! s0 if and only if</p>
        <p>Recall that if jJ ( )j &gt; 1 for an action 2 Sj2J Actj , then the action is called a
shared action; otherwise, i.e. if jJ ( )j = 1, it is called a local action. The actions from
Act are called joint actions.</p>
        <p>In the transition system M being the asynchronous parallel composition of a family
of transition systems only one local or shared action may be performed at a given time
in a given global state of M. Moreover, a shared action has to be performed in all the
components Mj , for j 2 J ( ).</p>
        <p>In the transition system M being the synchronous parallel composition of a family
of transition systems a joint action 2 Act is to be performed by the system at a
given time in a given global state of M. It means, that every component Mj of the
system can perform an action (also an empty action "). Notice however, that at least
one component has to perform a non-empty action. Moreover, if one of the components
performs a shared action , then the action has to be performed in all the components
Mj , for j 2 J ( ).</p>
        <p>Observe that if s 7 ! s0 then there exists 2 Act such that (s; !; s0). Thus every
path of the asynchronous parallel composition of transition systems is also a path of the
synchronous parallel composition of transition systems. It follows that every ECTL
formula valid in the asynchronous parallel composition of a given family of transition
systems is also valid in the synchronous parallel composition of this family. Note that
the converse of the implication does not hold. However, let us note that each formula of
the form E(F 1 ^ : : : ^ F m), where 1; : : : ; m are propositional formulae, valid in
the synchronous parallel composition of the given family of transition systems is also
valid in the asynchronous parallel composition of this family.
3</p>
        <p>Boolean Encodings of States, Actions and Transition Relations
We start with describing the Boolean encoding of states, actions and the transition
relation of a given model by means of propositional formulae, which are built over a
set P V of propositional variables plus the constants true and false, with help of the
propositional connectives :, ^, _ and !.</p>
        <p>Let fMj j j 2 J g be a finite family of transition systems and let M be the parallel
composition (either asynchronous or synchronous) of fMj j j 2 J g. Since the set Sj
of states of each Mj is finite, every element of Sj can be encoded as a bit vector of the
length dlog2 jSj je. Therefore, each state of Mj can be represented by a valuation of a
vector wj (called a symbolic local state) of unique propositional state variables. Then,
each state of M can be represented by a valuation of a vector w (called a symbolic
global state) of the vectors wj .</p>
        <p>Similarly, since the set Actj of actions of each Mj is finite, the set Act is also
finite, and it follows that every element of Actj can be encoded as a bit vector of the
length dlog2 jActje. Therefore, each action of Mj can be represented by a valuation of
a vector aj (called a symbolic action) of unique propositional action variables. Then,
each element of the set Act can be represented by a valuation of a vector a (called
a symbolic joint action) of the vectors aj .</p>
        <p>Let SV = fw1; w2; : : :g be a set of propositional state variables and AV =
fv1; v2; : : :g be a set of propositional action variables. We assume that SV \ AV = ;.
Moreover, let P V = SV [ AV and V : P V ! f0; 1g be a valuation of propositional
variables (a valuation for short). For every m; r 2 N+ each valuation V induces the
functions S : SV m ! f0; 1gm and A : AV r ! f0; 1gr defined as follows:
S(wj1 ; : : : ; wjm ) = (V (wj1 ); : : : ; V (wjm ))</p>
        <p>A(vj1 ; : : : ; vjr ) = (V (vjr ); : : : ; V (vjr ))</p>
        <p>Our aim is to define either a Boolean formula T (w; w0) so that for each valuation
V 2 f0; 1gSV , V satisfies T (w; w0) iff S(w) 7 ! S(w0) in M or a Boolean
formula T (w; a; w0) so that for each valuation V 2 f0; 1gP V , V satisfies T (w; a; w0) iff
S(w) S(!a) S(w0) in M.
3.1</p>
        <p>
          The standard Boolean encoding of asynchronous parallel composition
This encoding is implemented in all the SAT-based verification modules of VerICS [
          <xref ref-type="bibr" rid="ref10 ref5 ref6 ref7 ref8 ref9">5–
10</xref>
          ]. In this encoding we use the following auxiliary propositional formulae:
– Hj (wj ; wj0 ) for j 2 J is a Boolean formula defined so that for each valuation
        </p>
        <p>V 2 f0; 1gSV , V satisfies T (wj ; wj0 ) iff S(wj0 ) = S(wj );
– Tj; (wj ; wj0 ) for j 2 J and 2 Actj is a Boolean formula defined so that for each
V 2 f0; 1gSV , V satisfies Tj; (wj ; wj0 ) iff S(wj )
j2J( )</p>
        <p>^
j2=J( )
1
T (w; w0) =</p>
        <p>Tj; (wj ; wj0 ) ^</p>
        <p>Hj (wj ; wj0 )A
which symbolically encodes the transition relation 7 ! of the asynchronous parallel
composition of the family fMj j j 2 J g.
3.2</p>
        <p>
          The Boolean encoding of synchronous parallel composition
We have recently implemented this encoding in the module BMC4ELTLK of VerICS.
This module was used for performing experimental results presented in the article [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ],
which was recently accepted for publication. However, the encoding in question was
not described in [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. In this encoding we use the following auxiliary propositional
formulae:
– H (aj ) for j 2 J and 2 Actj [ f"g is a Boolean formula defined so that for
each valuation V 2 f0; 1gAV , V satisfies H (aj ) iff A(aj ) = ;
– Tj; (wj ; aj ; wj0 ) for j 2 J and 2 Actj is a Boolean formula defined so that
for each valuation V 2 f0; 1gP V , V satisfies Tj; (wj ; aj ; wj0 ) iff A(aj ) = and
        </p>
        <p>Now we can define the Boolean formula Tj (wj ; aj ; wj0 )</p>
        <p>Tj (wj ; aj ; wj0 ) =</p>
        <p>H(wj ; wj0 ) ^ H"(aj )
_</p>
        <p>Tj; (wj ; aj ; wj0 )
_
which symbolically encodes the transition relation !j of Mj . Eventually, we define
the Boolean formula T (w; a; w0) which symbolically encodes the transition relation
! of the synchronous parallel composition of the family fMj j j 2 J g.
T (w; a; w0) = ^ Tj (wj ; aj ; wj0 ) ^
j2J
^
2Act
0</p>
        <p>^
j2J( )</p>
        <p>H (aj ) _</p>
        <p>^</p>
        <p>The first subformula of the above conjunction assures that executing a joint action
consists of executing all the actions that are the components of . The second
subformula requires that each action being a component of a joint action has to be executed
in all the components of the synchronous parallel composition in which it appears.
This encoding is inspired by the encoding for the synchronous parallel composition.
However, it is not directly derived from the encoding for the synchronous parallel
composition. In the new encoding for asynchronous parallel composition b stands for a
vector (of the length dlog2 jActje) of propositional action variables so that every
action in Act can be be represented by a valuation of propositional variables in b. In the
encoding we use the following auxiliary propositional formula:
– Tj; (wj ; b; wj0 ) for j 2 J and 2 Actj is a Boolean formula defined so that
for each valuation V 2 f0; 1gP V , V satisfies Tj; (wj ; b; wj0 ) iff A(b) = and
:H (b)A _</p>
        <p>Tj; (wj ; b; wj0 )</p>
        <p>Intuitively, Tj (wj ; b; wj0 ) assures that either A(b) 2= Actj and S(wj ) = S(wj0 )
(i.e. no action is performed in Mj in a given step) or S(wj ) A(!b) S(wj0 ) in Mj .</p>
        <p>Eventually, we define the Boolean formula T (w; b; w0) which symbolically
encodes the transition relation 7 ! of the synchronous parallel composition of the family
fMj j j 2 J g:</p>
        <p>T (w; b; w0) = ^ Tj (w; b; w0) ^
j2J
_
2Act</p>
        <p>H (b)</p>
        <p>The first subformula of the above conjunction assures that for each action from
Act the following condition is satisfied: if this action is to be performed in one of the
components of the asynchronous parallel composition, then it has to be performed in
all the components in which it appears. The second subformula requires that the vector
b represents an action 2 Act.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Experimental Results</title>
      <p>
        Our experiments were performed on a computer equipped with Intel Xeon 2 GHz
processor, 4GB of RAM and the operating system Ubuntu Linux Server with the kernel
3.5.0. We set the default limits of 1 GB of memory and 1800 seconds. Moreover, we
used PicoSAT [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] in version 957 to test the satisfiability of the propositional formulae
generated by the module BMC4ECTLS [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>
        As the first benchmark we used the generic pipeline paradigm (GPP) introduced in
[
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. The GPP consists of the Producer that is able to produce data, the Consumer that
is able to receive data, and a chain of n intermediate Nodes that are able to receive,
process, and send data. We assume that the following local states ProdReady, Readyj
and ConsReady are initial, respectively, for Producer, Nodej and Consumer. The global
system is obtained as the parallel composition of the components, which are shown in
Figure 4.
      </p>
      <p>
        As the second benchmark we used the train controller system (TC) introduced in
[
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. The TC consists of a controller, and n trains (for n &gt; 2). Each train uses its own
circular track for travelling in one direction. Eventually, each train has to pass through
a tunnel, but because there is only one track in the tunnel, the trains arriving from each
direction cannot use it simultaneously. There are signals on both sides of the tunnel,
which can be either red or green. Each train notifies the controller when it request
entry to the tunnel or when it leave the tunnel. The controller controls the colour of the
displayed signal. The local state Awayj is initial for Trainj, and the local state Green is
initial for Controller. The global system is obtained as the parallel composition of the
components, which are shown in Figure 4.
      </p>
      <p>
        As the third benchmark we used the dining philosophers problem [
        <xref ref-type="bibr" rid="ref15 ref16">15, 16</xref>
        ]. We have
modelled this problem by means of a parallel composition of 2n + 1 transition systems.
The global system consists of n transition system each of which models a
philosopher, together with n transition systems each of which models a fork, together with
one transition system which models the lackey. The latter transition system is used to
coordinate the philosophers’ access to the dining-room. In fact, this automaton ensures
that no deadlock is possible. The global system is obtained as the parallel composition
of the components, which are shown in Figure 3.
      </p>
      <p>Let I(w) be a propositional formula such that for each valuation V 2 f0; 1gSV , V
satisfies I(w) iff S(w) is an initial state of the model. In order to compare experimental
results for the three Boolean encodings of transition relation we have tested first (on a
symbolic path of the length 1) the ECTL formula '0 = E(true) that is valid in
the models considered. The translation of the formula '0 results in the propositional
formula:
– I(w) ^ T (w; w0) for the old encoding of the asynchronous parallel composition,
– I(w) ^ T (w; a; w0) for the encoding of the synchronous parallel composition,
– I(w) ^ T (w; b; w0) for the new encoding of the asynchronous parallel
composition.</p>
      <p>As we expected, the experimental results for the formula '0 (Table 1) show that
the new encoding of the transition relation for the asynchronous parallel composition
significantly influence the size (i.e. the number of clauses) of the resulting propositional
formulae: for the GPP and 1800 nodes the number of clauses for the new encoding is 56
times less than for the old one; for the TC and 2800 trains the number of clauses for the
new encoding is 25 times less than for the old one; for the DP and 1250 philosophers
the number of clauses for the new encoding is 26 times less than for the old one.</p>
      <p>Moreover, the results from Table 1 show that the encoding of the transition
relation for the synchronous parallel composition results in propositional formulae that are
shorter than formulae for the old encoding and significantly longer than formulae for
the new encoding.</p>
      <p>Encoding of the (?Max) number Number of Number of
transition relation of components variables clauses</p>
      <sec id="sec-3-1">
        <title>Generic Pipeline Paradigm</title>
        <p>?105000 3727243
New
Sync
New
Old
Sync
New
New
Sync
New
Old
Sync
New
New
Sync
New
Old
Sync
New
Although, in our opinion, testing the formula '0 for different systems allows to
draw reliable conclusions about the presented encodings, we have also tested some
for</p>
        <p>ClausesforGPP,Formula0
40000
35000
30000
lrsseubeuaNm 11250550000000000000 10 20 30 40 Numbe5r0ofnodes60 70 NOELW8D0--AASSSYYYNNNCCC90 100
fco 20000</p>
        <p>ClausesforTC,Formula0
25000
20000
lfrscseobeuam 1105000000
uN 5000 NOELWD--AASSYYNNCC
0 10 20 30 40 Numbe5r0ofnodes60 70 80 SYNC90 100</p>
        <p>ClausesforDP,Formula0
100000
90000
80000
s 70000
lfrcsaeeoubm 564000000000000
uN 30000
12000000000 10 20 30 40Numbe5r0ofnodes60 70 NOELW8D0--AASSSYYYNNNCCC90 100
mulae each of which expresses either a reachability or an extended reachability property
(i.e. a formula of the form E(F 1 ^ : : : ^ F m), where 1; : : : ; m are propositional
formulae). For all the tested systems we assume that for every local state s, L(s) = f g
s .</p>
        <p>For the GPP we have tested the following two formulae:
– '1(n) = EF(Received)
– '2(n) = EF(Send1 ^ : : : ^ Sendn)</p>
        <p>Let us note that for the asynchronous parallel composition the witness for the
formula '1(n) has the length 2n + 2, and the witness for the formula '2(n) has the length
n2 + 2n, whereas for the synchronous parallel composition the witness for the formula
'1(n) has the length 2n + 2, and the witness for the formula '2(n) has the length 3n.
The experimental results for the tested formulae '1 and '2, are presented at the pictures
9 and 10 respectively.</p>
        <p>Total memory for GPP, Formula 1
Total time for GPP, Formula 1
1000
.BM 100
iryon
eMm 10</p>
        <p>1
100
.BM 10
iryon
eMm 1
0.1
1N0umber of nodes
100
5
10
15</p>
        <p>Number of trains 25
20
Fig. 6. Experimental results for GPP and the formula '2.</p>
        <p>OLD-ASYNC
NEW-ASYNC</p>
        <p>SYNC
60 70
30</p>
        <p>OLD-ASYNC
NEW-ASYNC</p>
        <p>SYNC
35
80
40
OLD-ASYNC
NEW-ASYNC</p>
        <p>SYNC
OLD-ASYNC
NEW-ASYNC</p>
        <p>SYNC
3000
2500
.c 2000
e
isn 1500
e
iTm 1000
500
0
1000
900
800
700
.c 600
se
in 500
e
iTm 430000
200
100
0
1N0umber of nodes
100
10
20
30 Number of trains 50
40</p>
        <p>For the TC we have tested the following two formulae:
– '3(n) = E(F(T unnel1) ^ F(T unneln)
– '4(n) = E(F(T unnel1) ^ : : : ^ F(T unneln))</p>
        <p>Let us note that for the asynchronous parallel composition the witness for the
formula '3(n) has the length 5, and the witness for the formula '4(n) has the length
3(n 1) + 2, whereas for the synchronous parallel composition the witness for the
formula '4(n) has the length 4, and the witness for the formula '4(n) has the length
2n. The experimental results for the tested formulae '3 and '4, are presented at the
pictures 7 and 8 respectively.</p>
        <p>Total memory for TC, Formula 1
1200
1000
.BM 800
ryn 600
i
o
eMm 400
200 NOELWD--AASSYYNNCC
0 0 2000 4000 6000 8000Numb1e0r0o0f0train1s2000 14000 16000SYN1C8000 20000</p>
        <p>Total time for FTC, Formula 1
1600
1400
1200
.c 1000
e
isn 800
e
iTm 600</p>
        <p>2400000 0 2000 4000 6000 8000Numb1e0r0o0f0train1s2000 14000 NO1EL6WD0--0AA0SSSYYYNNN1CCC8000 20000</p>
        <p>For the DP we have tested the following two formulae:
– '5(n) = E(F(Eat0) ^ F(Eatn 1)
– '6(n) = E(F(Eat0) ^ : : : ^ F(Eatn 1))</p>
        <p>Let us note that for the asynchronous parallel composition the witness for the
formula '5(n) has the length 7, and the witness for the formula '6(n) has the length
4n + 1, whereas for the synchronous parallel composition the witness for the formula
'5(n) has the length 6, and the witness for the formula '6(n) has the length n + 3 for
n &gt; 6 and 9 otherwise. The experimental results for the tested formulae '5 and '6, are
presented at the pictures 7 and 8 respectively.</p>
        <p>30
25
.BM 20
iryn 15
o
m
eM 10
5
0 2</p>
        <p>Total memory for DP, Formula 1
Total time for DP, Formula 1
10000
.BM 1000
ryn 100
i
eo
m
M 10</p>
        <p>1
100
.</p>
        <p>BM
iryn 10
oe
m
M
1</p>
        <p>OLD-ASYNC
NEW-ASYNC</p>
        <p>SYNC
1000
10</p>
        <p>100
Number of Philosophers
10000
10</p>
        <p>100
Number of Philosophers</p>
        <p>OLD-ASYNC
NEW-ASYNC</p>
        <p>SYNC
1000
10000
The experiments showed that our new Boolean encoding for asynchronous parallel
composition is the most effective one while comparing to the other two considered.
Moreover, the encoding of the transition relation for the synchronous parallel
composition is nearly as effective as the new encoding for asynchronous parallel composition.
The standard Boolean encoding used so far in the SAT-based verification modules of
VerICS turned out to be the worst one. This is clearly seen for the formula '0(n) that is
verified on the path of the length 1. The length equal to 1 assures that the experimental
results for the formula '0(n) are affected by the Boolean encoding of the transition
relation only.</p>
        <p>The above conclusions, which are based on the experimental results presented in
Section 4, are also supported by the fact that the length of the resulting Boolean formula
for standard Boolean encoding for asynchronous parallel composition is O(jActj n),
whereas the length of the resulting Boolean formula for our new Boolean encoding for
asynchronous parallel composition is O(jActj log jActj).</p>
        <p>Let us note that the experimental results for the formulae 'j (n), for j = 1; : : : ; 6,
are affected not only by the Boolean encoding of the transition relation but also by the
encoding of the translation of ECTL formulae to SAT. Nevertheless, the
experimental results for these formulae confirm that the new encoding for asynchronous
semantics significantly increases the efficiency of the SAT-based bounded model checking.
It means that the effectiveness of the most of the SAT-based verification modules of
VerICS could be significantly improved.</p>
        <p>Moreover, the experimental results for the formulae '2(n), '4(n) and '6(n) show
that for formulae for which the length of the witness is significantly shorter for the
synchronous semantics, it is worth to apply the synchronous semantics instead of the
asynchronous one.</p>
        <p>We strongly believe that the choice of a SAT-solver will not change our conclusions.
Nevertheless, in the nearest future we are going to repeat all the experiments for the
other SAT-solvers.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Clarke</surname>
            ,
            <given-names>E.M.:</given-names>
          </string-name>
          <article-title>The birth of model checking</article-title>
          .
          <source>In: 25 Years of Model Checking - History</source>
          , Achievements, Perspectives. Volume
          <volume>5000</volume>
          of Lecture Notes in Computer Science., Springer (
          <year>2008</year>
          )
          <fpage>1</fpage>
          -
          <lpage>26</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Clarke</surname>
            ,
            <given-names>E.M.:</given-names>
          </string-name>
          <article-title>Model checking - my 27-year quest to overcome the state explosion problem</article-title>
          .
          <source>In: Logic for Programming</source>
          ,
          <source>Artificial Intelligence, and Reasoning</source>
          , 15th International Conference, LPAR 2008, Doha, Qatar,
          <source>November 22-27</source>
          ,
          <year>2008</year>
          . Proceedings. Volume
          <volume>5330</volume>
          of Lecture Notes in Computer Science., Springer (
          <year>2008</year>
          )
          <fpage>182</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Clarke</surname>
            ,
            <given-names>E.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Emerson</surname>
            ,
            <given-names>E.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sifakis</surname>
          </string-name>
          , J.:
          <article-title>Model checking: algorithmic verification and debugging</article-title>
          .
          <source>Communications of the ACM</source>
          <volume>52</volume>
          (
          <issue>11</issue>
          ) (
          <year>2009</year>
          )
          <fpage>74</fpage>
          -
          <lpage>84</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Baier</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Katoen</surname>
            ,
            <given-names>J.P.</given-names>
          </string-name>
          :
          <article-title>Principles of model checking</article-title>
          . MIT Press (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Zbrzezny</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Improvements in SAT-based reachability analysis for timed automata</article-title>
          .
          <source>Fundamenta Informaticae</source>
          <volume>60</volume>
          (
          <issue>1-4</issue>
          ) (
          <year>2004</year>
          )
          <fpage>417</fpage>
          -
          <lpage>434</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Zbrzezny</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>SAT-based reachability checking for timed automata with diagonal constraints</article-title>
          .
          <source>Fundamenta Informaticae</source>
          <volume>67</volume>
          (
          <issue>1-3</issue>
          ) (
          <year>2005</year>
          )
          <fpage>303</fpage>
          -
          <lpage>322</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Kacprzak</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nabiałek</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Niewiadomski</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Penczek</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Półrola</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Szreter</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , Woz´na,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Zbrzezny</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</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>
          ) (
          <year>2008</year>
          )
          <fpage>313</fpage>
          -
          <lpage>328</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Zbrzezny</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Improving the translation from ECTL to SAT</article-title>
          .
          <source>Fundamenta Informaticae</source>
          <volume>85</volume>
          (
          <issue>1-4</issue>
          ) (
          <year>2008</year>
          )
          <fpage>513</fpage>
          -
          <lpage>531</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Zbrzezny</surname>
            ,
            <given-names>A.:</given-names>
          </string-name>
          <article-title>A new translation from ECTL to SAT</article-title>
          .
          <source>Fundamenta Informaticae</source>
          <volume>120</volume>
          (
          <issue>3-4</issue>
          ) (
          <year>2012</year>
          )
          <fpage>377</fpage>
          -
          <lpage>397</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Zbrzezny</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Półrola</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>SAT-based reachability checking for timed automata with discrete data</article-title>
          .
          <source>Fundamenta Informaticae</source>
          <volume>79</volume>
          (
          <issue>3-4</issue>
          ) (
          <year>2007</year>
          )
          <fpage>579</fpage>
          -
          <lpage>593</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. Me˛ski,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Penczek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            ,
            <surname>Szreter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Woz´</surname>
          </string-name>
          na-Szczes´niak,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Zbrzezny</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>BDD- versus SAT-based bounded model checking for the existential fragment of linear temporal logic with knowledge: Algorithms and their performance</article-title>
          . Autonomous Agents and
          <string-name>
            <surname>Multi-Agent Systems</surname>
          </string-name>
          (
          <year>2013</year>
          ) to appear.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Biere</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Picosat essentials</article-title>
          .
          <source>Journal on Satisfiability, Boolean Modeling and Computation (JSAT) 4</source>
          (
          <year>2008</year>
          )
          <fpage>75</fpage>
          -
          <lpage>97</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Peled</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>All from one, one for all: On model checking using representatives</article-title>
          .
          <source>In: Proc. of the 5th Int. Conf. on Computer Aided Verification (CAV'93)</source>
          . Volume 697 of LNCS., Springer-Verlag (
          <year>1993</year>
          )
          <fpage>409</fpage>
          -
          <lpage>423</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Hoek</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wooldridge</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Cooperation, knowledge, and time: Alternating-time temporal epistemic logic and its applications</article-title>
          .
          <source>Studia Logica</source>
          <volume>75</volume>
          (
          <issue>1</issue>
          ) (
          <year>2003</year>
          )
          <fpage>125</fpage>
          -
          <lpage>157</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Dijkstra</surname>
          </string-name>
          , E.:
          <article-title>Hierarchical ordering of sequential processes</article-title>
          .
          <source>Acta Inf</source>
          .
          <volume>1</volume>
          (
          <year>1971</year>
          )
          <fpage>115</fpage>
          -
          <lpage>138</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Hoare</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Communicating sequential processes</article-title>
          .
          <source>Prentice Hall</source>
          (
          <year>1985</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>