=Paper= {{Paper |id=None |storemode=property |title=On Boolean Encodings of Transition Relation for Parallel Compositions of Transition Systems |pdfUrl=https://ceur-ws.org/Vol-1032/paper-42.pdf |volume=Vol-1032 |dblpUrl=https://dblp.org/rec/conf/csp/Zbrzezny13 }} ==On Boolean Encodings of Transition Relation for Parallel Compositions of Transition Systems== https://ceur-ws.org/Vol-1032/paper-42.pdf
       On Boolean Encodings of Transition Relation for
        Parallel Compositions of Transition Systems∗
                                    Extended abstract

                                       Andrzej Zbrzezny

                        IMCS, Jan Długosz University in Cz˛estochowa,
                    Al. Armii Krajowej 13/15, 42-200 Cz˛estochowa, Poland.
                              a.zbrzezny@ajd.czest.pl


        Abstract. We present and compare different Boolean encodings of the transi-
        tion relation for the parallel composition of transition systems, both for the asyn-
        chronous 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 SAT-
        based BMC.
        Keywords: transition system, parallel composition, SAT-based bounded model
        checking, Boolean encoding.


1     Introduction
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 com-
ponents of the modelled system. Edmund M. Clarke, co-inventor of the model check-
ing, 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 [1–3]. 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.
    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     Preliminaries
2.1    Transition systems
Transition systems ([4]) are often used as models to describe the behaviour of systems.
They are basically directed graphs where nodes represent states, and edges model transi-
∗
    Partly supported by National Science Center under the grant No. 2011/01/B/ST6/05317.
                                       On Boolean Encodings of Transition Relation . . .         479

tions, i.e., state changes. A state describes some information about a system at a certain
moment of its behaviour.

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.
                                   σ
For convenience, we write s −→ s0 instead of (s, σ, s0 ) ∈ −→. Moreover, we write
               σ
s −→ s0 if s −→ s0 for some σ ∈ Act.
    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 ∈ S there exist s0 ∈ S such that s −→ s0 . The set of all natural numbers is
denoted by    N                                                          N
               and the set of all positive natural numbers by + . A path in M is an
infinite sequence ρ = (s0 , s1 , . . .) of states such that sj −→sj+1 for each j ∈ .   N
2.2    Parallel compositions of transition systems

Definition 2. Let J be a non-empty, finite set of indices and let {Mj | j ∈ J} 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(σ) = {j ∈ J | σ ∈ Actj }, and ε ∈      / Actj
for each j ∈ J.

 1. The asynchronous parallel composition of the family {Mj | j ∈ J} of tran-
    sition Y
           systems is the transition
                           [         systemYM = (S, Act,
                                                       [7−→, I, AP, L)[such that
    S =        Sj , Act =     Actj , I =     Ij , AP =    APj , L =     Lj , and
           j∈J               j∈J                 j∈J               j∈J               j∈J
                                                  0                                  σ   0
    7−→ is defined as follows: for every s, s ∈ S and every σ ∈ Act: s 7−→ s if and
    only if the following conditions hold:
              σ
     (a) sj −→j s0j for j ∈ J(σ),
          0
     (b) sj = sj for j ∈ J \ J(σ).
 2. The synchronous parallel composition of the family {Mj | j ∈ J} of transition
                                                                               Ysys-
    tems is the transition system M = (S, Act, −→, I, AP, L) such that S =        Sj ,
                                                                                           j∈J
              Y                          Y                 [                 [
      Act =         (Actj ∪ {ε}), I =          Ij , AP =         APj , L =       Lj , and −→ is
              j∈J                        j∈J               j∈J               j∈J
                                          0                                  σ   0
      defined as follows: for every s, s ∈ S and every σ ∈ Act: s −→ s if and only if
      the following conditions hold:
      (a) (∀j ∈ J) (σj = ε =⇒ s0j = sj ),
      (b) (∃j ∈ J)((σj 6= ε),
                                          σj
      (c) (∀j ∈ J) (σj 6= ε =⇒ sj −→j s0j ),
      (d) (∀i ∈ J)(σi 6= ε =⇒ (∀j ∈ J(σi )) σj = σi ).
480     A. Zbrzezny

                                                  S
    Recall that if |J(σ)| > 1 for an action σ ∈ j∈J Actj , then the action σ is called a
shared action; otherwise, i.e. if |J(σ)| = 1, it is called a local action. The actions from
Act are called joint actions.
    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 ∈ J(σ).
    In the transition system M being the synchronous parallel composition of a family
of transition systems a joint action σ ∈ 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 ∈ J(σ).
                                                                       σ
    Observe that if s 7−→ s0 then there exists σ ∈ 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     Boolean Encodings of States, Actions and Transition Relations
We start with describing the Boolean encoding of states, actions and the transition re-
lation 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 →.
     Let {Mj | j ∈ J} be a finite family of transition systems and let M be the parallel
composition (either asynchronous or synchronous) of {Mj | j ∈ J}. 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 |Sj |e. 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 .
     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 |Act|e. 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 .
     Let SV = {w1 , w2 , . . .} be a set of propositional state variables and AV =
{v1 , v2 , . . .} be a set of propositional action variables. We assume that SV ∩ AV = ∅.
                                   On Boolean Encodings of Transition Relation . . .       481

Moreover, let P V = SV ∪ AV and V : P V → {0, 1} be a valuation of propositional
                                                       N
variables (a valuation for short). For every m, r ∈ + each valuation V induces the
functions S : SV m → {0, 1}m and A : AV r → {0, 1}r defined as follows:
                      S(wj1 , . . . , wjm ) = (V (wj1 ), . . . , V (wjm ))
                       A(vj1 , . . . , vjr ) = (V (vjr ), . . . , V (vjr ))
    Our aim is to define either a Boolean formula T (w, w0 ) so that for each valuation
V ∈ {0, 1}SV , V satisfies T (w, w0 ) iff S(w) 7−→ S(w0 ) in M or a Boolean for-
mula T (w, a, w0 ) so that for each valuation V ∈ {0, 1}P V , V satisfies T (w, a, w0 ) iff
      S(a)
S(w) −→ S(w0 ) in M.

3.1   The standard Boolean encoding of asynchronous parallel composition
This encoding is implemented in all the SAT-based verification modules of VerICS [5–
10]. In this encoding we use the following auxiliary propositional formulae:
 – Hj (wj , wj0 ) for j ∈ J is a Boolean formula defined so that for each valuation
   V ∈ {0, 1}SV , V satisfies T (wj , wj0 ) iff S(wj0 ) = S(wj );
 – Tj,σ (wj , wj0 ) for j ∈ J and σ ∈ Actj is a Boolean formula defined so that for each
                                                           σ
   V ∈ {0, 1}SV , V satisfies Tj,σ (wj , wj0 ) iff S(wj ) −→ S(wj0 ) in Mj .
Now it is possible to define the Boolean formula T (w, w0 )
                                                                                  
                         _        ^                       ^
         T (w, w0 ) =                 Tj,σ (wj , wj0 ) ∧            Hj (wj , wj0 )
                       σ∈Act    j∈J(σ)                     j ∈J(σ)
                                                             /

which symbolically encodes the transition relation 7−→ of the asynchronous parallel
composition of the family {Mj | j ∈ J}.

3.2   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 [11],
which was recently accepted for publication. However, the encoding in question was
not described in [11]. In this encoding we use the following auxiliary propositional
formulae:
 – Hσ (aj ) for j ∈ J and σ ∈ Actj ∪ {ε} is a Boolean formula defined so that for
   each valuation V ∈ {0, 1}AV , V satisfies Hσ (aj ) iff A(aj ) = σ;
 – Tj,σ (wj , aj , wj0 ) for j ∈ J and σ ∈ Actj is a Boolean formula defined so that
   for each valuation V ∈ {0, 1}P V , V satisfies Tj,σ (wj , aj , wj0 ) iff A(aj ) = σ and
             σ
   S(wj ) −→ S(wj0 ) in Mj .
Now we can define the Boolean formula Tj (wj , aj , wj0 )
                                                            _
        Tj (wj , aj , wj0 ) = H(wj , wj0 ) ∧ Hε (aj ) ∨            Tj,σ (wj , aj , wj0 )
                                                     

                                                          σ∈Actj
482       A. Zbrzezny

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 {Mj | j ∈ J}.
                                                                               
                  ^                        ^       ^               ^
  T (w, a, w0 ) =    Tj (wj , aj , wj0 ) ∧           Hσ (aj ) ∨        Hε (aj )
                    j∈J                     σ∈Act   j∈J(σ)            j∈J(σ)

    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 subfor-
mula 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.

3.3    A new Boolean encoding of asynchronous parallel composition
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 com-
position. In the new encoding for asynchronous parallel composition b stands for a
vector (of the length dlog2 |Act|e) of propositional action variables so that every ac-
tion 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 ∈ J and σ ∈ Actj is a Boolean formula defined so that
   for each valuation V ∈ {0, 1}P V , V satisfies Tj,σ (wj , b, wj0 ) iff A(b) = σ and
             σ
   S(wj ) −→ S(wj0 ) in Mj .
    Now we can define the Boolean formula Tj (wj , b, wj0 ) which symbolically encodes
the transition relation −→j of Mj :
                                                   
                                        ^                     _
    Tj (wj , b, wj0 ) = H(wj , wj0 ) ∧    ¬Hσ (b) ∨               Tj,σ (wj , b, wj0 )
                                          σ∈Actj             σ∈Actj


      Intuitively, Tj (wj , b, wj0 ) assures that either A(b) ∈
                                                              / Actj and S(wj ) = S(wj0 )
                                                               A(b)
(i.e. no action is performed in Mj in a given step) or S(wj ) −→ S(wj0 ) in Mj .
     Eventually, we define the Boolean formula T (w, b, w0 ) which symbolically en-
codes the transition relation 7−→ of the synchronous parallel composition of the family
{Mj | j ∈ J}:
                                    ^                    _
                    T (w, b, w0 ) =    Tj (w, b, w0 ) ∧        Hσ (b)
                                    j∈J                  σ∈Act

     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 σ ∈ Act.
                                    On Boolean Encodings of Transition Relation . . .   483

4   Experimental Results
Our experiments were performed on a computer equipped with Intel Xeon 2 GHz pro-
cessor, 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 [12] in version 957 to test the satisfiability of the propositional formulae
generated by the module BMC4ECTLS [9].
    As the first benchmark we used the generic pipeline paradigm (GPP) introduced in
[13]. 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.




               Fig. 1. The automata for the Sender, the Nodes and the Producer.


     As the second benchmark we used the train controller system (TC) introduced in
[14]. The TC consists of a controller, and n trains (for n > 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.
     As the third benchmark we used the dining philosophers problem [15, 16]. 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 philoso-
pher, 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
484     A. Zbrzezny




                   Fig. 2. The automata for the Trains and the Controller.


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.




         Fig. 3. The automata for the j-th Philosopher, the j-th Fork and the Lackey.


    Let I(w) be a propositional formula such that for each valuation V ∈ {0, 1}SV , 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,
                                    On Boolean Encodings of Transition Relation . . .   485

 – 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 composi-
   tion.

    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.
    Moreover, the results from Table 1 show that the encoding of the transition rela-
tion 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.


                Encoding of the (? Max) number Number of Number of
               transition relation of components variables     clauses
                                Generic Pipeline Paradigm
                                          ?
                      New                   105000    3727243 10131599
                                            ?
                      Sync                    28000   3689932  8130256
                      New                     28000    989629  2688769
                                              ?
                       Old                      1800  3283218  9833442
                      Sync                      1800   190792    426140
                      New                       1800    63577    172637
                                    Train Controller
                                            ?
                      New                     87000   3829207 10617501
                                            ?
                      Sync                    29000   4262182  9800524
                      New                     29000   1320132  3670282
                                              ?
                       Old                      2800  3991404 11949004
                      Sync                      2800   346605    809243
                      New                       2800   131235    365609
                                   Dining Philosophers
                                              ?
                      New                       2400   288650    805804
                                              ?
                      Sync                      2350   812694  1994856
                      New                       2350   283150    790554
                                              ?
                       Old                      1150  3374711 10137875
                      Sync                      1150   376831    927590
                      New                       1150   138855    387680

      Table 1. Results for the formula ϕ0 generated by the SAT-based BMC translations



   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-
486                                        A. Zbrzezny

                                                     Clauses for GPP, Formula 0                                                                          Clauses for TC, Formula 0                                                                                  Clauses for DP, Formula 0
                          40000                                                                                                25000                                                                                                    100000

                                                                                                                                                                                                                                        90000
                          35000
                                                                                                                               20000                                                                                                    80000
                          30000
                                                                                                                                                                                                                                        70000
      Number of clauses




                                                                                                           Number of clauses




                                                                                                                                                                                                                    Number of clauses
                          25000
                                                                                                                               15000                                                                                                    60000

                          20000                                                                                                                                                                                                         50000

                                                                                                                               10000                                                                                                    40000
                          15000
                                                                                                                                                                                                                                        30000
                          10000
                                                                                                                               5000                                                                                                     20000
                          5000                                                          OLD-ASYNC                                                                                              OLD-ASYNC                                                                                             OLD-ASYNC
                                                                                        NEW-ASYNC                                                                                              NEW-ASYNC                                10000                                                        NEW-ASYNC
                                                                                             SYNC                                                                                                   SYNC                                                                                                  SYNC
                             0                                                                                                    0                                                                                                         0
                                      10   20   30    40        50       60        70     80    90   100                                  10   20   30    40        50       60           70     80      90   100                                 10     20    30    40        50       60      70     80    90   100
                                                           Number of nodes                                                                                     Number of nodes                                                                                            Number of nodes




                                                                                          Fig. 4. Number of clauses for the formula ϕ0 .


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) = {s}.
     For the GPP we have tested the following two formulae:

                          – ϕ1 (n) = EF(Received)
                          – ϕ2 (n) = EF(Send1 ∧ . . . ∧ Sendn )

    Let us note that for the asynchronous parallel composition the witness for the for-
mula ϕ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.


                                                                     Total memory for GPP, Formula 1                                                                                                                                         Total time for GPP, Formula 1
                          1000                                                                                                                                                     3000


                                                                                                                                                                                   2500


                            100                                                                                                                                                    2000
Memory in MB.




                                                                                                                                                                    Time in sec.




                                                                                                                                                                                   1500


                             10                                                                                                                                                    1000


                                                                                                                                       OLD-ASYNC                                   500                                                                                                       OLD-ASYNC
                                                                                                                                       NEW-ASYNC                                                                                                                                             NEW-ASYNC
                                                                                                                                            SYNC                                                                                                                                                  SYNC
                                  1                                                                                                                                                  0
                                                                                  10                                                                     100                                        10         20                            30        40           50                 60              70         80
                                                                                   Number of nodes                                                                                                                                                 Number of trains




                                                                        Fig. 5. Experimental results for GPP and the formula ϕ1 .




                                                                    Total memory for GPP, Formula 2                                                                                                                                          Total time for GPP, Formula 2
                          100                                                                                                                                                      1000
                                                                                                                                                                                   900
                                                                                                                                                                                   800
                                                                                                                                                                                   700
                            10
Memory in MB.




                                                                                                                                                                    Time in sec.




                                                                                                                                                                                   600
                                                                                                                                                                                   500
                                                                                                                                                                                   400
                             1
                                                                                                                                                                                   300
                                                                                                                                                                                   200
                                                                                                                                       OLD-ASYNC                                                                                                                                             OLD-ASYNC
                                                                                                                                       NEW-ASYNC                                   100                                                                                                       NEW-ASYNC
                                                                                                                                            SYNC                                                                                                                                                  SYNC
                           0.1                                                                                                                                                       0
                                                                              10                                                                         100                                    5             10                           15         20            25                30              35          40
                                                                               Number of nodes                                                                                                                                                     Number of trains




                                                                        Fig. 6. Experimental results for GPP and the formula ϕ2 .
                                                                                                 On Boolean Encodings of Transition Relation . . .                                                                                          487

                     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 ))

    Let us note that for the asynchronous parallel composition the witness for the for-
mula ϕ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.


                                                      Total memory for TC, Formula 1                                                                                           Total time for FTC, Formula 1
                1200                                                                                                                       1600

                                                                                                                                           1400
                1000
                                                                                                                                           1200
                 800
Memory in MB.




                                                                                                                                           1000



                                                                                                                            Time in sec.
                 600                                                                                                                       800

                                                                                                                                           600
                 400
                                                                                                                                           400
                 200                                                                           OLD-ASYNC                                                                                                               OLD-ASYNC
                                                                                               NEW-ASYNC                                   200                                                                         NEW-ASYNC
                                                                                                    SYNC                                                                                                                    SYNC
                     0                                                                                                                       0
                         0   2000   4000       6000      8000   10000      12000       14000    16000       18000   20000                         0   2000       4000   6000     8000   10000      12000       14000    16000       18000   20000
                                                            Number of trains                                                                                                        Number of trains




                                                        Fig. 7. Experimental results for TC and the formula ϕ1 .




                                                  Total memory for TC, Formula 2                                                                                               Total time for FTC, Formula 2
                30                                                                                                                         1400


                25                                                                                                                         1200

                                                                                                                                           1000
                20
Memory in MB.




                                                                                                                            Time in sec.




                                                                                                                                           800
                15
                                                                                                                                           600
                10
                                                                                                                                           400

                 5                                                                             OLD-ASYNC                                   200                                                                         OLD-ASYNC
                                                                                               NEW-ASYNC                                                                                                               NEW-ASYNC
                                                                                                    SYNC                                                                                                                    SYNC
                 0                                                                                                                           0
                     2          3          4               5              6              7              8            9                            2          3          4             5             6             7             8            9
                                                           Number of trains                                                                                                          Number of trains




                                                        Fig. 8. Experimental results for TC and the formula ϕ2 .


                     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 ))

    Let us note that for the asynchronous parallel composition the witness for the for-
mula ϕ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 > 6 and 9 otherwise. The experimental results for the tested formulae ϕ5 and ϕ6 , are
presented at the pictures 7 and 8 respectively.
488                        A. Zbrzezny

                                    Total memory for DP, Formula 1                                                      Total time for DP, Formula 1
                10000                                                                                      10000


                                                                                                           1000
                 1000
                                                                                                            100
Memory in MB.




                                                                                            Time in sec.
                  100                                                                                        10


                                                                                                              1
                      10
                                                                        OLD-ASYNC                            0.1                                          OLD-ASYNC
                                                                        NEW-ASYNC                                                                         NEW-ASYNC
                                                                             SYNC                                                                              SYNC
                      1                                                                                     0.01
                              10           100                       1000           10000                          10         100                      1000           10000
                                       Number of Philosophers                                                             Number of Philosophers




                                      Fig. 9. Experimental results for DP and the formula ϕ1 .

                                   Total memory for DP, Formula 2                                                       Total time for DP, Formula 2
                100                                                                                        10000


                                                                                                           1000
Memory in MB.




                                                                                            Time in sec.
                                                                                                            100
                10
                                                                                                             10


                                                                                                              1
                                                                        OLD-ASYNC                                                                         OLD-ASYNC
                                                                        NEW-ASYNC                                                                         NEW-ASYNC
                                                                             SYNC                                                                              SYNC
                 1                                                                                           0.1
                                                                                     10                                                                                10
                                      Number of Philosophers                                                              Number of Philosophers




                                    Fig. 10. Experimental results DP and for the formula ϕ2 .


5                     Conclusions and Future Work

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 composi-
tion 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.
     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(|Act| · n),
whereas the length of the resulting Boolean formula for our new Boolean encoding for
asynchronous parallel composition is O(|Act| · log |Act|).
     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 experimen-
tal results for these formulae confirm that the new encoding for asynchronous seman-
tics 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.
     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
                                     On Boolean Encodings of Transition Relation . . .     489

synchronous semantics, it is worth to apply the synchronous semantics instead of the
asynchronous one.
    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.


References
 1. Clarke, E.M.: The birth of model checking. In: 25 Years of Model Checking - History,
    Achievements, Perspectives. Volume 5000 of Lecture Notes in Computer Science., Springer
    (2008) 1–26
 2. Clarke, E.M.: Model checking - my 27-year quest to overcome the state explosion prob-
    lem. In: Logic for Programming, Artificial Intelligence, and Reasoning, 15th International
    Conference, LPAR 2008, Doha, Qatar, November 22-27, 2008. Proceedings. Volume 5330
    of Lecture Notes in Computer Science., Springer (2008) 182
 3. Clarke, E.M., Emerson, E.A., Sifakis, J.: Model checking: algorithmic verification and de-
    bugging. Communications of the ACM 52(11) (2009) 74–84
 4. Baier, C., Katoen, J.P.: Principles of model checking. MIT Press (2008)
 5. Zbrzezny, A.: Improvements in SAT-based reachability analysis for timed automata. Funda-
    menta Informaticae 60(1-4) (2004) 417–434
 6. Zbrzezny, A.: SAT-based reachability checking for timed automata with diagonal con-
    straints. Fundamenta Informaticae 67(1-3) (2005) 303–322
 7. Kacprzak, M., Nabiałek, W., Niewiadomski, A., Penczek, W., Półrola, A., Szreter, M.,
    Woźna, B., Zbrzezny, A.: VerICS 2007 - a model checker for knowledge and real-time.
    Fundamenta Informaticae 85(1-4) (2008) 313–328
 8. Zbrzezny, A.: Improving the translation from ECTL to SAT. Fundamenta Informaticae
    85(1-4) (2008) 513–531
 9. Zbrzezny, A.: A new translation from ECTL∗ to SAT. Fundamenta Informaticae 120(3-4)
    (2012) 377–397
10. Zbrzezny, A., Półrola, A.: SAT-based reachability checking for timed automata with discrete
    data. Fundamenta Informaticae 79(3-4) (2007) 579–593
11. M˛eski, A., Penczek, W., Szreter, M., Woźna-Szcześniak, B., Zbrzezny, A.: BDD- versus
    SAT-based bounded model checking for the existential fragment of linear temporal logic
    with knowledge: Algorithms and their performance. Autonomous Agents and Multi-Agent
    Systems (2013) to appear.
12. Biere, A.: Picosat essentials. Journal on Satisfiability, Boolean Modeling and Computation
    (JSAT) 4 (2008) 75–97
13. Peled, D.: All from one, one for all: On model checking using representatives. In: Proc.
    of the 5th Int. Conf. on Computer Aided Verification (CAV’93). Volume 697 of LNCS.,
    Springer-Verlag (1993) 409–423
14. Hoek, W., Wooldridge, M.: Cooperation, knowledge, and time: Alternating-time temporal
    epistemic logic and its applications. Studia Logica 75(1) (2003) 125–157
15. Dijkstra, E.: Hierarchical ordering of sequential processes. Acta Inf. 1 (1971) 115–138
16. Hoare, C.: Communicating sequential processes. Prentice Hall (1985)