<!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>Bounded Model Checking Approaches for Verification of Distributed Time Petri Nets ?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Artur M¸eski</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Wojciech Penczek</string-name>
          <email>penczek@ipipan.waw.pl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Agata Półrola</string-name>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Bożena Woźna-Szcześniak</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andrzej Zbrzezny</string-name>
          <email>a.zbrzezny@ajd.czest.pl</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Computer Science</institution>
          ,
          <addr-line>PAS, Ordona 21, 01-237 Warsaw</addr-line>
          ,
          <country country="PL">Poland</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Jan Długosz University</institution>
          ,
          <addr-line>IMCS, Armii Krajowej 13/15, 42-200 Cz ̧estochowa</addr-line>
          ,
          <country country="PL">Poland</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Maja 54</institution>
          ,
          <addr-line>08-110 Siedlce</addr-line>
          ,
          <country country="PL">Poland</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>University of Łódź, FMCS</institution>
          ,
          <addr-line>Banacha 22, 90-238 Łódź</addr-line>
          ,
          <country country="PL">Poland</country>
        </aff>
      </contrib-group>
      <fpage>72</fpage>
      <lpage>91</lpage>
      <abstract>
        <p>We consider two symbolic approaches to bounded model checking (BMC) of distributed time Petri nets (DTPNs). We focus on the properties expressed in Linear Temporal Logic without the neXt-time operator (LTL−X) and the existential fragment of Computation Tree Logic without the neXt-time operator (ECTL−X). We give a translation of BMC to SAT and describe a BDD-based BMC for both LTL−X and ECTL−X. The two translations have been implemented, tested, and compared with each other on two standard benchmarks. Our experimental results reveal the advantages and disadvantages of both the approaches.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Verification of time dependent systems is a very active field of research. Many
efficient approaches have been put forward for the verification of timed automata
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and time Petri nets [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] by means of model checking [
        <xref ref-type="bibr" rid="ref12 ref26">12, 26</xref>
        ]. However, the
state explosion still remains the main problem to deal with while verifying a
timed system by searching through its state space, which in most cases is very
large due to infinity of the dense time domain. Furthermore, the size of the state
space is likely to grow exponentially in the number of the concurrent system
components. Symbolic model checking techniques [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] can be used to overcome
the above problem. These exploit various kinds of binary decision diagrams to
represent the model [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] or are based on a translation to a propositional
satisfiability problem.
      </p>
      <p>
        Bounded model checking (BMC) is an efficient verification method using a
model truncated up to a specific depth only. In turn, SAT-based BMC
verification consists in translating a model checking problem solvable on a fraction of a
model into a test of propositional satisfiability, which is then performed using a
SAT-solver [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ]. The method has been successfully applied to verification of both
timed and untimed systems [
        <xref ref-type="bibr" rid="ref3 ref33 ref4 ref5">3–5, 33</xref>
        ]. Alternatively, one can use binary decision
diagrams to represent a truncated model and to perform BDD-based verification
[
        <xref ref-type="bibr" rid="ref13 ref2">2, 13</xref>
        ].
      </p>
      <p>In this paper we investigate bounded model checking (BMC) approaches to
verification of Distributed Time Petri Nets with discrete semantics, based on
both SAT and BDD translations. There are several decisions taken that aim at
making the verification of TPNs as efficient as possible. Below, we discuss them
in detail to motivate clearly our approach. First of all, we believe that BMC
is one of the main practical approaches, which can be used in case of dealing
with huge or infinite state spaces. We motivate this point of view by comparing
our experimental results with these of Tina, which operate on full state spaces.
Clearly, BMC is restricted to verifying existential properties only, but it allows
for tackling bounded models of large systems, whereas other approaches suffer
from lack of memory.</p>
      <p>Our second choice consists in dealing with distributed TPNs rather than with
just 1-safe TPNs. The reason is that a representation of a global state contains
only one clock for each process rather than one clock for each transition, which
makes the encoding and the verification much more efficient. Another choice
is related to the semantics. In this paper we investigate discrete semantics as
we believe that in this case model checking is again more efficient. However,
independently we are working on extending our approach to the dense semantics
as we are aware that this is also a very interesting issue. Since there are several
discrete semantics, we consider for each translation these which can be applied.</p>
      <p>As to the temporal properties, we start with defining CTL∗−X, but restrict
ourselves two its two subsets CTL−X and LTL−X, as these sublanguages allow
for optimising the translations to SAT and BDDs. The languages do not contain
the next step operator X as we are dealing with time systems, in which, for some
discrete semantics, the next step may be not definable.</p>
      <p>
        Next, we need to motivate our translations to SAT and BDDs. We are aware
of the fact that there has been a tremendous speed-up due to applying the
saturation technique [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] when performing decision diagram based verification.
Moreover, the saturation combined with BMC was presented in [
        <xref ref-type="bibr" rid="ref34">34</xref>
        ], however
only reachability checking was considered. Still, we believe, in most cases, BMC
approach to BDD-based verification can be viewed as an alternative way of
avoiding the BDD peak size when using BFS. In case of SAT we exploit the
most efficient translations known for ECTL−X and ELTL−X.
      </p>
      <p>The above discussion motivates all the choices made in our paper and leads
us to the main result, which is offering and comparing two symbolic BMC
approaches for DTPNs. We show that for existential properties our BMC is much
more efficient than Tina. We also compare efficiency of BMC depending on
whether it is based on a translation to SAT or to BDD.</p>
      <p>
        The main contribution of this paper is thus the combination of the three
issues, as BMC has been studied, with both BDDs and, especially, SAT, but
mostly for standard untimed models, while discrete time Petri nets have been
studied with BDDs and extensions (e.g., [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ]), but not for BMC.
      </p>
      <p>
        To our best knowledge, no BMC method supporting ELTL−X and ECTL−X
for time Petri nets has been defined so far, although some solutions for untimed
Petri nets exist [
        <xref ref-type="bibr" rid="ref16 ref27">27, 16</xref>
        ]. Symbolic model checking has been investigated in many
papers [
        <xref ref-type="bibr" rid="ref2 ref5">2, 5</xref>
        ]. Verification of CTL properties based on BDDs was introduced in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
In [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ] SAT-based BMC for the existential fragment of CTL was described and
implemented for elementary net systems. Verification methods using BDD-based
BMC were studied in [
        <xref ref-type="bibr" rid="ref10 ref13">10, 13</xref>
        ] for simple invariant properties, in [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] for CTL
over elementary nets systems, and in [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] for CTL extended with an epistemic
component over multi-agent systems. On the other hand, verification of temporal
properties for time Petri nets was a subject of intensive research of the teams of
H. Boucheneb and O.H. Roux [
        <xref ref-type="bibr" rid="ref20 ref6 ref7">6, 7, 20</xref>
        ].
      </p>
      <p>The rest of the paper is organised as follows. Section 2 presents logics LTL−X
and CTL−X. Section 3 introduces time Petri nets. SAT-based BMC for ELTL−X
and ECTL−X is described in Section 4, whereas BDD-based BMC for these logics
is in Section 5. Sections 6 and 7 contain respectively experimental results and
concluding remarks.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Temporal Logics LTL−X and CTL−X</title>
      <p>We start with defining the logic CTL∗−X, which can express both linear- and
branching-time properties. Then, we introduce variants of linear time temporal
logic (LTL−X) as well as of branching time temporal logic (CTL−X) as sublogics
of CTL∗−X. All the considered logics do not contain the next step operator X,
which is reflected in their acronyms by −X.</p>
      <p>Let P V be a set of propositional variables such that {true, f alse} ⊆ P V , and
℘ ∈ P V . The language of CTL∗−X is given as the set of all the state formulae ϕs
(interpreted at states of a model), defined using path formulae ϕp (interpreted
along paths of a model), by the following grammar:</p>
      <p>ϕs := ℘ | ¬ϕs | ϕs ∨ ϕs | Aϕp
ϕp := ϕs | ¬ϕp | ϕp ∨ ϕp | ϕp Uϕp | ϕp Rϕp
In the above A (’for All paths’) is a path quantifier, whereas U (’Until’), and
R (’Release’) are state operators. Further, the following standard abbreviations
def def
are used in writing CTL∗−X formulae: ϕs ∧ ϕs = ¬(¬ϕs ∨ ¬ϕs ), ϕp ∧ ϕp =
¬(¬ϕp ∨ ¬ϕp ), Eϕp d=ef ¬A(¬ϕp ), Gϕp d=ef f alseRϕp , and Fϕp d=ef trueUϕp .</p>
      <p>Next, we define several sublogics of CTL∗−X including variants of LTL−X
as well as of CTL−X. Although a standard model for LTL−X is a path, for
verification aims the logic is typically interpreted over all the paths of a Kripke
model. So, two semantics are possible depending on whether a formula holds at
all the paths or at some path of a model. Since we need to distinguish between
these two semantics (in order to specify counterexamples), we find it useful to
do it already at the level of the language by defining the universal ( ALTL−X)
and the existential (ELTL−X) versions of the logic. In the literature on the
verification of linear time properties, if this distinction is not necessary, then
ALTL−X is typically called LTL−X.</p>
      <p>ALTL−X (ELTL−X) is the fragment of CTL∗−X in which only the formulae of
the form Aϕp (Eϕp , respectively) are allowed, where ϕp is a path formula
which does not contain the path quantifiers A, E.</p>
      <p>CTL−X is the fragment of CTL∗−X in which the syntax of path formulae is
restricted such that each state operators must be preceded by a path quantifier
(i.e., the modalities A, E, U, R can only appear paired in the combinations
AU, EU, AR, ER).</p>
      <p>ACTL−X (ECTL−X) is the fragment of CTL−X such that the formulae are
restricted to the positive boolean combinations of A(ϕUψ) and A(ϕRψ)
(E(ϕUψ) and E(ϕRψ), respectively). Negation can be applied to
propositions only.</p>
      <p>A model for CTL∗−X is a Kripke structure M = (L, S, s0, →, V ), where L is a set
of labels, S is a set of states, s0 ∈ S is the initial state, → ⊆ S × L × S is a
total successor relation (i.e., (∀s ∈ S)(∃s0 ∈ S)(s→s0)), and V : S −→ 2P V is a
valuation function.</p>
      <p>
        In our paper we assume the standard semantics of CTL∗−Xwhich can be found
in several papers, among others in [
        <xref ref-type="bibr" rid="ref11 ref12">11, 12</xref>
        ], so we do not deliver it here. Moreover,
we assume that a CTL∗−X formula ϕ is true in the model M (denoted by M |= ϕ)
iff ϕ is true at the initial state of the model, i.e., M, s0 |= ϕ.
3
      </p>
      <p>Time Petri Nets
Let IN denote the set of natural numbers. We start with a definition of time
Petri nets:
Definition 1. A time Petri net (TPN) is a tuple N = (P, T, F, m0, Ef t, Lf t),
where P = {p1, . . . , pnP } is a finite set of places, T = {t1, . . . , tnT } is a finite set
of transitions, F ⊆ (P × T ) ∪ (T × P ) is the flow relation , m0 ⊆ P is the initial
marking of N , and Ef t : T → IN, Lf t : T → IN ∪ {∞} are functions describing
the earliest and the latest firing time of the transition; where for each t ∈ T we
have Ef t(t) ≤ Lf t(t).</p>
      <p>For a transition t ∈ T we define its preset •t = {p ∈ P | (p, t) ∈ F } and postset
t• = {p ∈ P | (t, p) ∈ F }, and consider only the nets such that for each transition
the preset and the postset are nonempty. We need also the following notations
and definitions:
– a marking of N is any subset m ⊆ P ;
– a transition t ∈ T is called enabled at m (m[ti for short) if •t ⊆ m and
t • ∩(m \ •t) = ∅; and leads from m to m0, if it is enabled at m, and m0 =
(m \ •t) ∪ t•. The marking m0 is denoted by m[ti as well, if this does not lead
to misunderstanding;
– en(m) = {t ∈ T | m[ti} is the set of all the transitions enabled at the marking
m;
– a marking m ⊆ P is reachable if there exists a sequence of transitions t1, . . . , tl ∈
T and a sequence of markings m0, . . . , ml such that m0 = m0, ml = m, and
for each i ∈ {1, . . . , l} ti ∈ en(mi−1) and mi = mi−1[tii;
– a marking m concurrently enables two transitions t, t0 ∈ T if t ∈ en(m) and
t0 ∈ en(m \ •t);
– a net is sequential if no reachable marking of N concurrently enables two
transitions.</p>
      <p>
        It should be mentioned that the time Petri nets defined as above are often called
1-safe in the literature. In this work we consider a subclass of TPNs – distributed
time Petri nets (DTPNs) [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ]:
Definition 2. Let I = {i1, . . . , in} be a finite ordered set of indices, and let
N = {Ni = (Pi, Ti, Fi, mi0, Ef ti, Lf ti) | i ∈ I} be a family of 1-safe,
sequential time Petri nets (called processes), indexed with I, with the pairwise
disjoint sets Pi of places, and satisfying the condition (∀i1, i2 ∈ I)(∀t ∈ Ti1 ∩
Ti2 ) (Ef ti1 (t) = Ef ti2 (t) ∧ Lf ti1 (t) = Lf ti2 (t)). A distributed time Petri
net N = (P, T, F, m0, Ef t, Lf t) is the union of the processes Ni, i.e., P =
Si∈I Pi, T = Si∈I Ti, F = Si∈I Fi, m0 = Si∈I mi0, Ef t = Si∈I Ef ti, and
Lf t = Si∈I Lf ti.
      </p>
      <p>Notice that the function Ef ti1 (Lf ti1 ) coincides with Ef ti2 (Lf ti2 , resp.) for the
joint transitions of each two processes i1 and i2. The interpretation of such a
system is a collection of sequential, nondeterministic processes with communication
capabilities (via joint transitions).</p>
      <p>
        In what follows, we consider DTPNs only, assume that their initial markings
contain exactly one place of each of the processes of the net, and that all their
processes are state machines (i.e., for each i ∈ I and each t ∈ Ti, it holds
| • t| = |t • | = 1). This implies that in any marking of N there is exactly one
place of each process. It is important to mention that a large class of distributed
nets can be decomposed to satisfy the above requirement [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. Moreover, for
t ∈ T we define IV(t) = {i ∈ I | •t ∩ Pi 6= ∅}, and say that a process Ni is
involved in a transition t iff i ∈ IV(t).
3.1
      </p>
      <p>
        Concrete State Spaces and Models
The current state of the net is given by its marking and the time passed since
each of the enabled transitions became enabled (which influences the future
behaviour of the net). In our work we assume a discrete-time semantics of DTPNs,
i.e., consider integer time passings only (cf. [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ]). Thus, a concrete state σ of a
distributed TPN N can be defined as an ordered pair (m, clock), where m is
a marking, and clock : I → IN is a function which for each index i of a
process of N gives the time elapsed since the marked place of this process became
marked most recently [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ]. The set of all the concrete states is denoted by Σ.
The initial state of N is σ0 = (m0, clock0), where m0 is the initial marking, and
clock0(i) = 0 for each i ∈ I.
      </p>
      <p>For δ ∈ IN, let clock + δ denote the function given by (clock + δ)(i) =
clock(i) + δ, and let (m, clock) + δ denote (m, clock + δ). The states of N can
change when the time passes or a transition fires. In consequence, we introduce
a labelled timed consecution relation →c⊆ Σ × (T ∪ IN) × Σ given as follows:
– In a state σ = (m, clock) a time δ ∈ IN can pass leading to a new state
δ
σ0 = (m, clock + δ) (denoted σ →c σ0) iff for each t ∈ en(m) there exists
i ∈ IV(t) such that clock(i) + δ ≤ Lf t(t) (time-successor relation);
– In a state σ = (m, clock) a transition t ∈ T can fire leading to a new state
t
σ0 = (m0, clock0) (denoted σ →c σ0) if t ∈ en(m), for each i ∈ IV(t) we
have clock(i) ≥ Ef t(t), and there is i ∈ IV(t) such that clock(i) ≤ Lf t(t).
Then, m0 = m[ti,and for all i ∈ I we have clock0(i) = 0 if i ∈ IV(t), and
clock0(i) = clock(i) otherwise (action-successor relation).</p>
      <p>Intuitively, the time-successor relation does not change the marking of the net,
but increases the clocks of all the processes, provided that no enabled transition
becomes disabled by passage of time (i.e., for each t ∈ en(m) the clock of at
least one process involved in the transition does not exceed Lf t(t)). Firing of
a transition t takes no time – the action-successor relation does not increase
the clocks, but only sets to zero the clocks of the involved processes (note that
each of these processes contains exactly one input and one output place of t, as
the processes are state machines); and is allowed provided that t is enabled, the
clocks of all the involved processes are greater than Ef t(t), and there is at least
one such process whose clock does not exceed Lf t(t).</p>
      <p>We define a timed run of N starting at a state σ0 ∈ Σ (σ0-run) as a maximal
a0 a1
sequence of concrete states, transitions, and time passings ρ = σ0 →c σ1 →c
a2
σ2 →c . . ., where σi ∈ Σ and ai ∈ T ∪ IN for all i ∈ IN. An alternating run
is a timed run in which ai ∈ IN when i is even, and ai ∈ T when i is odd. A
non-alternating run is a timed run with ai ∈ T ∪ (IN \ {0}) for all i. Given a set
of propositional variables P V , we introduce a valuation function Vc : Σ → 2P V
which assigns the same propositions to the states with the same markings. We
assume the set P V to be such that each q ∈ P V corresponds to exactly one
place p ∈ P , and use the same names for the propositions and the places. The
function Vc is defined by p ∈ Vc(σ) ⇔ p ∈ m for each σ = (m, ·). The structure
Mc(N ) = (T ∪ IN, Σ, σ0, →c, Vc) is called a concrete (discrete-timed) model of N .
3.2</p>
      <p>A Model for CTL∗−XVerification of DTPNs
The concrete model Mc(N ) = (T ∪ IN, Σ, σ0, →c, Vc) for a DTPN N defined in
Section 3 involves timed steps of arbitrary length. However, it can be proven
that without loss of generality one can consider a model with a restricted set of
timed labels, and of restricted values of the clock function. Let cmax(N ) denote
the greatest finite value of Ef t and Lf t of the net N , cm1 denote the value
cmax(N ) + 1, and CN be the set of natural numbers from the interval [0, cm1].
Next, for a function f : T → IN and a ∈ IN, let f |a denote the function given by
f |a(t) = f (t) if f (t) ≤ a, and f |a(t) = a otherwise. Let clocks : I → CN denote
the function which for each index i of a process of N gives the time either elapsed
since the marked place of this process became marked most recently, or “frozen”
on the value cm1 if the time elapsed since the marked place becomes marked
exceeded cmax(N ). Let σ|cm1 , for σ = (m, clock) ∈ Σ, be the state (m, clocks)
with clocks = clock|cm1 . Moreover, for δ ∈ IN, let clocks ⊕ δ denote the function
given by (clocks ⊕δ)(i) = clocks(i)+δ if clocks(i)+δ ≤ cm1, and (clocks ⊕δ)(i) =
cm1 otherwise. The reduced (discrete-timed) model for DTPN N is defined as
follows: Mcc(N ) = (T ∪ CN , Σs, σ0, →s, Vs), where Σs = {σ|cm1 | σ ∈ Σ}, Vs is
given by Vs(σ|cm1 ) = Vc(σ), and the relation →s⊆ Σs × (T ∪ CN ) × Σs is defined
by
– in a state σs = (m, clocks) a time δ ∈ CN can pass leading to a new state
δ
σs0 = (m, clocks ⊕ δ) (denoted σs →s σs0) iff for each t ∈ en(m) there exists
i ∈ IV(t) such that clocks(i) ⊕ δ ≤ Lf t(t),
– a transition t ∈ T can fire in a state σs = σ|cm1 leading to a state σs0 (denoted
σs →s σs0) iff σ →tc σ0 for some σ0 ∈ Σ s.t. σs0 = σ0|cm1 .</p>
      <p>t
In order to show that Mcc(N ) can replace Mc(N ) in CTL∗−X verification we shall
prove the following lemma:
Lemma 1. For a given DTPN N the models Mc(N ) = (T ∪ IN, Σ, σ0, →c, Vc)
and Mcc(N ) = (T ∪ CN , Σs, σ0, →s, Vs) are bisimulation equivalent.
The proof can be found in the appendix. In the proof we use an “intermediate”
model Mfc(N ) = (T ∪ CN , Σ, σ0, →r, Vc) with →r⊆ Σ × (T ∪ CN ) × Σ given by
– in a state σ = (m, clock) a time δ ∈ CN can pass leading to a new state
δ
σ0 = (m, clock + δ) (denoted σ →r σ0) iff for each t ∈ en(m) there exists
i ∈ IV(t) such that clock(i) + δ ≤ Lf t(t),
t
– a transition t ∈ T can fire in a state σ leading to a state σ0 (σ →r σ0) iff
σ →tc σ0,
(i.e., the model which differs from Mcc(N ) in such a way that the values of the
clock function are not restricted to cm1) which is bisimulation equivalent to
Mc(N ). Further, we define the following equivalence relation, which is used in
the next section to define a SAT-based BMC method.</p>
      <p>Definition 3. Let σ = (m, clock) and σ0 = (m0, clock0) be two states of a DTPN
N (σ, σ0 ∈ Σ). The states σ, σ0 are ?-equivalent (denoted σ '? σ0) iff m = m0
and ∀t∈en(m)[(mini∈IV(t) clock(i) = mini∈IV(t) clock0(i) ∧ mini∈IV(t) clock(i) ≤
cmax(N )) ∨ (mini∈IV(t) clock(i) &gt; cmax(N ) ∧ mini∈IV(t) clock0(i) &gt; cmax(N ))].
The following lemma shows that the equivalence preserves the behaviours of the
net. Its proof can be found in the appendix.</p>
      <p>Lemma 2. Let σ, σ0 ∈ Σ be ?-equivalent. Thus, for any l ∈ T ∪ IN we have:
– if σ →lc σ1 for some σ1 ∈ Σ then there is σ10 ∈ Σ s.t. σ0 →lc σ10 and σ1 '? σ10,
– if σ0 →lc σ10 for some σ10 ∈ Σ then there is σ1 ∈ Σ s.t. σ →lc σ1 and σ10 '? σ1.
4</p>
    </sec>
    <sec id="sec-3">
      <title>SAT-Based BMC for ELTL−X and ECTL−X</title>
      <p>BMC is a verification technique whose main idea consists in considering a model
truncated up to a specific depth. Thus, BMC is mostly used to find
counterexamples for the properties expressed in “universal” logics (in our case ACTL−X and
ALTL−X), or to prove that properties expressed in “existential” logics (ECTL−X,
ELTL−X) hold.</p>
      <p>
        The BMC method used in our paper is based on the BMC method for the
existential fragment of CTL∗−X (ECTL∗−X) [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ], and on an improved BMC
translation for the ECTL−X fragment [
        <xref ref-type="bibr" rid="ref35">35</xref>
        ]. In particular, in the paper we adapt
the BMC techniques mentioned above to the DTPN setting. Let Mfc(N ) =
(T ∪CN , Σ, σ0, →r, Vc) be a model for a given DTPN N = (P, T, F, m0, Ef t, Lf t)
, and ϕ an ECTL−X or ELTL−X formula describing an undesired property. To
show that ϕ is true in Mfc(N ), it is enough to prove that ϕ holds in a
fragment (submodel) M 0 of Mf. Thus, we start by taking a submodel M 0 of the
model Mfc(N ) that consists of the finite prefixes of paths from Mfc(N ) restricted
by a bound k ∈ IN – traditionally called k-paths. The number of k-paths in
M 0 depends on the checked formula ϕ, and it is specified by a value of a
function fk : FECTL∗−X → IN defined by: for ℘ ∈ P V , fk(℘) = fk(¬℘) = 0,
fk(ϕ ∧ ψ) = fk(ϕ) + fk(ψ), fk(ϕ ∨ ψ) = max{fk(ϕ), fk(ψ)}, fk(Eϕ) = fk(ϕ) + 1,
fk(ϕUψ) = k · fk(ϕ) + fk(ψ), fk(ϕRψ) = (k + 1) · fk(ψ) + fk(ϕ). Next, we
translate the problem of checking whether the M 0 is a model for ϕ to the problem of
checking the satisfiability of the following propositional formula:
[Mfc(N ), ϕ]k := [Mfc(N )ϕ,σ0 ]k ∧ [ϕ]M0
(1)
The first conjunct of Formula 1 represents all the submodels M 0 of Mfc(N ) that
consists of fk(ϕ) k-paths, and the second a number of constraints that must
be satisfied on these submodels for ϕ to be satisfied. Once this translation is
defined, satisfiability of an ECTL−X or ELTL−X formula can be tested with a
SAT-solver.
      </p>
      <p>How to define the formula [Mfc(N )ϕ,σ0 ]k in the DTPN settings we show
in the next subsection. Note however that for a given DTPN N , the formula
[Mfc(N )ϕ,σ0 ]k can be implemented either using the model Mfc(N ) or using Mcc(N ).
We have chosen Mfc(N ) in order to simplify the implementation. It should be
explained that although in Mfc(N ) there is no upper bound on the values of
clocks, restricting the lengths of the time steps allows to bound the values of
clocks on k-paths by a value depending on k and cmax(N ). The definition of the
formula [ϕ]M0 depends on whether ϕ is in ECTL−X or in ELTL−X, and whether
considered k-paths are, or are not loops; a k-path πk = (σ0, σ1, . . . , σk) is called
a (k, l)-loop, if
– σk '? σl for some 0 ≤ l &lt; k (the non-alternating semantics).
– σk '? σl for some 0 ≤ l &lt; k, and either both k and l are odd or they are
both even (the alternating semantics).</p>
      <p>The difference in the above definitions follows from the fact that in the
alternating semantics the looping runs need to preserve the alternating structure when
"unfolded", while in the non-alternating semantics their stucture is preserved
without any additional conditions. Using '? instead of the standard equality of
states follows from the fact that for the further possible behaviours of the net
at a given state only the minimal values of the clocks of the processes involved
in the enabled transitions are important.</p>
      <p>
        A k-path πk is called a loop, if it is (k, l)-loop for some l ∈ {0, . . . , k − 1}. In
this paper we assume the definitions of [ϕ]M0 that can be found, respectively, in
[
        <xref ref-type="bibr" rid="ref35">35</xref>
        ] (ECTL−X), and in [
        <xref ref-type="bibr" rid="ref32 ref5">32, 5</xref>
        ] (ELTL−X). However, to apply them to the DTPN
setting, we have changed the definition of the loop to the one presented above.
Definition of formula [Mfc(N )ϕ,σ0 ]k. Let Mfc(N ) = (T ∪ CN , Σ, σ0, →r, Vc)
be a model of a given DTPN N = (P, T, F, m0, Ef t, Lf t), ϕ an ECTL−X
or ELTL−X formula, and k ∈ IN a bound. In order to define the formula
[Mfc(N )ϕ,σ0 ]k that constrains the fk(ϕ) symbolic k-paths to be valid k-paths
of Mfc(N ), we proceed as follows. We assume that each state σ ∈ Σ is given
in a unique binary form, i.e., every state σ can be encoded as a bit vector
(σ[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], . . . , σ[lb]) of length lb depending on the number of places P of N , the
bound k , the value cmax(N ) (i.e., the greatest finite value of Ef t and Lf t), and
the value fk(ϕ). Thus, each state σ can be represented by a valuation of a vector
w = (w[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], . . . , w[lb]) (called a global state variable), where w[i], for i = 1, . . . , lb
is a propositional variable (called state variable)5. A finite sequence (w0, . . . , wk)
of global state variables is called a symbolic k-path. Since in the ECTL−X case
we shall need to consider not just one but a number of symbolic k-paths, we
use the notation of j-th symbolic k-path (w0,j, . . . , wk,j), where wi,j are global
state variables for 0 ≤ j &lt; fk(ϕ) and 0 ≤ i ≤ k; the number of symbolic k-paths
depends on the formula ϕ under investigation, and it is returned as the value
fk(ϕ) of the function fk; note that if ϕ is an ELTL−X formulae then fk(ϕ) = 1.
      </p>
      <p>Let w, w0 be two global state variables. We define the following auxiliary
propositional formulae:
• Iσ(w) is a formula that encodes the state σ of the model Mfc(N ), i.e., σ[i] = 1
is encoded by w[i], and σ[i] = 0 is encoded by ¬w[i].
• T S(w, w0) (T S0(w, w0)) is a formula over w and w0 which is true for two
δ
valuations σw of w and σw0 of w0 iff σw →r σw0 , for δ ∈ CN (δ ∈ CN \ {0},
respectively). It encodes the time-successor relation of Mfc(N ).
• AS(w, w0) is a formula over w and w0 which is true for two valuations σw
t
of w and σw0 of w0 iff σw →r σw0 , for t ∈ T . It encodes the action-successor
relation of Mfc(N ).</p>
      <p>The propositional formula [Mfcϕ,σ0 ]k is defined as follows:
[Mfcϕ,σ0 ]k := Iσ0 (w0,0) ∧</p>
      <p>R(wi,j, wi+1,j)
fk(ϕ)−1 k−1
^ ^
j=0 i=0
where wi,j for 0 ≤ i ≤ k and 0 ≤ j &lt; fk(ϕ) are global state variables, and
(a) R(wi,j, wi+1,j) := T S(wi,j, wi+1,j) when i is even, and R(wi,j, wi+1,j) :=</p>
      <p>AS(wi,j, wi+1,j) when i is odd (the alternating semantics), or
(b) R(wi,j, wi+1,j) := T S0(wi,j, wi+1,j) ∨ AS(wi,j, wi+1,j) (the non-alternating
semantics).
5 Notice that we distinguish between states of Σ encoded as sequences of 0’s and
1’s (we refer to these as valuations of w), and their representations in terms of
propositional variables w[i].
Note that if ϕ is an ELTL−X formula, then fk(ϕ) = 1, and the above definition
is equivalent to the following one: [Mfcϕ,σ0 ]k := Iσ0 (w0,0) ∧ Vik=−01 R(wi,0, wi+1,0).
5</p>
    </sec>
    <sec id="sec-4">
      <title>BDD-based BMC for ELTL−X and ECTL−X</title>
      <p>
        Binary decision diagrams (BDDs) [
        <xref ref-type="bibr" rid="ref17 ref8">8, 17</xref>
        ] are an efficient data structure widely
used for storing and manipulating boolean functions. In the paper we use
Reduced Ordered Binary Decision Diagrams (ROBDDs) instead of the “pure” BDD
structures. The advantage of ROBDDs is that they are canonical for a particular
function and variable order.
      </p>
      <p>
        To introduce a BDD-based bounded model checking method, we start with
describing ECTL−X in terms of sets of reachable states at which the given
formula holds [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. For this purpose we need the notion of a fixed point.
      </p>
      <p>Let S be a finite set and τ : 2S −→ 2S a monotone function, i.e., X ⊆ Y
implies τ (X) ⊆ τ (Y ) for all X, Y ⊆ S. Let τ i(X) be defined by τ 0(X) = X and
τ i+1(X) = τ (τ i(X)). We say that X0 ⊆ S is a fixed point of τ if τ (X0) = X0. It
can be proven that if τ is monotone, S is a finite set and |S| is a number of its
elements, then there exist m, n ≤ |S| such that τ m(∅) is the least fixed point of
τ (denoted by μX.τ (X)) and τ n(S) is the greatest fixed point of τ (denoted by
νX.τ (X)).</p>
      <p>Let M = (L, S, s0, →, V ) be a model, and SR ⊆ S a set of all the reachable
states of the model M . For X ⊆ SR, let pre∃(X) = {s ∈ SR | (∃s0 ∈ X)(∃l ∈
L) s →l s0} be a set of all the reachable states from which there is a transition
to some state in X. Further, we denote the set of all the reachable states of the
model M at which ϕ holds by [[M, ϕ]] or by [[ϕ]], if M is implicitly understood.
For ECTL−X formulae ϕ and ψ we define the following sets: [[true]] d=ef SR,
[[℘]] d=ef {s ∈ SR | ℘ ∈ V (s)}, [[¬ϕ]] d=ef SR \ [[ϕ]], [[ϕ ∧ ψ]] d=ef [[ϕ]] ∩ [[ψ]], [[ϕ ∨ ψ]] d=ef
[[ϕ]]∪[[ψ]]. The remaining operators can be defined as fixed points in the following
way: [[EGϕ]] d=ef νX.[[ϕ]] ∩ pre∃(X), [[E[ϕUψ]]] d=ef μX.[[ψ]] ∪ ([[ϕ]] ∩ pre∃(X)).</p>
      <p>
        To define the sets corresponding to ELTL−X formulae we proceed as follows.
Let M = (L, S, s0, →, V ) be a model, and ϕ an ELTL−X formula. We begin
with constructing the tableau for ϕ, as described in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], that is then combined
with the model M to obtain their product, which contains these paths of M
where the formula ϕ potentially holds. The product is then verified in terms of
CTL model checking of EGtrue formula under fairness constraints. The fairness
constraints, corresponding to sets of states, allow to choose only these paths
of the model, along which at least one state in each set representing fairness
constraints appears infinitely often. In the case of ELTL−X model checking,
fairness is applied to guarantee that E(ϕUψ) really holds, i.e., to eliminate paths
where ϕ holds continuously, but ψ never holds. Finally, we choose only these
reachable states of the product that belong to some particular set of states
computed for the formula. The corresponding states of the verified system that
are in this set, comprise the set [[M, ϕ]], i.e., the set of the reachable states
where the verified formula holds. As we are unable to include a more detailed
description of the method (due to the page limit), we refer the reader to [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] for
more details.
      </p>
      <p>Before describing the BDD-based bounded model checking method, we first
define a submodel. Namely, for the model M = (L, S, s0, →, V ) and U ⊆ S such
that s0 ∈ U , we define a submodel M |U = (L0, U, s0, →0, V 0), where: L0 = {l ∈
L | (∃s, s0 ∈ U ) s →l s0}, →0 = {s →l s0 | s, s0 ∈ U }, V 0 : U −→ 2P V is defined
by V 0(s) = V (s) for all s ∈ U . As the method can be applied to BMC of both
ECTL−X and ELTL−X, we do not distinguish between ECTL−X and ELTL−X
formulae, and in what follows, by ϕ we understand either an ECTL−X formula
or an ELTL−X formula.</p>
      <p>Let M = (L, S, s0, →, V ) be a model. For any set X ⊆ S we define the set of
successors of all the states in X by X; d=ef {s0 ∈ S | (∃s ∈ X)(∃l ∈ L) s →l s0}.
The complete set of the reachable states is obtained by computing the least fixed
point μReach.{s0} ∪ Reach ∪ Reach;. With each iteration, when the set Reach
is extended with new states, i.e., with the set Reach;, the verified formula is
checked in the submodel M |Reach. The loop terminates and the algorithm returns
true, if the initial state s0 is in the set of states of the obtained submodel at
which ϕ holds. The search continues until no new states can be discovered from
the states in Reach, i.e., the fixed point is reached. When we obtain the complete
set of reachable states, and a path from the initial state on which ϕ holds could
not be found in any of the obtained submodels, the algorithm terminates with
f alse.</p>
      <p>
        BDD-based Verification of DTPNs In order to verify a DTPN using BDDs
first we need to translate its underlying reduced model into boolean formulae that
are encoded with BDDs. Let Mcc(N ) = (T ∪ CN , Σs, σ0, →s, Vs) be a model of
a given DTPN N = (P, T, F, m0, Ef t, Lf t). We assume that every state σ ∈ Σs
can be encoded as a bit vector (σ[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], . . . , σ[lb]) of length lb depending on the
number of places P of N , and the value cmax(N ). Thus, each state σ can be
represented by a valuation of a vector w = (w[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], . . . , w[lb]) (called a global state
variable), where w[i], for i = 1, . . . , lb is a propositional variable (called state
variable).
      </p>
      <p>Let w, w0 be two global state variables. We define the following boolean
formulae that are used in the encoding:
• Iσ(w) is a formula that encodes the state σ of the model Mc(N ), i.e., σ[i] = 1
is encoded by w[i], and σ[i] = 0 is encoded by ¬w[i].
• T S(w, w0) is a formula over w and w0 which is true for two valuations σw of w
δ
and σw0 of w0 iff σw →s σw0 , for δ ∈ CN \ {0}. It encodes the time-successor
relation of Mcc(N ).
• ASt(w, w0), where t ∈ T , is a formula over w and w0 which is true for two
valuations σw of w and σw0 of w0 iff σw →ts σw0 . It encodes the
actionsuccessor relation of Mcc(N ) for the transition t ∈ T .
• T (w, w0) = Wt∈T ASt(w, w0) ∨ T S(w, w0) is a formula over w and w0 which
is true for two valuations σw of w and σw0 of w0 iff σw →s σw0 . It encodes
the transition relation of Mcc(N ).</p>
      <p>Notice that due to the fact that an implementation of the alternating semantics
would be inefficient in the case of the BDD-based method, we apply only the
non-alternating semantics.</p>
      <p>
        In our implementation we use the order of variables suggested in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] where
the variables encoding the states and their successors are interleaved. The
explanation of how we can compute the BDDs for the sets X; and pre∃(X) (where
X ∈ Σs) that are needed by the described fixed point methods can be found also
in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. Moreover, we encode each disjunct of the formula encoding the transition
relation, with separate BDDs.
6
      </p>
      <p>Experimental Results
In this section we consider two scalable DTPNs which we use to evaluate the
performance of our SAT- and BDD-based BMC algorithms, as well as of the
tool Tina, for the verification of several properties expressed in ECTL−X and
ELTL−X. The evaluation is given by means of the running time and the
consumed memory. Graphs representing the benchmarks described below can be
found at the webpage of VerICS – http://verics.ipipan.waw.pl/.</p>
      <p>
        The first benchmark we consider is the Generic Timed Pipeline Paradigm
(GTPP) Petri net model [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ], which consists of Producer producing data (P
rodReady) or being inactive, Consumer receiving data (ConsReady) or being
inactive, and a chain of n intermediate Nodes which can be ready for receiving data
(N odeiReady), processing data (N odeiP roc), or sending data (N odeiSend). The
example can be scaled in the number of intermediate nodes. The intervals are
used to adjust the time properties of Producer, Consumer, and of the
intermediate Nodes.
      </p>
      <p>The second benchmark of our interest is the DTPN model for Fischer’s
mutual exclusion protocol (Mutex). The model consists of n time Petri nets, each
one modelling a process, plus one additional net used to coordinate the access of
processes to their critical sections Mutual exclusion means that no two processes
are in their critical sections at the same time. The preservation of this property
depends on the relative values of the time-delay constants δ and Δ. In particular,
Fischer’s protocol ensures mutual exclusion iff Δ &lt; δ. This DTPN can be scaled
in the number of processes.</p>
      <p>
        The GTPP Petri net model, where all the intervals are set to [
        <xref ref-type="bibr" rid="ref2">0, 2</xref>
        ], was tested
with the ECTL−X formula ψ1 = EG(EF(¬ConsReady)), and the ELTL−X
formula ψ2 = EGF(¬ConsReady). The Mutex protocol, with Δ = 1 and δ = 2,
was tested with the ECTL−X formulae: ψ1 = EGEF(critical1 ∨ . . . ∨ criticalN ),
ψ2 = EF(trying1 ∧ . . . ∧ tryingN ∧ EG(¬critical2 ∧ . . . ∧ ¬criticalN )), and the
ELTL−X formulae: ψ3 = EGF(critical1 ∨ . . . ∨ criticalN ), ψ4 = EF(trying1 ∧
. . . ∧ tryingN ∧ G(¬critical2 ∧ . . . ∧ ¬criticalN )).
      </p>
      <p>iynBM 1111802460000000000 SSBBBBAADDDDTTDDDD,,,,,,nafrppieloxaatoenerrttrr-diidnattiiealooottrernniednriinndnegggars,,tienfriemxgoe.srddeeomrre.dder
r
o
em 600
M 400
200</p>
      <p>0 0</p>
      <p>The above systems have been carefully selected in order to reveal the
advantages and disadvantages of both SAT- and BDD-based BMC approaches.</p>
      <p>Memory usage for GTPP, ECTLX formula ψ1</p>
      <p>Total time for GTPP, ECTLX formula ψ1
10 15
Number of processes
20
25
0
5</p>
      <p>10 15
Number of processes
20
25</p>
      <p>For the SAT-based BMC method two semantics are implemented: the
alternating and the non-alternating one. The results obtained for the non-alternating
semantics are superior to those for the alternating one in the following two cases:
(1) the length of the witness and the number of k-paths depends on the number
of components of the considered system; (2) the number of k-paths is constant
and their lengths are at least twice as long in the alternating semantics as in
the non-alternating one. On the other hand, the non-alternating semantics is
inferior to the alternating one in the case when the length of k-paths is
independent of the number of components of the considered system and their number
is independent of their lengths. Further, the assumed time limit (1800s) prefers
the non-alternating semantics, i.e., if a larger time limit than 1800s is set, then
for the alternating semantics much more components of a given system can be
verified than for the non-alternating one (see Mutex and the formula ψ1). The
reason is that the SAT-based BMC method for systems with a large number of
components (for the non-alternating semantics) generates the propositional
formulae that are more complicated than in case of the alternating semantics. This
results in the fact that the memory consumed by the SAT-solver is significantly
larger for the set of clauses generated in case of the non-alternating semantics,
therefore only smaller systems can be model-checked.</p>
      <p>
        The method based on BDDs is implemented with reordering, and with the
fixed interleaving order of the BDD variables. The reordering is performed by
the Rudell’s sifting algorithm available in the implementation of CUDD library.
Moreover, we also use partitioned transition relations. In the case of GTPP, the
BDD-based method is remarkably superior to the SAT-based method in terms
of the verification times and the consumed memory for the tested formulae. The
reason is the substantial number of k-paths in SAT-BMC, which causes a larger
memory consumption and longer running times in comparison with the
BDDbased method. Where the length of the witness is constant regardless of the
number of the processes (i.e., in Mutex for ψ1 and the corresponding formula
ψ3), the SAT-based method is more efficient than the BDD-based one. Our
partitioning of the transition relation does not reduce noticeably the memory
usage, although in most of the considered cases the method benefits from the
reordering of the BDD variables. The BDD-based method deals better with the
increasing length of the witness when scaling in the number of processes or nodes.
In the case of Mutex, our experiments revealed that the method based on BDDs
is more efficient for small and medium models, but it consumes more memory.
The above observations seem to be consistent with other existing comparisons
of SAT versus BDD [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>We compare also our results with those of Tina, however, as Tina does not
support a verification of ECTL−X formulae, the results only for ELTL−X are
taken into account. Unsurprisingly, as Tina is a non-bounded model checker, the
results are inferior to the results of our BMC methods. Although Tina seems to
perform well in the case of ψ4 for Mutex, it suffers from a significant increase of
the memory usage for 8 processes and is unable to verify more than 9 processes.</p>
      <p>
        All the benchmarks can be found at the webpage of VerICS, together with an
instruction how to reproduce our results. For the tests we have used a computer
running Linux 2.6.38 with two Intel Xeon 2.00GHz processors and 4 GB of
memory. Both the algorithms have been implemented in C++. The BDD-based
method uses CUDD [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ], which is a general purpose BDD library, while the
SAT-based technique uses MiniSat2 [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] for testing satisfiability of the generated
propositional formulae.
7
      </p>
      <p>Conclusions
In this paper we have presented two different approaches for bounded model
checking of DTPNs: via a reduction to SAT and via BDDs. The two methods
have been tested and compared to each other on two standard benchmarks. The
specifications were given in the ECTL−X and ELTL−X languages. Additionally
we have compared our results with those obtained using the tool Tina. The
experimental results revealed that SAT-based BMC and BDD-based BMC are
complementary solutions to the BMC problem, as their performance depends</p>
      <p>Memory usage for Mutex, ECTLX formula ψ1</p>
      <p>Total time for Mutex, ECTLX formula ψ1
0
10
20
30
40
50
60
70
80
7</p>
      <p>SAT-BMC BDD-BMC
alternating sem. non-alternating sem. non-alternating sem.
Formula (k, fk(ψ)) (k, fk(ψ)) the number of iterations
GPP, ψ1 (4 · n + 6, 4 · n + 8) (2 · n + 3, 2 · n + 5) 2 · n + 2
GPP, ψ2 (4 · n + 6, 1) (2 · n + 3, 1) 2 · n + 2
Mutex, ψ1 (8, 10) (4, 6) 4
Mutex, ψ2 (2 · n + 8, 2) (n + 2, 2) 2 · n + 1
Mutex, ψ3 (14, 1) (6, 1) 5
Mutex, ψ4 (4 · n + 8, 1) (2 · n + 2, 1) 2 · n + 1
Table 1. The sizes of the witnesses. The number of nodes/processes is denoted by n.
on the system and the property that are verified. The approach based on BDDs
scales better than the SAT-based one, when witnesses are found at small and
constant depths with respect to the scaling parameter. From two of the
considered semantics for SAT-BMC, the non-alternating one is more efficient.</p>
      <p>The paper is the first one to present bounded model checking methods for
verifying ECTL−X and ELTL−X properties of time Petri nets. The encodings
that are used in the SAT-based method, are applied in the context of BMC and
DTPNs for the first time. Similarly, the verification methods for ECTL−X and
ELTL−X used in BDD-BMC have not been considered before in the bounded
model checking of time Petri nets. The dependence on the length of the witnesses,
and the performance of the two BMC methods for DTPNs has not been observed
before as well.</p>
      <p>As this is our early attempt at BDD-based bounded model checking, it suffers
from some weaknesses. In particular, the encoding of the transition relation could
be improved, and some more recent developments in BDD-based symbolic model
checking could be applied.</p>
      <p>In our future work we are going to consider dense semantics and more general
time Petri nets.</p>
      <p>A</p>
      <p>Appendix: Models for DTPNs - Proofs
In order to show that Mcc(N ) can replace Mc(N ) in CTL∗−Xverification (i.e., to
prove Lemma 1) we shall prove the following lemma:
Lemma 3. For a given distributed time Petri net N the models Mc(N ) =
(T ∪ IN, Σ, σ0, →c), Vc and Mfc(N ) = (T ∪ CN , Σ, σ0, →r, Vc) are bisimulation
equivalent.</p>
      <p>Proof. We shall show that the relation R = {((m, clock), (m0, clock0)) | m =
m0 ∧∀(i ∈ I s.t. clock(i) ≤ cmax(N )) clock(i) = clock0(i) ∧ ∀(i ∈ I s.t. clock(i) &gt;
cmax(N )) clock0(i) &gt; cmax(N )} is a bisimulation. It is easy to see that σ0Rσ0,
and the valuations of the related states are equal (due to equality of their
markings). Consider σ = (m, clock) ∈ Σ and σ0 = (m, clock0) ∈ Σ such that σRσ0.
– if σ →δc σ1, where δ ∈ IN, then for each t ∈ en(m) there exists i ∈ IV(t) s.t.
clock(i) + δ ≤ Lf t(t). Consider the following cases:
• if en(m) contains at least one transition t with Lf t(t) &lt; ∞, then this
implies that δ ≤ cmax(N ). In this case consider δ0 = δ; it is easy to see
from the definition of R that for any t ∈ en(m) s.t Lf t(t) &lt; ∞ if in σ for
some i ∈ I we have clock(i)+δ ≤ Lf t(t), then in σ0 clock0(i)+δ0 ≤ Lf t(t)
holds as well, and therefore the time δ0 can pass at σ0, leading to the
state σ0 + δ0, which satisfies (σ + δ)R(σ0 + δ0) in an obvious way.
• if en(m) contains no transition t with Lf t(t) &lt; ∞, then we can have
either δ &lt; cm1 or δ ≥ cm1, where by cm1 we mean the value cmax(N )+1.
In the first case consider δ0 = δ; it is obvious that such a passage of time
at σ0 disables no transition and is allowed therefore; it is also easy to see
that (σ + δ)R(σ0 + δ0). In the case δ ≥ cm1 assume δ0 = cm1. Again, it
is obvious that such a passage of time at σ0 disables no transition and
due to this is allowed, and that in both the states σ + δ and σ0 + δ0 we
have clock(i) &gt; cmax(N ) for all i ∈ I, and therefore (σ + δ)R(σ0 + δ0).
– the three remaining cases are straightforward.</p>
      <p>Next, we can prove Lemma 1:
Proof. To prove the lemma, it is sufficient to show that Mfc(N ) and Mcc(N ) are
bisimulation equivalent. So, we shall show that the relation R ⊆ Σ ×Σs given by
R = {((m, clock), (m0, clocks)) | m = m0 ∧ clocks = clock|cm1 } is a bisimulation.
It is easy to see that σ0Rσ0, and that the valuations of the related states are
equal (due to equality of their markings). Consider σ = (m, clock) ∈ Σ and
σ0 = (m, clocks) ∈ Σs with clocks = clock|cm1 .</p>
      <p>– if σ →δr σ1, where δ ∈ CN , then for each t ∈ en(m) there exists i ∈ IV(t)
s.t. clock(i) + δ ≤ Lf t(t). Due to the fact that for each i ∈ I it holds
clock|cm1 (i) ≤ clock(i), the time δ can pass at σ0 as well, leading to the state
(m, clock|cm1 ⊕ δ). Consider the states (m, clock + δ) and (m, clock|cm1 ⊕ δ);
we should show that (clock + δ)|cm1 = clock|cm1 ⊕ δ. We have the following
cases: if clock(i) = clock|cm1 (i) and clock(i) + δ &lt; cm1, then clock(i) + δ =
clock|cm1 (i)+δ = clock|cm1 (i)⊕δ. If clock(i) = clock|cm1 (i) and clock(i)+δ ≥
cm1 then clock|cm1 (i)
⊕ δ = cm1, and therefore (clock + δ)|cm1 (i) = clock|cm1 (i) ⊕ δ. If clock(i) ≥
cm1 and clock|cm1 (i) = cm1 then clock(i) + δ ≥ cm1 and clock|cm1 (i) ⊕ δ =
cm1 = (clock + δ)|cm1 (i), which ends this part of the proof.
– if σ0 →δs σ10, where δ ∈ CN then for each t ∈ en(m) there exists i ∈ IV(t) s.t.
clock|cm1 (i) ⊕ δ ≤ Lf t(t). If Lf t(t) &lt; ∞, then this implies clock|cm1 (i) ⊕ δ ≤
cmax(N ), which in turn gives that clock|cm1 (i) ≤ cmax(N ), and therefore
clock(i) = clock|cm1 (i), clock(i) + δ ≤ cmax(N ) and finally clock(i) + δ ≤
Lf t(t), while if Lf t(t) = ∞ then clock(i) + δ ≤ Lf t(t) in an obvious way.
Thus, the time δ can pass in σ as well. Consider the states (m, clock + δ)
and (m, clock|cm1 ⊕ δ); we should show that (clock + δ)|cm1 = clock|cm1 ⊕ δ,
which can be done analogously as in the previous part of the proof.
– The remaining two cases are straightforward.</p>
      <p>Finally, we prove that the relation '? preserves the behaviours of the net
(Lemma 2):
Proof. Consider the states σ = (m, clock) and σ0 = (m, clock0) (σ, σ0 ∈ Σ) s.t.
σ '? σ0.</p>
      <p>– Consider l = δ ∈ IN. The time δ can pass in σ iff for each t ∈ en(m)
there is i ∈ IV(t) s.t. clock(i) + δ ≤ Lf t(t). If Lf t(t) &lt; ∞, then we have
that mini∈IV(t) clock(i) + δ ≤ Lf t(t) ≤ cmax(N ), which implies that the
states σ, σ0 satisfy mini∈IV(t) clock(i) = mini∈IV(t) clock0(i), and in turn
mini∈IV(t) clock0(i) + δ = mini∈IV(t) clock(i) + δ ≤ Lf t(t). If Lf t(t) =
∞ we can have two cases: if mini∈IV(t) clock(i) = mini∈IV(t) clock0(i) ≤
cmax(N ) then mini∈IV(t) clock(i) + δ = mini∈IV(t) clock0(i) + δ which is not
greater than Lf t(t) in an obvious way, while if mini∈IV(t) clock(i) &gt; cmax(N )
and mini∈IV(t) clock0(i) &gt; cmax(N ) then both mini∈IV(t) clock(i) + δ and
mini∈IV(t) clock0(i) + δ are greater than cmax(N ) and do not exceed Lf t(t).
Thus, the same time can pass at σ and at σ0, and the obtained states are
?-equivalent.
– Consider l = t ∈ T such that t ∈ en(m). The transition t can fire at σ leading
to a state σ1 = (m1, clock1) iff for each i ∈ IV(t) we have clock(i) ≥ Ef t(t)
and there is i ∈ IV(t) such that clock(i) ≤ Lf t(t).</p>
      <p>• If Lf t(t) &lt; ∞ then from σ '? σ0 we have that mini∈IV(t) clock(i) =
mini∈IV(t) clock0(i), which implies that for each i ∈ IV(t) clock0(i) ≥
Ef t(t) and there is i ∈ IV(t) such that clock0(i) ≤ Lf t(t), which means
that t can fire at σ0 as well, leading to a state σ10 = (m01, clock10). In the
obtained states we have m1 = m01, clock1(i) = 0 = clock10(i) for each i ∈
IV(t), and clock1(i) = clock(i), clock10(i) = clock0(i) otherwise. Consider
a transition t0 ∈ en(m0). If IV(t)∩IV(t0) 6= ∅ then mini∈IV(t0) clock1(i) =
mini∈IV(t0) clock10(i) = 0, while if IV(t) ∩ IV(t0) = ∅ then for each i ∈
IV(t0) the relation between clock1(i) and clock10(i) is the same as between
clock(i) and clock0(i), which implies that either mini∈IV(t0) clock1(i) =
mini∈IV(t0) clock10(i) ≤ cmax(N ) or mini∈IV(t0) clock1(i) &gt; cmax(N ) ∧
mini∈IV(t0) clock10(i) &gt; cmax(N ). Thus, we have σ1 '? σ0 .
1
• If Lf t(t) = ∞ then from the definition of cmax(N ) we have that Ef t(t) ≥
cmax(N ), and therefore from the definition of '? for each i ∈ IV(t) it
holds clock0(i) ≥ Ef t(t), while for all i ∈ IV(t) clock0(t) &lt; Lf t(t) in
an obvious way. Thus, the transition can fire at σ0 as well, leading to
a state σ10 = (m1, clock10). The proof that σ1 '? σ10 is analogous to the
case Lf t(t) &lt; ∞.
– The rest of the proof is straightforward.</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>N.</given-names>
            <surname>Amla</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Kurshan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>McMillan</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Medel</surname>
          </string-name>
          .
          <article-title>Experimental analysis of different techniques for bounded model checking</article-title>
          .
          <source>In Proc. of TACAS'03</source>
          , volume
          <volume>2619</volume>
          <source>of LNCS</source>
          , pp.
          <fpage>34</fpage>
          -
          <lpage>48</lpage>
          . Springer-Verlag,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>G.</given-names>
            <surname>Audemard</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Cimatti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kornilowicz</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Sebastiani</surname>
          </string-name>
          .
          <article-title>Bounded model checking for timed systems</article-title>
          .
          <source>In Proc. of FORTE'02</source>
          , volume
          <volume>2529</volume>
          <source>of LNCS</source>
          , pp.
          <fpage>243</fpage>
          -
          <lpage>259</lpage>
          . Springer-Verlag,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>M.</given-names>
            <surname>Benedetti</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Cimatti</surname>
          </string-name>
          .
          <article-title>Bounded model checking for Past LTL</article-title>
          .
          <source>In Proc. of TACAS'03</source>
          , volume
          <volume>2619</volume>
          <source>of LNCS</source>
          , pp.
          <fpage>18</fpage>
          -
          <lpage>33</lpage>
          . Springer-Verlag,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <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,
          <string-name>
            <given-names>M.</given-names>
            <surname>Fujita</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhu</surname>
          </string-name>
          .
          <article-title>Symbolic model checking using SAT procedures instead of BDDs</article-title>
          .
          <source>In Proc. of DAC'99</source>
          , pp.
          <fpage>317</fpage>
          -
          <lpage>320</lpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>H.</given-names>
            <surname>Boucheneb</surname>
          </string-name>
          , G. Gardey, and
          <string-name>
            <given-names>O. H.</given-names>
            <surname>Roux</surname>
          </string-name>
          .
          <article-title>TCTL model checking of time Petri nets</article-title>
          .
          <source>Journal of Logic and Computation</source>
          ,
          <volume>19</volume>
          (
          <issue>6</issue>
          ):
          <fpage>1509</fpage>
          -
          <lpage>1540</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>H.</given-names>
            <surname>Boucheneb</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Hadjidj</surname>
          </string-name>
          .
          <article-title>CTL∗ model checking for time Petri nets</article-title>
          .
          <source>Theoretical Computer Science</source>
          ,
          <volume>353</volume>
          (
          <issue>1</issue>
          ):
          <fpage>208</fpage>
          -
          <lpage>227</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>R.</given-names>
            <surname>Bryant</surname>
          </string-name>
          .
          <article-title>Graph-based algorithms for boolean function manipulation</article-title>
          .
          <source>IEEE Transaction on Computers</source>
          ,
          <volume>35</volume>
          (
          <issue>8</issue>
          ):
          <fpage>677</fpage>
          -
          <lpage>691</lpage>
          ,
          <year>1986</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>J. R.</given-names>
            <surname>Burch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Clarke</surname>
          </string-name>
          ,
          <string-name>
            <surname>K. L. McMillan</surname>
            ,
            <given-names>D. L.</given-names>
          </string-name>
          <string-name>
            <surname>Dill</surname>
            , and
            <given-names>L. J.</given-names>
          </string-name>
          <string-name>
            <surname>Hwang</surname>
          </string-name>
          .
          <article-title>Symbolic model checking: 1020 states and beyond</article-title>
          .
          <source>Information and Computation</source>
          ,
          <volume>98</volume>
          (
          <issue>2</issue>
          ):
          <fpage>142</fpage>
          -
          <lpage>170</lpage>
          ,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. G. Cabodi,
          <string-name>
            <given-names>P.</given-names>
            <surname>Camurati</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Quer</surname>
          </string-name>
          .
          <article-title>Can BDD compete with SAT solvers on bounded model checking?</article-title>
          <source>In Proc. of DAC'02</source>
          , pp.
          <fpage>117</fpage>
          -
          <lpage>122</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. E.
          <string-name>
            <surname>Clarke</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          <string-name>
            <surname>Grumberg</surname>
            , and
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Hamaguchi</surname>
          </string-name>
          .
          <article-title>Another look at LTL model checking</article-title>
          .
          <source>In Proc. of CAV'94</source>
          , volume
          <volume>818</volume>
          <source>of LNCS</source>
          , pp.
          <fpage>415</fpage>
          -
          <lpage>427</lpage>
          . Springer-Verlag,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. E.
          <string-name>
            <surname>Clarke</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          <string-name>
            <surname>Grumberg</surname>
            , and
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Peled</surname>
          </string-name>
          . Model Checking. MIT Press,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>F.</given-names>
            <surname>Copty</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Fix</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Fraer</surname>
          </string-name>
          , E. Giunchiglia,
          <string-name>
            <given-names>G.</given-names>
            <surname>Kamhi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Tacchella</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Vardi</surname>
          </string-name>
          .
          <article-title>Benefits of bounded model checking at an industrial setting</article-title>
          .
          <source>In Proc. of CAV'01</source>
          , volume
          <volume>2102</volume>
          <source>of LNCS</source>
          , pp.
          <fpage>436</fpage>
          -
          <lpage>453</lpage>
          . Springer-Verlag,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>N.</given-names>
            <surname>Eén</surname>
          </string-name>
          and
          <string-name>
            <given-names>N.</given-names>
            <surname>Sörensson. MiniSat - A SAT</surname>
          </string-name>
          <article-title>Solver with Conflict-Clause Minimization</article-title>
          .
          <source>In Proc. of SAT'05, LNCS</source>
          . Springer-Verlag,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>G. Luettgen G.</given-names>
            <surname>Ciardo</surname>
          </string-name>
          and
          <string-name>
            <given-names>A. S.</given-names>
            <surname>Miner</surname>
          </string-name>
          .
          <article-title>Exploiting interleaving semantics in symbolic state-space generation</article-title>
          .
          <source>Formal Methods in System Design</source>
          ,
          <volume>31</volume>
          :
          <fpage>63</fpage>
          -
          <lpage>100</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>K.</given-names>
            <surname>Heljanko</surname>
          </string-name>
          and
          <string-name>
            <given-names>I.</given-names>
            <surname>Niemelä</surname>
          </string-name>
          .
          <article-title>Bounded LTL model checking with stable models</article-title>
          .
          <source>In Proc. of LPNMR'01</source>
          , volume
          <volume>2173</volume>
          <source>of LNCS</source>
          , pp.
          <fpage>200</fpage>
          -
          <lpage>212</lpage>
          . Springer-Verlag,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>M.</given-names>
            <surname>Huth</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Ryan</surname>
          </string-name>
          .
          <source>Logic in Computer Science: Modelling and Reasoning about Systems</source>
          . Cambridge University Press,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>R.</given-names>
            <surname>Janicki</surname>
          </string-name>
          .
          <article-title>Nets, sequential components and concurrency relations</article-title>
          .
          <source>Theoretical Computer Science</source>
          ,
          <volume>29</volume>
          :
          <fpage>87</fpage>
          -
          <lpage>121</lpage>
          ,
          <year>1984</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>A.</given-names>
            <surname>Jones</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Lomuscio</surname>
          </string-name>
          .
          <article-title>A BDD-based BMC approach for the verification of multi-agent systems</article-title>
          .
          <source>In Proc. of CS&amp;P'09</source>
          , volume
          <volume>1</volume>
          , pp.
          <fpage>253</fpage>
          -
          <lpage>264</lpage>
          . Warsaw University,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <given-names>D.</given-names>
            <surname>Lime</surname>
          </string-name>
          and
          <string-name>
            <given-names>O. H.</given-names>
            <surname>Roux</surname>
          </string-name>
          .
          <article-title>Model checking of time Petri nets using the state class timed automaton</article-title>
          .
          <source>Discrete Event Dynamic Systems</source>
          ,
          <volume>16</volume>
          (
          <issue>2</issue>
          ):
          <fpage>179</fpage>
          -
          <lpage>205</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>K. L. McMillan. Symbolic Model Checking</surname>
          </string-name>
          . Kluwer Academic Publishers,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <given-names>P.</given-names>
            <surname>Merlin</surname>
          </string-name>
          and
          <string-name>
            <given-names>D. J.</given-names>
            <surname>Farber</surname>
          </string-name>
          .
          <article-title>Recoverability of communication protocols - implication of a theoretical study</article-title>
          .
          <source>IEEE Trans. on Communications</source>
          ,
          <volume>24</volume>
          (
          <issue>9</issue>
          ):
          <fpage>1036</fpage>
          -
          <lpage>1043</lpage>
          ,
          <year>1976</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>A. M¸eski</surname>
          </string-name>
          , W. Penczek,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Półrola</surname>
          </string-name>
          .
          <article-title>BDD-based bounded model checking for elementary net systems</article-title>
          .
          <source>In Proc. of CS&amp;P'10</source>
          , volume
          <volume>237</volume>
          (
          <article-title>1</article-title>
          ) of Informatik-Berichte, pp.
          <fpage>219</fpage>
          -
          <lpage>230</lpage>
          . Humboldt University,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <given-names>A.</given-names>
            <surname>Miner</surname>
          </string-name>
          and
          <string-name>
            <given-names>G.</given-names>
            <surname>Ciardo</surname>
          </string-name>
          .
          <article-title>Efficient reachability set generation and storage using decision diagrams</article-title>
          .
          <source>In Proc. of ICATPN'99</source>
          , volume
          <volume>1639</volume>
          <source>of LNCS</source>
          , pp.
          <fpage>6</fpage>
          -
          <lpage>25</lpage>
          . Springer-Verlag,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <given-names>D.</given-names>
            <surname>Peled</surname>
          </string-name>
          .
          <article-title>All from one, one for all: On model checking using representatives</article-title>
          .
          <source>In Proc. of CAV'93</source>
          , volume
          <volume>697</volume>
          <source>of LNCS</source>
          , pp.
          <fpage>409</fpage>
          -
          <lpage>423</lpage>
          . Springer-Verlag,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <given-names>W.</given-names>
            <surname>Penczek</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Półrola</surname>
          </string-name>
          .
          <article-title>Advances in Verification of Time Petri Nets and Timed Automata: A Temporal Logic Approach</article-title>
          , volume
          <volume>20</volume>
          <source>of Studies in Computational Intelligence</source>
          . Springer-Verlag,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <given-names>W.</given-names>
            <surname>Penczek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Woźna</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Zbrzezny</surname>
          </string-name>
          .
          <article-title>Bounded model checking for the universal fragment of CTL</article-title>
          .
          <source>Fundamenta Informaticae</source>
          ,
          <volume>51</volume>
          (
          <issue>1-2</issue>
          ):
          <fpage>135</fpage>
          -
          <lpage>156</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <given-names>Knot</given-names>
            <surname>Pipatsrisawat</surname>
          </string-name>
          and
          <string-name>
            <given-names>Adnan</given-names>
            <surname>Darwiche</surname>
          </string-name>
          .
          <article-title>Rsat 2.0: Sat solver description</article-title>
          .
          <source>Technical Report D-153</source>
          , Automated Reasoning Group, Computer Science Department, UCLA,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <given-names>A.</given-names>
            <surname>Półrola</surname>
          </string-name>
          and
          <string-name>
            <given-names>W.</given-names>
            <surname>Penczek</surname>
          </string-name>
          .
          <article-title>Minimization algorithms for time Petri nets</article-title>
          .
          <source>Fundamenta Informaticae</source>
          ,
          <volume>60</volume>
          (
          <issue>1-4</issue>
          ):
          <fpage>307</fpage>
          -
          <lpage>331</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30.
          <string-name>
            <given-names>F.</given-names>
            <surname>Somenzi</surname>
          </string-name>
          . CUDD:
          <article-title>CU decision diagram package - release 2.3.1</article-title>
          . http:// vlsi.colorado.edu/∼fabio/CUDD/cuddIntro.html.
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <string-name>
            <given-names>M.</given-names>
            <surname>Wan</surname>
          </string-name>
          and
          <string-name>
            <given-names>G.</given-names>
            <surname>Ciardo</surname>
          </string-name>
          .
          <article-title>Symbolic reachability analysis of integer timed petri nets</article-title>
          .
          <source>In Proc. of SOFSEM'2009</source>
          , pp.
          <fpage>595</fpage>
          -
          <lpage>608</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32.
          <string-name>
            <given-names>B.</given-names>
            <surname>Woźna</surname>
          </string-name>
          .
          <article-title>ACTL∗ properties and bounded model checking</article-title>
          .
          <source>Fundamenta Informaticae</source>
          ,
          <volume>63</volume>
          (
          <issue>1</issue>
          ):
          <fpage>65</fpage>
          -
          <lpage>87</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          33.
          <string-name>
            <given-names>B.</given-names>
            <surname>Woźna</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Zbrzezny</surname>
          </string-name>
          , and
          <string-name>
            <given-names>W.</given-names>
            <surname>Penczek</surname>
          </string-name>
          .
          <article-title>Checking reachability properties for timed automata via SAT</article-title>
          .
          <source>Fundamenta Informaticae</source>
          ,
          <volume>55</volume>
          (
          <issue>2</issue>
          ):
          <fpage>223</fpage>
          -
          <lpage>241</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          34.
          <string-name>
            <surname>A. J. Yu</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <string-name>
            <surname>Ciardo</surname>
            , and
            <given-names>G.</given-names>
          </string-name>
          <string-name>
            <surname>Luettgen</surname>
          </string-name>
          .
          <article-title>Decision-diagram-based techniques for bounded reachability checking of asynchronous systems</article-title>
          .
          <source>Software Tools for Technology Transfer</source>
          ,
          <volume>11</volume>
          (
          <issue>2</issue>
          ):
          <fpage>117</fpage>
          -
          <lpage>131</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          35.
          <string-name>
            <given-names>A.</given-names>
            <surname>Zbrzezny</surname>
          </string-name>
          .
          <article-title>Improving the translation from ECTL to SAT</article-title>
          . Fundamenta Informaticae,
          <volume>85</volume>
          (
          <issue>1-4</issue>
          ):
          <fpage>513</fpage>
          -
          <lpage>531</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>