<!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>SMT-Based Reachability Checking for Bounded Time Petri Nets</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Extended Abstract</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>A. Półrola</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>P. Cybula</string-name>
          <email>cybula@math.uni.lodz.pl</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>A. M¸eski</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Computer Science</institution>
          ,
          <addr-line>PAS, Jana Kazimierza 5, 01-248 Warsaw</addr-line>
          ,
          <country country="PL">Poland</country>
        </aff>
        <aff id="aff1">
          <label>1</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>332</fpage>
      <lpage>341</lpage>
      <abstract>
        <p>Time Petri nets by Merlin and Farber are a powerful modelling formalism. However, symbolic model checking methods for them consider in most cases the nets which are 1-safe, i.e., allow the places to contain at most one token. In our paper we present a preliminary version of the approach aimed at testing reachability for time Petri nets without this restriction. We deal with the class of bounded nets restricted to disallow multiple enabledness of transitions, and present the method of reachability testing based on a translation into a satisfiability modulo theory (SMT).</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        The process of design and production of both systems and software – among
them, the concurrent ones – involves testing whether the product conforms to
its specification. This can be achieved using various kinds of formal methods.
However, in order to apply any of these methods, the system to be tested needs to
be modelled using an appropriate formalism. One of such formalisms, applicable
to modelling systems with time dependencies, are time Petri nets by Merlin
and Farber [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Numerous subclasses of time Petri nets have been proposed, i.e.,
1-safe, bounded, unbounded, distributed nets, and many others.
      </p>
      <p>For concurrent systems, the size of the state-space of the analysed system is
a significant factor in the efficiency of the verification. The fact that verification
methods need to explore the reachable state-space can lead to the state-space
explosion problem. This follows from the fact that the size of the model grows
exponentially with the number of the components of the system. Therefore, the
development of methods that alleviate this problem is considered an important
research subject.</p>
      <p>
        There exist many papers dealing with model checking time Petri nets [
        <xref ref-type="bibr" rid="ref10 ref11 ref2 ref3 ref4 ref5 ref6 ref7 ref8 ref9">2–
11</xref>
        ]. Most of them describe techniques based on explicitly-represented
abstractions of the state spaces. The developed fully symbolic methods include decision
diagrams-based ones: reachability verification for Integer Timed Petri Nets [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]
as well as LTL and ECTL verification for (1-safe) Distributed Time Petri Nets [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ],
and SAT-based methods for the distributed nets [
        <xref ref-type="bibr" rid="ref6 ref8">6, 8</xref>
        ].
      </p>
      <p>
        This paper presents our first attempt to apply a satisfiability modulo theory
(SMT) to verification of (bounded) time Petri nets, i.e., reachability testing
for the nets restricted to disallow multiple enabledness of transitions. We use
a bounded model checking technique (BMC), i.e., consider models truncated
up to a specific depth, and transform the reachability problem into a test of
satisfiability of a set of (integer) inequalities. Although the current version of
the method was implemented, and we provide some preliminary experimental
results, we consider our work to be in progress, and we plan on improving the
efficiency of our implementation, as well as to extend it in a way allowing to test
more involved reachability-related properties and to handle bounded nets with
multiple enabledness of transitions [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>The rest of the paper is organised as follows: in Sec. 2 we introduce bounded
time Petri nets, their concrete state spaces and concrete models. The next Sec. 3
discusses reachability verification using SMT. In Sec. 4 and Sec. 5 we provide
some preliminary experimental results and concluding remarks.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Time Petri Nets</title>
      <p>Let IN (IN+) denote the set of (nonnegative) integers, and IR (IR+) - the set of
(nonnegative) reals. We start with a definition of time Petri nets:
Definition 1. A time Petri net (TPN for short) is a tuple N
m0; Ef t; Lf t), where
= (P; T; F; cap; w;
– P = fp1; : : : ; pnP g is a finite set of places,
– T = ft1; : : : ; tnT g is a finite set of transition s.t. P \ T = ;,
– F (P T ) [ (T P ) is a flow relation,
– cap : P ! IN+ [ f1g is a partial capacity restriction,
– w : F ! IN+ is an arc weight function,
– m0 : P ! IN with m0(p) cap(p) for each p 2 P is an initial marking,
– Ef t : T ! IN, Lf t : T ! IN [ f1g are functions describing the earliest
and the latest firing time of a transition, where for each t 2 T we have
Ef t(t) Lf t(t).</p>
      <p>A TPN N is called k-bounded, for some k 2 IN+, if cap(p) k for each p 2 P ,
and is called bounded if there is k 2 IN such that N is k-bounded. The value k is
called a bound of N . In what follows we consider bounded time Petri nets only.</p>
      <p>For a transition t 2 T we define its preset t = fp 2 P j (p; t) 2 F g and
postset t = fp 2 P j (t; p) 2 F g, and consider only the nets such that for each
transition the preset and the postset are nonempty. Moreover, we restrict to the
nets satisfying the condition 8p2P cap(p) &lt; 2 minfw(p; t) j t 2 T s.t. p 2 tg
which prevents multiple enabledness of transitions.</p>
      <p>We introduce the following notations and definitions:
– a marking of N is a function m : P ! IN,
– a transition t 2 T is enabled at a marking m (m[ti for short) if
? for each p 2 t it holds w(p; t) m(p), and
? for each p 2 t it holds m(p) w(p; t) + w(t; p) cap(p) if p 2 t \ t ,
and m(p) + w(t; p) cap(p) otherwise,
– en(m) = ft 2 T j m[tig is the set of all the transitions enabled in a marking
m of N ,
– the marking m0 obtained by firing t 2 en(m) at m is given by
m0(p) = &gt;&lt;8&gt; mm((pp)) w(p; t) iiff ((pp;; tt)) 622 FF ^^ ((tt;; pp)) 6622 FF ;
&gt; m(p) + w(t; p) if (p; t) 62 F ^ (t; p) 2 F
&gt;: m(p) w(p; t) + w(t; p) if (p; t) 2 F ^ (t; p) 2 F :
The marking is denoted by m[ti as well, if it does not lead to
misunderstanding,
– newly_en(m; t) = fu 2 T j u 2 en(m[ti) ^ (9p2(t n t)\ um(p) &lt; w(p; u) _
9p2 t\t \ um(p) w(p; t) &lt; w(p; u) _ 9p2u \ tm(p) + w(u; p) &gt; cap(p))g is
a set of transitions which became (newly) enabled by firing t at m.
2.1</p>
      <sec id="sec-2-1">
        <title>Concrete State Spaces and Models</title>
        <p>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 further
behaviour of the net). A concrete state of a TPN N is thus a pair (m; clock),
where m : P ! IN is a marking, and clock : T ! IR+ is a function which for
each transition t 2 en(m) gives the time elapsed since t became enabled most
recently. The set of all the states of N is denoted by . The initial state of N is
0 = (m0; clock0), where m0 is the initial marking of N , and clock0(t) = 0 for
each t 2 T .</p>
        <p>For 2 IR+, let clock + denote the function given by (clock + )(t) =
clock(t) + , and let (m; clock) + denote (m; clock + ). The states of N can
change due to a passage of time or due to a firing of a transition. The transition
relation ! (T [ IR+) of the net N is thus given by:
– in a state
= (m; clock) a time</p>
        <p>2 IR+ can pass leading to a new state 0 =
(m; clock0) (denoted ! 0) iff (clock + )(t) Lf t(t) for each t 2 en(m)
(time successor relation),
– in a state = (m; clock) a transition t 2 T can fire leading to a new state
0 = (m0; clock0) (denoted !t 0) if t 2 en(m), Ef t(t) clock(t) Lf t(t),
m0 = m[ti, and for all u 2 T we have clock0(u) = 0 for u 2 newly_en(m; t),
and clock0(u) = clock(u) 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 transitions, provided no enabled transition
becomes disabled by passage of time. Firing of a transition t takes no time (the
only change it introduces to the clocks is reseting these related to the newly
enabled transitions) and is allowed provided that t is enabled and its clock is
not smaller than Ef t(t) and not greater than Lf t(t). The structure ( ; 0; !)
is called a concrete state space of N .</p>
        <p>A timed run of N starting at a state 0 2 ( 0-run) is a maximal sequence
of concrete states, transitions and time passings = 0 !a0 1 !a1 : : :, where
i 2 , and ai 2 T [ IR+ for all i 2 IN. A state ? is reachable if there exists a
0-run and i 2 IN such that ? = i, where i is an element of . The set of
all the reachable states of N is denoted by ReachN .</p>
        <p>Given a set of propositional variables P V , we introduce a valuation function
V : ! 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 2 P V corresponds to
an (in)equality I(q) of the form m(p) a or m(p) m(p0) a, where p; p0 2 P ,
2 f ; &lt;; =; &gt;; g, 2 f+; g, and a 2 f0; 1; : : : ; 2kg, where k is a bound
of N . The function V is defined by q 2 V ((m; clock)) iff I(q) holds for m. The
structure M (N ) = ( ; 0; !; V ) is called a concrete model of N .
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Testing Reachability</title>
      <p>The reachability problem for a time Petri net N consists in checking, given a
property ', whether N can ever be in a state where ' holds. The property
is expressed in terms of propositional variables. Therefore, the problem can be
translated into testing whether the set ReachN contains a marking of certain
features expressed by '. Checking this can be performed by an explicit exploration
of the concrete model for N , but such an approach is usually very inefficient.</p>
      <p>
        If a reachable state satisfying ' exists then proving this can be done using
a part of the model only. This enables us to apply the bounded model checking
method [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. The main idea of testing reachability using BMC consists in
searching for an reachability witness of a bounded length l (i.e., for a path leading from
the initial state to a state satisfying '). One of the possible approaches to this
problem consists in generating a logical formula satisfiable iff such a witness
exists, and checking its satisfiability using an appropriate solver. The most common
choice here is to use a SAT-solver and a propositional formula, but alternatively
an SMT-solver (i.e. a solver capable to test satisfiability of a first-order logic
over a built-in theory) and the corresponding first-order logic can be used. We
apply the second approach.
      </p>
      <p>
        In order to check whether a state satisfying ' is reachable, we first replace the
model M (N ) by a model with a restricted set of timed labels, i.e., with IR+
substituted by [0; cmax + 1], where by cmax we mean the greatest finite value of Ef t
and Lf t of the transitions in N . It can be shown that such a model is bisimilar
with M (N ). Moreover, we restrict to integer time steps only, as they are
sufficient to prove reachability [
        <xref ref-type="bibr" rid="ref14 ref15">14, 15</xref>
        ]. Then, we represent the states of the obtained
model using integer variables, encode its transition relation in terms of the logic
over integer arithmetics, and encode all the paths of a given length l starting
at the initial state of N as a formula P ath(l). We encode also the fact that the
property ' holds in the last state of a path as a formula encode_prop( l; ') (we
omit technical details of the encodings in the current version of the work), and
check satisfiability of the formula := P ath(l) ^ encode_prop( l; '). The above
procedure is started from the length of a potential witness l = 0, and repeated
iteratively up to (at most) l = jM (N )j. The process is stopped when the formula
is satisfiable, as this means that reachability of a state satisfying ' is proven,
and therefore no further tests are necessary.
      </p>
      <p>As usually in the case of bounded model checking methods, the above
procedure can be inefficient if no state satisfying ' exists, since the depth of the
part of the model considered (i.e., l) strongly influences the size of the encoding.
Proving unreachability should therefore be done using a different algorithm we
do not deal with in the current version of the paper.
3.1</p>
      <sec id="sec-3-1">
        <title>Solving Other Reachability-Related Problems</title>
        <p>The language of the propositions used enables to express not only simple
properties of the form “a place p contains exactly x tokens”, but also more involved
ones, corresponding to various features of a marking of the net, e.g., “a place
p contains more tokens than a place q”, “the difference between the numbers of
tokens in p and p0 is greater than 5” etc. However, augmenting the net with an
additional component enables testing also certain time-related properties.
p1
p2
time_exceeded</p>
        <p>
          p3
tick [
          <xref ref-type="bibr" rid="ref1 ref1">1,1</xref>
          ]
        </p>
        <p>
          [
          <xref ref-type="bibr" rid="ref1 ref1">1,1</xref>
          ]
        </p>
        <p>
          An example of such a component is shown in Fig. 1. If we set cap(p2) and
w(p2; time_exceeded) to a certain value x 2 IN+, the number of tokens in the
place p2 corresponds to the number of time units (not greater than x) passed
since the net started, and a token in p3 means that the time assumed has been
exceeded. So, augmenting the net with this component enables to express in
terms of reachability of a marking the properties like “a state satisfying ' is
reachable in less / more than x time units”. It is also possible to search for
minimal / maximal time in which a state satisfying ' is reached, using the
method similar to that described in [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ].
4
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Experimental Results</title>
      <p>In this section, we present preliminary experimental results for the described
method. The implemented tool consists of a module that generates an SMT input
(the translation) for the SMT-solver, and a guiding module that performs the
execution of the verification task which calls the generator module and the
SMTsolver for the increasing lengths of the paths, until the SMT-solver terminates
with a satisfiable formula.</p>
      <p>
        We also provide a comparison with Sift which is a module of the Tina
toolbox [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] providing on-the-fly verification capabilities. The results we present
were generated using the switch -D, i.e., reachability was tested on the graph of
essential states [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], similarly as in our method.
      </p>
      <p>
        The translation module is implemented in C++ language, and the guiding
module is implemented as a simple UNIX shell script. The SMT-solver used
in the experiments was Z3 (version 4.3.2) [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. The experiments were executed
on a Linux 3.9.8 system, equipped with AMD X6 FX-6100 processor, and 8GB
of memory. However, for all our experiments we assume the time limit of 2000
seconds, and the memory limit of 2000 MiB.
4.1
      </p>
      <sec id="sec-4-1">
        <title>Fischer’s Mutual Exclusion Benchmark</title>
        <p>
          In this benchmark we consider a net for the Fischer’s mutual exclusion
protocol [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] depicted in Figure 2. In our figures we assume that unless stated (or
setx0_1
denoted in the figure) otherwise, the weight of all the arcs is 1, and the capacity
restriction is also 1.
        </p>
        <p>The net models n processes with critical sections. When the i-th process
enters (leaves) its critical section criticali (for i 2 f1; ; ng), the number
of tokens in the counter place is incremented (decremented). We assume that
cap(counter) = n. The mutual exclusion property of the protocol depends on
the values of the time-delay constants and , i.e., the property is preserved
iff &lt; .</p>
        <p>For this benchmark, we assume = 2 and = 1, and we test the reachability
of a marking m such that m(counter) &gt; 1. The experimental results for this
benchmark are presented in Table 1. The time is given in seconds (cpu time),
and the memory in MiB. Where the assumed time or memory limit was exceeded,
we denote this in the tables with the symbol ?.
4.2</p>
        <p>Assembly Line Benchmark
sup1
n</p>
        <p>n
ready1
reset1 [g, h]
s1 [a, b]</p>
        <p>n − 1
prep1
[c, d]
start1
finish1
sup2</p>
        <p>n − 1
ready2
s2 [a, b]</p>
        <p>n − 2
prep2
reset2
[g, h] st[ca,rdt]2</p>
        <p>finish2
idle1 [e, f] asm1 idle2 [e, f] asm2</p>
        <p>· · ·
supn
readyn
1</p>
        <p>
          A net for an abstract assembly line inspired by the generalised transfer chain
model from [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ] is presented in Figure 3. It consists of n assembly workers,
and a supplier that provides resources needed in the assembly process. There
are n resource packages which are represented by tokens in places supi for
i 2 f1; ; ng. When an i-th worker receives the resource package via the si
transition, it first prepares for the assembly process (prepi), then performs the
assembly itself (asmi), and when finishing (f inishi) it also delivers the
assembled product to the storage (storage). Then, it idles (idlei), and becomes ready
again (readyi).
        </p>
        <p>For all p 2 fsup1; ; supn; storage; deliveredg we assume cap(p) = n.
However, note that it could also be assumed that cap(supi) = n i + 1 for i 2
f1; ; ng.</p>
        <p>In our benchmark, we also assume the following time constraints in the
system: a = 0, b = 5, c = 0, d = 1, e = 0, f = 1, g = 0, h = 1, x = 0, and
y = 100. Then, we test the reachability of a marking m, where m(done) &gt; 0 and
m(storage) &gt; 0. The length of the witness for this property is n + 2, where n is
the number of assembly workers. The experimental results for this benchmark
are presented in Table 2. Similarly as before, with ? we mark the cases when the
assumed time or memory limit was exceeded.
n</p>
        <p>SMT-BMC TINA (sift)
time memory time memory
n</p>
        <p>SMT-BMC TINA (sift)
time memory time memory</p>
        <p>It can be seen from the above results that our implementation has much
longer execution times than Tina. However, our method requires less memory
than the corresponding Tina execution, and the differences are also significant.</p>
        <p>
          One should also comment on the lack of any comparison with the
implementation of the SAT-based reachability verification described in [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. The paper
mentioned provides experimental results for the Fischer’s mutual exclusion
protocol obtained on a computer equipped with Intel Pentium Dual CPU (2:00
GHz) and 2 GB of main memory, and confirms verifying the system consisting
of 40 processes in 2999:5 seconds and using 1153:2 MB of memory. This seems
to be a far better result. However, it should be noticed that the method of [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]
was developed for distributed TPNs, of a semantics aimed at making
verification more efficient than in the standard case (i.e., of the one in which clocks are
assigned to the processes of the net instead of to the transitions which enables
to reduce their number from 6n to n + 1). The distributed nets are also 1-safe,
which reduces further the complexity of their description.
5
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Final Remarks</title>
      <p>We have presented a preliminary version of a reachability verification method
for (bounded) time Petri nets, based on bounded model checking and SMT. In
our future work we are going to build upon this method an approach allowing
to verify more involved properties. In the preliminary comparison with Tina our
method performed efficiently in terms of the memory consumption when testing
the reachability property, which is very promising for the mentioned extension
of our work.</p>
      <p>Acknowledgements. Artur Me¸ski acknowledges the support of the EU,
European Social Fund. Project PO KL “Information technologies: Research and their
interdisciplinary applications” (UDA-POKL.04.01.01-00-051/10-00).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Merlin</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Farber</surname>
            ,
            <given-names>D.J.:</given-names>
          </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>
          ) (
          <year>1976</year>
          )
          <fpage>1036</fpage>
          -
          <lpage>1043</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Berthomieu</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Diaz</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Modeling and verification of time dependent systems using time Petri nets</article-title>
          .
          <source>IEEE Trans. on Software Eng</source>
          .
          <volume>17</volume>
          (
          <issue>3</issue>
          ) (
          <year>1991</year>
          )
          <fpage>259</fpage>
          -
          <lpage>273</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Berthomieu</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vernadat</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>State class constructions for branching analysis of time Petri nets</article-title>
          .
          <source>In: Proc. of the 9th Int. Conf. on Tools and Algorithms for the Construction and Analysis of Systems (TACAS'03)</source>
          . Volume 2619 of LNCS., Springer-Verlag (
          <year>2003</year>
          )
          <fpage>442</fpage>
          -
          <lpage>457</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Boucheneb</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hadjidj</surname>
          </string-name>
          , R.:
          <article-title>CTL model checking for time Petri nets</article-title>
          .
          <source>Theoretical Computer Science</source>
          <volume>353</volume>
          (
          <issue>1</issue>
          ) (
          <year>2006</year>
          )
          <fpage>208</fpage>
          -
          <lpage>227</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Lime</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Roux</surname>
            ,
            <given-names>O.H.</given-names>
          </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>
          ) (
          <year>2006</year>
          )
          <fpage>179</fpage>
          -
          <lpage>205</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. Me¸ski,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Penczek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            ,
            <surname>Półrola</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Woźna-Szcześniak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Zbrzezny</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>Bounded model checking approaches for verificaton of distributed time Petri nets</article-title>
          .
          <source>In: Proc. of the Int. Workshop on Petri Nets and Software Engineering (PNSE'11)</source>
          , University of Hamburg (
          <year>2011</year>
          )
          <fpage>72</fpage>
          -
          <lpage>91</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Penczek</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Półrola</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Abstractions and partial order reductions for checking branching properties of time Petri nets</article-title>
          .
          <source>In: Proc. of the 22nd Int. Conf. on Applications and Theory of Petri Nets (ICATPN'01)</source>
          .
          <article-title>Volume 2075 of LNCS</article-title>
          ., Springer-Verlag (
          <year>2001</year>
          )
          <fpage>323</fpage>
          -
          <lpage>342</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Penczek</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Półrola</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zbrzezny</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>SAT-based (parametric) reachability for a class of distributed time Petri nets</article-title>
          .
          <source>In: Trans. on Petri Nets and Other Models of Concurrency IV. Volume 6550 of LNCS</source>
          . Springer-Verlag (
          <year>2010</year>
          )
          <fpage>72</fpage>
          -
          <lpage>97</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Virbitskaite</surname>
            ,
            <given-names>I.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pokozy</surname>
            ,
            <given-names>E.A.</given-names>
          </string-name>
          :
          <article-title>A partial order method for the verification of time Petri nets</article-title>
          .
          <source>In: Fundamental of Computation Theory. Volume 1684 of LNCS</source>
          . Springer-Verlag (
          <year>1999</year>
          )
          <fpage>547</fpage>
          -
          <lpage>558</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Wan</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ciardo</surname>
          </string-name>
          , G.:
          <article-title>Symbolic reachability analysis of integer timed Petri nets</article-title>
          .
          <source>In: Proc. 35th International Conference on Current Trends in Theory and Practice of Computer Science (SOFSEM)</source>
          .
          <article-title>(</article-title>
          <year>2009</year>
          )
          <fpage>595</fpage>
          -
          <lpage>608</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Yoneda</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ryuba</surname>
          </string-name>
          , H.:
          <article-title>CTL model checking of time Petri nets using geometric regions</article-title>
          .
          <source>IEICE Trans. Inf. and Syst</source>
          .
          <volume>3</volume>
          (
          <issue>1998</issue>
          )
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Boyer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Diaz</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Multiple enabledness in Petri nets with time</article-title>
          .
          <source>In: Proc. of the 9th Int. Workshop on Petri Nets and Performance Models (PNPM'01)</source>
          . (
          <year>2001</year>
          )
          <fpage>219</fpage>
          -
          <lpage>228</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Biere</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cimatti</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Clarke</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhu</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Symbolic model checking without BDDs</article-title>
          .
          <source>In: Proc. of the 5th Int. Conf. on Tools and Algorithms for the Construction and Analysis of Systems (TACAS'99)</source>
          . Volume 1579 of LNCS., Springer-Verlag (
          <year>1999</year>
          )
          <fpage>193</fpage>
          -
          <lpage>207</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Popova-Zeugmann</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Time Petri nets state space reduction using dynamic programming</article-title>
          .
          <source>Journal of Control and Cybernetics</source>
          <volume>35</volume>
          (
          <issue>3</issue>
          ) (
          <year>2006</year>
          )
          <fpage>721</fpage>
          -
          <lpage>748</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Janowska</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Penczek</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Półrola</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zbrzezny</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Towards discrete-time verification of time Petri nets with dense-time semantics</article-title>
          .
          <source>In: Proc. of the Int. Workshop on Concurrency, Specification and Programming (CS&amp;P'11)</source>
          , Bialystok University of Technology (
          <year>2011</year>
          )
          <fpage>215</fpage>
          -
          <lpage>228</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Berthomieu</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ribet</surname>
            ,
            <given-names>P.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vernadat</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>The tool TINA - construction of abstract state spaces for Petri nets and time Petri nets</article-title>
          .
          <source>International Journal of Production Research</source>
          <volume>42</volume>
          (
          <issue>14</issue>
          ) (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>de Moura</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bjørner</surname>
          </string-name>
          , N.:
          <article-title>Z3: An efficient SMT solver</article-title>
          .
          <source>In: Proc. of the 14th Int. Conf. on Tools and Algorithms for the Construction and Analysis of Systems (TACAS'08)</source>
          . Volume 4963 of LNCS., Springer-Verlag (
          <year>2008</year>
          )
          <fpage>337</fpage>
          -
          <lpage>340</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Abadi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lamport</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>An old-fashioned recipe for real time</article-title>
          .
          <source>In: REX workshop on Real-Time: Theory in Practice</source>
          . Volume
          <volume>600</volume>
          of LNCS., Springer-Verlag (
          <year>1991</year>
          )
          <fpage>1</fpage>
          -
          <lpage>27</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Tsinarakis</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tsourveloudis</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Valavanis</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Modular Petri net based modeling, analysis, synthesis and performance evaluation of random topology dedicated production systems</article-title>
          .
          <source>Journal of Intelligent Manufacturing</source>
          <volume>16</volume>
          (
          <issue>1</issue>
          ) (
          <year>2005</year>
          )
          <fpage>67</fpage>
          -
          <lpage>92</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>