<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>On-The-Fly Model Checking of Timed Properties on Time Petri Nets</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Kais Klai</string-name>
          <email>kais.klai@lipn.univ-paris13.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>LIPN, CNRS UMR 7030 Université Paris 13</institution>
          ,
          <addr-line>Sorbonne Paris Cité 99 avenue Jean-Baptiste Clément F-93430 Villetaneuse</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <fpage>35</fpage>
      <lpage>53</lpage>
      <abstract>
        <p>This paper deals with model checking of timed systems modeled by Time Petri nets (TPN). We propose a new finite graph, called Timed Aggregate Graph (TAG), abstracting the behavior of bounded TPNs with strong time semantics. The main feature of this abstract representation compared to existing approaches is the encoding of the time information. This is done in a pure way within each node of the TAG allowing to compute the minimum and maximum elapsed time in every path of the graph. The TAG preserves runs and reachable states of the corresponding TPN and allows for on-the-fly verification of reachability properties. We illustrate in this paper how the TAG can be used to check some usual timed reachability properties and we supply an algorithm for extracting an explicit timed trace (involving the elapsed time before each fired transition) from an abstract run of the TAG. The TAG-based approach is implemented and compared to two well known TPNs analysis approaches.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Time Petri nets are one of the most used formal models for the specification
and the verification of systems involving explicit timing constraints, such as
communication protocols, circuits, or real-time systems. The main extensions of
Petri nets with time are time Petri nets [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] and timed Petri nets [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. In the
former, a transition can fire within a time interval whereas, in the latter, time
durations can be assigned to the transitions; tokens are meant to spend that
time as reserved in the input places of the corresponding transitions. Several
variants of timed Petri nets exist: time is either associated with places (p-timed
Petri nets), with transitions (t-timed Petri nets) or with arcs (a-timed Petri
nets) [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]. The same holds for time Petri nets [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. In [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], the authors prove that
p-timed Petri nets and t-timed Petri nets have the same expressive power and
are less expressive than time Petri nets. Several semantics have been proposed
for each variant of these models. Here we focus on t-time Petri nets, which we
simply call TPNs. There are two ways of letting the time elapse in a TPN [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ].
The first way, known as the Strong Time Semantics (STS), is defined in such a
manner that time elapsing cannot disable a transition. Hence, when the upper
bound of a firing interval is reached, the transition must be fired. The other
semantics, called Weak Time Semantics (WTS), does not make any restriction
on the elapsing of time.
      </p>
      <p>
        For real-time systems, dense time model (where time is considered in the
domain R 0) is the unique possible option, raising the problem of handling
an infinite number of states. In fact, the set of reachable states of the TPN is
generally infinite due to the infinite number of time successors a given state could
have. Two main approaches are used to treat this state space: region graphs [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]
and the state class approach [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The other methods [
        <xref ref-type="bibr" rid="ref10 ref11 ref17 ref2 ref24 ref4 ref5 ref6">2,24,4,10,5,17,6,11</xref>
        ] are
either refinements, improvements or derived from these basic approaches. The
objective of these representations is to yield a state-space partition that groups
concrete states into sets of states presenting similar behavior with respect to the
properties to be verified. These sets of states must cover the entire state space
and must be finite in order to ensure the termination of the verification process.
      </p>
      <p>
        In this work, we propose a new finite graph, called Timed Aggregate Graph
(TAG), abstracting the behavior of bounded TPNs with strong time semantics.
A preliminary version of this work has been published in [
        <xref ref-type="bibr" rid="ref13 ref14">13,14</xref>
        ], where a coarser
abstraction of TPNs’ state graph is proposed. The key idea behind the approach
presented in this paper is the fact that the time information associated with
each node is related to the current path leading to this node. In particular, given
a node of the TAG, for each couple of enabled transitions ht, t0i, the value of
the earliest and latest firing times of t (reps. t0) the last time, in the current
path, it "met" t0 (resp. t) is stored in the node. This information , represented
by a matrix, allows us (1) to maintain the relative differences between the firing
times of enabled transitions (diagonal constraints), (2) to determine the fireable
transitions at each node, and (3) to compute dynamically the earliest and the
latest firing time of each enabled transition for each node of the TAG. This
new version of the TAG allows to preserve the timed traces of the underlying
TPN while the abstraction proposed in [
        <xref ref-type="bibr" rid="ref13 ref14">13,14</xref>
        ] is an upper approximation of the
set of traces of the underlying TPN. Moreover, one can compute the minimum
and maximum elapsed time through every path of the graph which permits
onthe-fly verification of timed reachability properties (e.g., is some state reachable
between d and D time units).
      </p>
      <p>
        This paper is organized as follows: In Section 2, some preliminaries about
TPNs and the corresponding semantics are recalled. In Section 3, we define the
Timed Aggregate Graph (TAG) associated with a TPN and we discuss the main
preservation results of the TAG-based approach. In Section 4, we show how the
verification of some usual reachability properties can be accomplished
on-thefly by exploring the TAG. Section 5 relates our work to existing approaches. In
Section 6, we discuss the experimental results obtained with our implementation
compared to two well-known tools, namely Romeo [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and TINA [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Finally, a
conclusion and some perspectives are given in Section 7.
      </p>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries and Basic Notations</title>
      <p>
        A TPN is a P/T Petri net [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] where a time interval [tmin; tmax] is associated
with each transition t.
      </p>
      <p>Definition 1. A TPN is a tuple N = hP, T, Pre, Post , Ii where:
– hP, T, Pre, Post i is a P/T Petri net
– I : T ! N ⇥ (N [ { +1} ) is the time interval function such that: I(t) =
(tmin, tmax), with tmin  tmax, where tmin (resp. tmax) is the earliest (resp.
latest) firing time of transition t.</p>
      <p>
        A marking of a TPN is a function m : P ! N where m(p), for a place p, denotes
the number of tokens in p. A marked TPN is a pair N = hN1, m0i where N1 is
a TPN and m0 is a corresponding initial marking. A transition t is enabled by
a marking m iff m Pre(t) and Enable(m) = {t 2 T : m Pre(t)} denotes the
set of enabled transitions in m. If a transition ti is enabled by a marking m, then
" (m, ti) denotes the set of newly enabled transitions [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Formally, " (m, ti) = {t 2
T | t 2 Enable(m Pre(ti) + Post (ti)) ^ (t 62 Enable(m Pre(ti)) _ (t = ti))}. If
a transition t is in " (m, ti), we say that t is newly enabled by the successor of m
by firing ti. Dually, #(m, ti) = Enable(m Pre(ti) + Post (ti)) \ " (m, ti) is the set
of oldly enabled transitions. The possibly infinite set of reachable markings of N
is denoted Reach(N ). If the set Reach(N ) is finite we say that N is bounded.
      </p>
      <p>
        The semantics of TPNs can be given in terms of Timed Transition Systems
(TTS) [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] which are usual transition systems with two types of labels: discrete
labels for events (transitions) and positive real labels for time elapsing (delay).
States (configurations) of the TTS are pairs s = (m, V ) where m is a marking
and V : T ! R 0 [ {?} a time valuation. In the following, s.m and s.V denote
the marking and the time valuation respectively of a state s. If a transition t is
enabled in m then V (t) is the elapsed time since t became enabled, otherwise
V (t) = ? . Given a state s = (m, V ) and a transition t, t is said to be fireable in
s iff t 2 Enable(m) ^ V (t) 6= ? ^ tmin  V (t)  tmax.
      </p>
      <p>Definition 2 (Semantics of a TPN). Let N = hP, T, Pre, Post , I, m0i be a
marked TPN. The semantics of N is a TTS SN = hQ, s0, !i where:
1. Q is a (possibly infinite) set of states
2. s0 = (m0, V0) is the initial state such that:
8 t 2 T, V0(t) =</p>
      <p>?
⇢ 0 if t 2 Enable(m0)
otherwise
3. ! ✓</p>
      <p>Q ⇥ (T [ R 0) ⇥ Q is the discrete and continuous transition relations:
(a) the discrete transition relation:</p>
      <p>8 t 2 T : (m, V !) t (m0, V 0) iff:
(b) the continuous transition relation: 8 d 2 R 0, (m, V !) d (m0, V 0) iff:
&gt;&gt;&gt;&lt;&gt;8 ttm2inE naVbl(et() m) t^mma8&lt;x0 0= m if t0 2 "(m, t)
&gt;&gt;&gt;&gt; 8 t0 2 T : V 0(t0) = V (t0) if t0 2 #(m, t)
: otherwise
: ?</p>
      <p>Pre(t) + Post (t)
&gt;8 8 t 2 Enable(m), V (t) + d  tmax
&gt;&gt;&gt;&lt; m0 = m</p>
      <p>8 t 2 T :
&gt;&gt;&gt;&gt;: V 0(t) =
⇢ V (t) + d if t 2 Enable(m);</p>
      <p>V (t) otherwise.</p>
      <p>The above definition requires some comments. First, a state change occurs
either by the firing of transitions or by time elapsing: The firing of a transition
may change the current marking while the time elapsing may make some new
transitions fireable. Second, the delay transitions respect the STS semantics: an
enabled transition must fire within its firing interval unless it is disabled by the
firing an other transition.</p>
      <p>Given a TPN N and the corresponding TTS SN , a path ⇡ = s0! ↵ 1 s1! ↵ 2 . . . ,
where ↵ i 2 (T [ R 0), is a run of SN iff (si, ↵ i, si+1) 2! for each i = 0, 1, . . . .
The length of a run ⇡ can be infinite and is denoted by | ⇡ |. The possibly
infinite set of runs of SN is denoted [SN ]. Without loss of generality, we assume
that for each non empty run ⇡ = s0! ↵ 1 s1! ↵ 2 . . . of a STS corresponding to
a TPN, there do not exist two successive labels ↵ i and ↵ i+1 belonging both
to R 0. Then, ⇡ can be written, involving the reachable markings of N , as
⇡ = m0(!d1,t1)m1(!d2,t2) . . . where di is the time elapsed at marking mi 1 before
firing ti. In order to associate a run ⇡ of SN with a run of N , denoted P(⇡ ),
we define the following projection function, where ⇧ denotes the concatenation
operator between paths and ⇡ i, for i = 0, 1 . . . , denotes the suffix of ⇡ starting
at state si.</p>
      <p>P(⇡ ) =
8 s0.m
&gt;&lt;&gt;&gt; s0.m(!0,↵ 1) ⇧ P(⇡ 1) if ↵ 1 2 T</p>
      <p>if | ⇡ |= 0
&gt;&gt;:&gt; ss00..mm!(↵↵!11,↵ ⇧2P)⇧(P⇡1()⇡ 2) iiff ↵↵ 11 22 RR 00^^ || ⇡⇡ ||= 21
3
3.1</p>
      <p>Timed Aggregate Graph
In this subsection, we propose to abstract the reachability state space of a TPN
using a new graph called Timed Aggregate Graph (TAG) where nodes are called
aggregates and are grouping sets of states of a TTS. The key idea behind TAGs
is the way the time information is encoded inside aggregates. In addition to the
marking characterizing an aggregate, the time information is composed of two
parts:
– The first part of the time information characterizing an aggregate is a
dynamically updated interval, namely (↵ t, t), associated with each enabled
transition t. This interval gives the earliest and the latest firing times of
any enabled transition starting from the corresponding aggregate. Either
the corresponding transition is fireable at the current aggregate and the
system must remain within the aggregate at least ↵ t time units and at most t
time units (as long as the other enabled transitions remain fireable) before
firing t, or t is not possible from the current aggregate (e.g. because of some
diagonal constraint), and the system must move to an other aggregate by
firing other transitions until t becomes fireable. In the latter case, the system
must consume at least ↵ t, and can consume at most t to make t fireable in
the future.
– The second part of the time information characterizing an aggregate is a
matrix, namely M eet, allowing to dynamically maintain the relative differences
between the firing times of enabled transitions (diagonal constraints). Given
two enabled transitions t1 and t2, M eet(t1, t2) is an interval representing the
earliest and the latest firing times of t1 the last time both t1 and t2 were
enabled (through the paths leading to the aggregate).</p>
      <p>Before we formally define the TAG and illustrate how the attributes of an
aggregate are computed dynamically, let us first formally define aggregates.
Definition 3 (Timed Aggregate). Let N = hP, T, P re, P ost, Ii be a TPN.
A timed aggregate associated with N is a tuple a = (m, E, M eet), where:
– m is a marking
– E = {ht, ↵ t, ti | t 2 Enable(m), ↵ t 2 N ^ t 2 N [ { +1}} is a set of enabled
transitions each asssociated with two time values.
– Meet is a matrix s.t. 8 t, t0 2 Enable(m), M eet(t, t0) = h↵, i where ↵ (resp.</p>
      <p>) represents the earliest (resp. latest) firing time of t the last time t and t0
are both enabled before reaching the aggregate a.</p>
      <p>As for the states of a TTS, the attributes of an aggregate a are denoted
by a.m, a.E and a.M eet. Moreover, a.M eet(t, t0).↵ (resp. a.M eet(t, t0). ) is
denoted by a.↵ tm(t,t0) (resp. a. tm(t,t0)), or simply ↵ tm(t,t0) (resp. tm(t,t0)) when the
corresponding aggregate is clear from the context. We use also ↵ m(t,t0) (resp.</p>
      <p>m(t,t0)) to denote ↵ tm(t,t0) (resp. tm(t,t0)) when the involved transition t is clear
from the context.</p>
      <p>The E attribute of an aggregate a allows to compute the minimum and the
maximum time the system can elapse when its current state is within a. The
following predicates ( and ) compute these information for a given aggregate.
Definition 4 (Minimum and maximum stay times). Let a = hm, Ei be an
aggregate, the minimum and maximum time the system can stay at a are denoted
by (a) and (a) respectively, and are defined by the two following predicates:
– (a) = minht,↵ t, ti2 E (↵ t)
– (a) = maxht,↵ t, ti2 E ( t)
The minimum (resp. maximum) stay time (a) (res. (a)) of an aggregate a
allows to encapsulate the continuous transition relation within a.</p>
      <p>Given an aggregate a = hm, Ei and an enabled transition t (i.e., ht, ↵ t, ti 2
E), two primordial issues must be achieved to define the semantics of the TAG:
(1) is t fireable from a?, and (2) if it is the case, how do we obtain the successor
aggregate by firing t from a. In the following, we answer these issues.
Definition 5. Let a = hm, E, M eeti be an aggregate and let ht, ↵ t, ti 2 E.
m(t0,t)
t0
Then, t is fireable at a, denoted by a t , iff 8h t0, ↵ t0 , t0 i 2 E, ↵ tm(t,t0) 
A transition t is fireable at an aggregate a iff there is no transition t0, that is
enabled by a, whose latest firing time was strictly smaller than the earliest firing
time of t the last time both transitions were enabled.</p>
      <p>Now that the firability condition is formally defined, the following definition
computes the successor aggregate obtained by the firing of a given transition. In
this definition, the notion of newly (and oldly) enabled transitions is extended
to aggregates as follows: " (a, t) =" (a.m, t) and # (a, t) =# (a.m, t) for each
transition t enabled by a.m
Definition 6. Let a = hm, E, M eeti be an aggregate and let ht, ↵ t, ti 2 E.</p>
      <p>Assume that t is fireable at a (following Definition 5). The aggregate a0 =
hm0, E0, M eet0i obtained by firing t from a, denoted by a t a0, is obtained as
follows:
1. m0 = m Pre(t) + Post (t)
2. E0 = E10 [ E20, where:
• E10 = S
• E20 = St02" (a,t){ht0, t0min, t0maxi}</p>
      <p>t02# (a,t){ht0, ↵ t00 , t00 i} where:
– ↵ t00 = ↵ t0 SCR(a, t0), where SCR(a, t0) =
– t00 = t0
• 8 (ht1, ↵ 1, 1i, ht2, ↵ 2, 2i) 2 E0 ⇥ E0</p>
      <p>M ax(0, (↵ tm(t,t0)
( tm0 (t0,t)
t0 ))
M ax(0, (M int002 Enable(a)(M in( m(t0,t00), m(t00,t0))
(↵ tm0 (t0,t00)
↵ t0 ))
M eet0(t1, t2) =
&lt;8 [t1min , t1max ] if t1 2" (a, t)</p>
      <p>[↵ 1, 1] if t1 2#(a, t) ^ t2 2" (a, t)
: M eet(t1, t2) if t1 2#(a, t) ^ t2 2#(a, t).</p>
      <p>The computation of a successor a0 of an aggregate a by the firing of a transition
t is guided by the following intuition: If #(a, t) 6= ; , then the more the system
can remain at a, the less it can remain at a0 and vice versa. Otherwise, the time
elapsed within a0 is independent from the time elapsed within a. Thus, given a
transition t0 enabled by a0, two cases are considered: if t0 is newly enabled, then
its earliest and latest firing times are statically obtained by t0min and t0max
respectively. Otherwise, the more one can remain at a, the less will be the necessary
wait time at a0 before firing t0. The function SCR (Still Can Remain) allows to
compute the maximum remaining time at a under the hypothesis that, since t0
became enabled, it remains the maximum time at each encountered aggregate
before reaching a (note that this is different from (a)). Thus SCR(a, t0) is
obtained by the following reasoning: given a transition t00 that is enabled by a, it
is clear that since the last time t0 and t00 became both enabled, the maximum
elapsed time can not be greater than M in( m(t0,t00), m(t00,t0)) (because of the
STS semantics which is used in this paper). The maximum time the system can
remain at a is then obtained by subtracting from this quantity the time that is
already spent during the path leading to a (i.e., (↵ tm0 (t0,t00) ↵ t0 )). By analyzing
all the transitions enabled by a the function SCR takes the minimum values in
order to not violate the STS semantics rule. Similarly, the latest firing time of
t0 corresponds to the situation where, between the last time t and t0 were both
enabled and the current aggregate a, each fired transition is fired as soon as
possible. Each time a transition is fired, its earliest firing time is subtracted from
the latest firing time of the old transitions. However, if the quantity of time that
must be subtracted from the latest firing time of t0 has already been subtracted
in between, then the latest firing time of t0 at a0 is the same latest firing time of
t0 at the aggregate a.</p>
      <p>Concerning the M eet attribute, given two transitions t1 and t2 that are
enabled at a0, the value of M eet(t1, t2) is simply obtained by considering the
membership of these transitions to " (a, t) and to #(a, t). Finally, by considering
that 1 1 = 0, the previous definition allows to handle transitions having an
unbounded latest firing time.</p>
      <p>p1
p2
p1
p2
p1
p2
p3
t1[1; 2] t2[1; 1]
t1[0; 1] t2[2; 3]</p>
      <p>t1[1; 1] t2[2; 2] t3[1; 1]
p1</p>
      <p>p2
t1[1; 2] t2[2; 1 ]</p>
      <p>Fig. 1. Four TPN Examples</p>
      <p>Now, we are ready to formally define the TAG associated with a marked
TPN N . It is a labeled transition system where nodes are timed aggregates.
It has an initial aggregate, a set of actions (the set of transitions of N ) and
a transition relation. The initial aggregate is easily computed by considering
static information of the TPN while the transition relation is directly obtained
by Definition 5 and Definition 6.</p>
      <p>Definition 7 (Timed Aggregate Graph). Let N = hP, T, Pre, Post , I, m0i
be a TPN. The TAG associated with N is a tuple G = hA, T, a0, i where:
1. A is a set of timed aggregates;
2. a0 = hm0, h0i is the initial timed aggregate s.t.:
(a) m0 is the initial marking of N .
(b) E0 = {ht, tmin, tmaxi | t 2 Enable(m0 )}
(c) 8 t, t 2 Enable(a), M eet(t, t0) = [tmin, tmax]
3. ✓ A ⇥ T ⇥ A is the transition relation such that:
8 a 2 A, 8 t 2 T , (a, t, a0) 2 iff a t a0</p>
      <p>Since each transition having an unbounded static latest firing time will
always maintain the same latest firing time at each aggregate where it is enabled,
one can prove that the number of aggregates of a TAG is bounded when the
corresponding TPN is bounded. Indeed, given a reachable marking m, the number
of different aggregates having m as marking can be bounded by the number of
possible values of its attributes. This number is finite because of the following
facts: (1) if the number of the transitions that are enabled by m is e, there are
2|e| possible subsets of old transitions; (2) for a given subset of old transitions
o, the number of possible arrangements of the old transitions regarding the
enabling time is at most equal to | o |! (the 2n elements corresponding to the
orderings where two or more old transitions became enabled at the same time
are not considered); (3) given an arrangement t1  t2  · · ·  t|o|, the number
of possible values of ↵ tm1(t1,t2) is at most equel to Pit=1m0in (t1max
i + 1). Similarly,
the possible values of ↵ tm2(t2,t3) is equal to Pit=2m0in (t2max i + 1), etc. Thus, the
number of the possible different values of the matrix M eet, for this particular
arrangement, is obtained by ⇧ j|o=|2 Pit=j01min (tj 1max i + 1); (4) for each enabled
transition t (with tmax 6= 1 ), there are at most Pit=mi0n (tmax i + 1) different
intervals that can represent the earliest and latest firing times associated with t
in a given aggregate (i.e., ↵ t and t). When tmax = 1 , the number of possible
time intervals associated with t is tmin + 1.</p>
      <p>Figure 2 illustrates the TAGs corresponding to the TPNs of Figure 1. In
the three first TAGs, the marking associated with each aggregate is omitted
(it is the same as the initial one). The second column of the tables gives the
dynamic earliest and latest firing times of the enabled transitions (i.e., t1, t2
and t3 respectively). For sake of readability of the figures, the M eet attribute is
omitted.</p>
      <p>Although the four models of Figure 1 are quite simple, they are representative
enough to explain the TAG construction. Indeed, in the first one the transitions
intervals overlap, while the case of disjoint intervals is considered through the
second and the third models. Finally, the fourth model illustrates the case of
an unbounded latest firing time. More significant examples are considered in
Section 6.</p>
      <p>aggregate E
aaaaa32410 {{{{{hhhhh10011,,,,,22122iiiii,,,,,hhhhh01101,,,,,11101iiiii}}}}}
a5 {h0,0i,h1,1i}
aggraaaaaaaaae436521870gate {{{{{{{{{hhhhhhhhh010101101,,,,,,,,,010101101iiiiiiiii,,,,,,,,}hhhhhhhh,20202012hE,,,,,,,,120202012,iiiiiiii1,,,,,,,,ihhhhhhhh,11010011h,,,,,,,,111010011,iiiiiiii1}}}}}}}}i t2a5
a9 {h1,1i,h1,1i,h0,0i}
t1
a1
a0
a3
In this section, we establish the main result of our approach: The TAG is an
exact representation of the reachability state space of a TPN. In fact, for each
path in the TPN (resp. in the corresponding TAG) it is possible to find a path in
the TAG (resp. TPN) involving the same sequence of transitions and where the
time elapsed within a given state is between the minimum and the maximum
stay time of the corresponding aggregate.
1 . . . n+1, 9 ⇡ = a0! t1 a1! . . .! tn an s.t. 8 i = 0 . . . n, di+1 
and 8 i = 1 . . . n, di ↵ i 1ti .</p>
      <p>Theorem 1. Let N be a TPN and let G = hA, T, a0, i be the TAG associated
with N . Then 8 ⇡ = m0(!d1,t1)m1(!d2,t2) . . . (!dn,tn)mn!dn+1, with di 2 R 0, for i =
(ai), mi = ai.m
Proof. Let ⇡ = m0(!d1,t1)m1(!d2,t2) . . . (!dn,tn)mn!dn+1 be a path of N , with di 2 R 0,
for i = 1 . . . n + 1. Given a path a0! a1 . . . , we denote by ↵ it (res. it ), for
i = 0 . . . , the dynamic earliest firing time (resp. latest firing time) of a transition
t enabled by an aggregate ai.</p>
      <p>Let us prove by induction on the length of ⇡ the existence of a path ⇡ in the
TAG satisfying the conditions of Theorem 1.</p>
      <p>– | ⇡ |= 0: Obvious since m0 = a0.m (by construction) and since d1 is less or
equal to mint2 Enable(m0) tmax which is exactly the value of (a0).
– | ⇡ |= 1 i.e., ⇡ = m0(!d1,t1)m1! d2 . It is clear that ↵ 0t1  d1  (a0). The fact
that t1 is fireable at m0 implies that it is at a0 (8 t 2 Enable(m0), t1min 
tmax) and its firing leads to the aggregate a1 satisfying a1.m = m1. Let
us assume that d2 &gt; (a1) and let tm be the transition that is enabled
at a1 and which has the smallest latest firing time i.e., 1tm = (a1). If
tm is newly enabled at a1 then d2 should clearly be greater or equal to
(a1). If tm 2#(a0, t1) then 1tm = tmmax t1min . Since d1 t1min , then
tmmax t1min tmmax d1. The fact that d2 &gt; 1tm would imply that
d1 + d2 &gt; tmmax which is contradictory with the STS semantics. Thus d2 
(a1).
– Assume that for any path ⇡ s.t. | ⇡ | n, there exists a path in the
TAG with the same trace and satisfying the above conditions. Let ⇡ =
m0(!d1,t1)m1(!d2,t2) . . . (!dn,tn)mn(dn!+1,tn+1)mn+1!dn+2 be a path of length n + 1.
Let ⇡ = a0! t1 a1! t2 . . .! tn an be the path in the TAG associated with the
n-length prefix of ⇡ (by the induction hypothesis). Then dn+1  (an).
Let us demonstrate that dn+1 ↵ nn+1 : It is clear that this is the case
when tn+1 2" (an, tn+1. If tn+1 2#(an, tn+1, let LastN ewi(t) be the
function that returns the greatest integer, smaller than (or equal to) i, such
that t 2" (al 1, tl). If such a value does not exist, then t became enabled,
for the last time, at the initial aggregate a0 and the function returns 0.
Let k = LastN ewi(tn+1), then ↵ nn+1 = tn+1min Pin=k1 SCR(ai, tn+1).
The STS semantics implies that Pin=k1 SCR(ai, tn+1) Pin=k1 di+1 Thus
tn+1min Pin=k1 SCR(ai, tn+1) tn+1min Pin=k1 di+1, and dn+1 &gt; ↵ ntn+1
would means that Pin=k di+1 &lt; tn+1min which would prevent the firing of
tn+1 at mn. Thus, dn+1  ↵ ntn+1 . Let us show now that tn+1 is fireable at
an. Assume the opposite, this would imply that there exists a transition t
enabled by an such that ↵ m(tn+1,t) &gt; m(t,tn+1). Let LastN ewn(tn+1) = l,
LastN ewn(t) = k, and let us consider the three following cases:
1. l = k, then m(t,tn+1) = tmax and ↵ m(tn+1,t) = tnmin and the fact that
tnmin &gt; tmax would prevent tn+1 from being fireable at mn which is not
the case. Thus, tn+1 is fireable at an as well.
2. l &lt; k. In this case, ↵ m(tn+1,t) = tn+1min
Pjk=l1 SCR(aj, tn+1) and
m(t,tn+1) = tmax. Again, the STS semantics implies that Pik=l1 SCR(ai,
tn+1) Pik=l1 di+1. Thus, tn+1min Pik=l1 SCR(ai, tn+1)  tn+1min
Pik=l1 di+1, and ↵ m(tn+1,t) &gt; tmax would means that Pik=l di+1 &lt; tn+1min
which would prevent the firing of tn+1 at mn. Thus, ↵ m(tn+1,t) 
and tn+1 is necessarily fireable at an.
3. l &gt; k. In this case, ↵ m(tn+1,t) = tn+1min and m(t,tn+1) = tmax
Pli=1k M ax(0, (↵ m(ti+1,t) ( m(t,ti+1) it )). Knowing that Pli=1k M ax(0,
(↵ m(ti+1,t) ( m(t,ti+1) it ))  Pli=1k di+1 (otherwise, the time spent
between k and some i  l is smaller than ↵ m(ti,t), which is
contradictory with the recurrence hypothesis), tmax Pli=1k M ax(0, (↵ m(ti+1,t)
( m(t,ti+1) Pli=1k di+1. Thus, if tn+1min &gt; m(t,tn+1)
it )) tmax
then tn+1min &gt; tmax Pli=1k di+1 which prevent the firing of tn+1 at mn
(before firing t) which is not true. Thus, tn+1 is fireable at an.</p>
      <p>Let us now demonstrate that dn+2  (an+1). Assume the opposite,
and let tm be the transition enabled by an+1 which has the
smallest latest firing time i.e. n+1tm = (an+1). It is clear that if tm 2"
(an, tn+1) then dn+2  (an+1). Otherwise,Pifntm 2# (an, tn+1) and
i=k M ax(0, (↵ m(ti+1,tm)
k = LastN ewn+1(tm) then Pn+in1=tkmM=atxm(m0,a(x↵ m(ti+1,tm), then
Again, since Pin=k di+1 n+1tm 
tmmax Pn n+1tm would imply that
dn+2 + Pin=i=kkddi+i+11&gt;,atnmdmtahxewfhacicththisatnodtn+al1lo&gt;wed by the STS semantics.
m(t,tn+1)
Thus, dn+2 </p>
      <p>(an+1).</p>
      <p>Theorem 2. Let N be a TPN and let G = hA, T, a0, i be the TAG associated
with N . Then, for any path ⇡ = a0! t1 a1! . . .! tn an in the TAG, there exists
a run ⇡ = m0(!d1,t1)m1! . . . (!dn,tn)mn in N , s.t. 8 i = 0 . . . n, mi = ai.m,
8 i = 1 . . . n, ↵ i 1ti )  di  (ai 1), and 8 d 2 R 0, mn! d , d  (an)
Proof. Let ⇡ = a0! t1 a1! . . .! tn an. We denote by ↵ it (res. it ) the dynamic
earliest firing time (resp. the dynamic latest firing time) of a transition t at
aggregate ai, for i 2 {0, . . . , n 1}. Let us demonstrate that the path ⇡ =
m0(!d1,t1)m1! . . . (!dn,tn)mn obtained by the following algorithm satisfies the
requirement. The function LastN ewi(t) returns the greatest integer l, smaller
than i, such that t 2" (al 1, tl). If such a value does not exist, then t became
enabled, for the last time, at the initial aggregate a0 and the function returns
0. We propose to proceed by construction and built a path ⇡ satisfying the
Theorem 2. We use the following algorithm to compute a set of delays di, for
i = 1 . . . n and prove that the a0.m(!d1,t1)a1.m! . . . (!dn,tn)an.m is a run of the
TPN associated with the TAG.</p>
      <p>Input: an abstract path ⇡ = a0! t1 a1! . . .! tn an
Output: a concrete path ⇡ = m0(!d1,t1)m1! . . . (!dn,tn)mn
begin
1 8 i = 1 . . . n
2 di ↵ i 1ti
3 8 i = n 1 . . . 1
4 k = LastN ewi(ti+1)
5 If (Pij=1k dj+1 &lt; ti+1min )
6
7
8 k  j &lt; i
dj+1 = M ax(dj+1, ↵ jti+1</p>
      <p>↵ j+1ti+1 )
and Pij=1k(↵ jt ↵ j+1t )  ti+1max for any transition t 2#(ai 1, ti). Now, the
elapsed time since the last time ti+1 became enabled can exceed ti+1max . This
can occur if, in order to ensure the firing of some transition tj (for j &gt; i + 1) this
time has been increased by the algorithm (lines 5 7). Thus, one has to decrease
this time while maintaining the firability of the transition tj . This is ensured by
lines 8 10. The last condition that could prevent ti+1 from being fireable at
ai. is that condition (2) is violated: the time elapsed between the moment some
transition t, enabled before, ti+1, and the moment ti+1 became enabled is bigger
than tmax ti+1min . This can happen when the firing of some transition tj , with
j &gt; i + 1, involved the increase of this quantity of time. This case is treated at
lines 11 15, by fixing this problem while maintaining the future firability of tj .</p>
      <p>Thus, the algorithm ensures the construction of a run of the TPN associated
with the TAG that has the same trace. It is clear that the values of di, for
i = 1 . . . n, respects the conditions of Theorem 2. Now, Theorem 1 ensures that
if mn! d , for some d 2 R 0, then d  (an). Finally, given d 2 R 0 s.t.,
d  (an), the algorithm used to build ⇡ implies that the involved markings are
reached as soon as possible. By construction of the TAG, (an) is the maximum
time the system can stay at mn.</p>
      <p>Using the above results one can use the TAG associated with a TPN in order
to analyse both event and state based properties. In particular, we can check
whether a given marking (resp. transition) is reachable (resp. is fireable) before
(or after) some time.
4</p>
    </sec>
    <sec id="sec-3">
      <title>Checking Time Reachability Properties</title>
      <p>Our ultimate goal is to be able, by browsing the TAG associated with a TPN,
to check timed reachability properties. For instance, we might be interested in
checking whether some state-based property ' is satisfied within a time interval
[d, D), with d 2 N and D 2 (N [ {1} ), starting from the initial marking. The
following usual reachability properties belong to this category.
1. 9 ⌃ [d;D]' : There exists a path starting from the initial state, consuming
between d and D time units and leading to a state that satisfies '.
2. 8 ⇤[d;D]' : For all paths starting from the initial state, all the states, that
are reached after d and before D time units, satisfy '.
3. 8 ⌃ [d;D]' : For all paths starting from the initial state, there exists a state in
the path, reached after d and before D time units that satisfies '.
4. 9 ⇤[d;D]' : There exists a path from the initial state where all the states,
that are reached after d and before D time units, satisfy '.</p>
      <p>For the verification of time properties, an abstraction-based approach should
allow the computation of the minimum and maximum elapsed time over any
path. In the following, we establish that the TAG allows such a computation.
Definition 8. Let N be a TPN and let G = hA, T, a0, i be the
corresponding TAG. Let ⇡ = a0! t1 a1! . . .! tn an be a path in G. For each aggregate ai
(for i = 0 . . . n), M inAT⇡ (ai) (resp. M axAT⇡ (ai)) denotes the minimum (resp.
maximum) elapsed time between a0 and ai. In particular, M inAT (a0) := 0 and
M axAT (a0) := (a0).</p>
      <p>Proposition 1. Let N be a TPN and let G = hA, T, a0, i be the corresponding
TAG. Let ⇡ = a0! t1 a1! . . .! tn an be a path in G. We denote by ↵ it (resp.</p>
      <p>it ) the dynamic earliest (resp. latest) firing time of a transition t at aggregate
ai, for i = 1 . . . n. Then, 8 i = 1 . . . n, the following holds:
– M inAT⇡ (ai) = M inAT⇡ (ai 1) + ↵ i 1ti
– M axAT⇡ (ai) = M axAT (ai 1) + M int2 Enable(ai)SCR(ai, t)
aaaaa
aaaaa
aaaaa
aaaaa
aaaaa
aaaaa
aaaaa
aaaaa
aaaaa
Region1
MaxAT &lt; d
Region2
MaxAT d
MinAT  D
|= ' ?
d</p>
      <p>D</p>
      <p>Region3
temps MinAT &gt; D</p>
      <p>Using the previous proposition, one can browse the TAG graph and compute
the minimum and maximum bounds of the elapsed time of the current path
on-the-fly. If a path of the TAG is considered as a counterexample for some time
reachability property, one can use the algorithm given in the proof of Theorem 2
in order to build a concrete counterexample. Here we do not give the detailed
algorithms for checking reachability properties on-the-fly, but we give the main
intuition. The TAG is represented as a tree which is partitioned into three
regions (see. Figure 3). The first region (Region1) contains the aggregates that
are reachable strictly before d time units. The second region (Region2) contains
the aggregates that are reachable between d and D time units and the last
region contains the aggregates that are reachable strictly after D time units. In
case D = 1 Region3 is empty. By doing so, the verification algorithms behave
as follows: only aggregates belonging to Region2 are analyzed with respect to
'. Region1 must be explored in order to compute the maximal and minimum
access time of the traversed aggregates, but Region3 is never explored. In fact,
as soon as an aggregate is proved to belong to Region3 the exploration of the
current path is stopped. Furthermore, one has to check for a particular kind of
Zeno behavior: if a cycle involving only aggregates whose minimal and maximal
access times are equal, then the exploration of the current branch is stopped.</p>
      <p>For instance checking the formula number 1 is reduced to the search of an
aggregate a in Region2 that satisfies '. As soon as such an aggregate is reached
the checking algorithm stops the exploration and returns true. When, all the
aggregates of Region2 are explored (none satisfies ') the checking algorithm
returns false. Dually, the formula number 2 is proved to be unsatisfied as soon as
an aggregate in Region2 that do not satisfy ' is reached. When all the aggregates
of Region2 are explored (each satisfies ') the checking algorithm returns true.</p>
      <p>Checking formulae number 3 and 4 is slightly more complicated. In fact,
checking formula number 3 is reduced to check if, along any path in Region2,
there exists at least one aggregate satisfying '. As soon as a path in Region2 is
completely explored without encountering an aggregate satisfying ', the
exploration is stopped and the checking algorithm returns false. Otherwise, it returns
true. Finally, checking formula 4 is reduced to check that there exists a path
in Region2 such that all the aggregates belonging to this path satisfy '. This
formula is proved to be true as soon as such a path is found. Otherwise, when
all the paths of Region2 are explored (none satisfies the desired property), the
checking algorithm returns false.
5</p>
    </sec>
    <sec id="sec-4">
      <title>Related works</title>
      <p>This section reviews the most known techniques, proposed in the literature,
that abstract and analyse the state space of real-time systems described by
means of TPN. Abstraction techniques aim at constructing, by removing some
irrelevant details, a contraction of the state space of the model, which preserves
properties of interest. The existing abstraction approaches mainly differ in the
states agglomeration criteria, the characterization of states and state classes
(interval states or clock states), the kind of preserved properties.</p>
      <p>
        The States Class Graph (SCG) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] was the first method of state space
representation adapted to TPNs. A class (m, D ) is associated with a marking m and
a time domain D represented by a set of inequalities over variables. The
variables represented in the SCG are the firing time intervals of enabled transitions.
The SCG allows for the verification of some TPN properties like reachability,
boundness. However, it preserves the linear time properties only. To address this
limitation, a refinement of the method was proposed in [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ], in the form of a
graph called Atomic States Class Graph (ASCG). The authors use a cutting of
state class by adding linear constraints so that each state of an atomic class has
a successor in all the following classes. With this improvement, they are able to
verify CTL⇤ properties on TPN, but with the limitation that the time intervals
of transitions are bounded. A new approach for the construction of atomic classes
was proposed in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and allows the verification of CTL⇤ without restriction on
time intervals. The state class approach is implemented in a software tool called
TINA [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>
        The Zones Based Graph (ZBG) [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] is an other approach allowing to abstract
the TPN state space. This approach is inspired by the Region Graph (RG) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]
technique, initially introduced for timed automata. In practice, the number of
regions is too large for an effective analysis, thus, the regions are grouped into
a set of zones. A zone is a convex union of regions and can be represented by a
DBM (Difference Bound Matrix) [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. In [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], the clocks of transitions are directly
encoded within the zones. This allows to verify temporal and quantitative
properties but not CTL⇤ properties. As for timed automata, a disadvantage of the
method is the necessary recourse to approximation methods (k-approximation
or kx-approximation) in the case where the infinity is used in the bounds of time
intervals. Lime and Roux also used TPNs to model system behavior [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. They
used the state class approach to build a timed automaton that preserves the
behavior of the TPN using as less clock variables as possible. The resulting model
is then verified using the UPPAAL tool [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. However, even though UPPAAL
can answer about quantitative temporal properties, it can only verify a subset of
TCTL. Adding a new transition to measure time elapse was proposed in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] to
perform TCTL model-checking in TPNs. Using this transition, TCTL formulae
are translated into CTL formulae. Then a ZBG for TPN is refined leading to a
graph called Atomic Zone Based Graph (AZBG) that preserves CTL properties.
      </p>
      <p>Unlike the TAG, in all existing approaches, the time information does not
appear explicitly in nodes which leads to additional and costly calculations such
as: the manipulation of DBM to encode the zones (for zones based approaches)
and the classes (for state-class based approaches), the approximations to counter
the problem of unbounded transitions, conversion of graphs to timed automata
(using UPPAAL) to model check properties (etc). In our work the time
information is encoded within the aggregates allowing to check time properties just
by browsing the graph, which has a significant impact on the construction
complexity. The encoding of the timing information in the aggregates is such that
the minimum and maximum elapsed time in every path of the TAG can be
computed.
6</p>
    </sec>
    <sec id="sec-5">
      <title>Experimental results</title>
      <p>The efficiency of the verification of timed reachability properties is closely linked
with the size of the explored structure to achieve this verification. Thus, it was
important to first check that the TAG is a suitable/reduced abstraction before
performing verification on it. Our approach for building TAG-TPN was
implemented in a prototype tool (written in C++), and used for experiments in order
to validate the size of the graphs generated by the approach (note that the
prototype was not optimized for time efficiency yet, therefore no timing figures are
given in this section). All results reported in this section have been obtained
on a Mac-os with 2 gigahertz Intel with 8 gigabytes of RAM. The implemented
prototype allowed us to have first comparison with existing approaches with
respect to the size of obtained graphs. This section is dedicated to report, compare
and discuss the experimental results obtained with three approaches: SCG, ZBG
and TAG-TPN. Notice that we used the ROMEO tool to build both SCGs and
ZBGs. The built versions preserve Linear-time Temporal Logic (LTL) properties.
We tested our approach on several TPN models and we report here the obtained
results for three well known examples of parametric TPN models.</p>
      <p>
        The considered models are: (1) a TPN representing a composition of
producer/consumer models by fusion of a single buffer (of size 5) [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], (2) the second
example (adapted from [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]) is the Fischer’s protocol for mutual exclusion, and
(3) the last is the train crossing example [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>Table1 reports the results obtained with the SCG, the ZBG and the
TAGTPN approaches, in terms of graph size number of nodes/number of edges).</p>
      <p>SCG (with Tina)
(nodes / arcs)
34 / 56
748 / 2460
4604 / 21891
14086 / 83375
31657 / 217423
61162 / 471254
107236 / 907 708
4 / 4
18 / 29
65 / 146
220 / 623
727 / 2536
2378 / 9154
7737 / 24744
25080 / 102242</p>
      <p>The obtained preliminary results show that the size of the TAG is comparable
to the size of the graphs obtained with the ZBG and the SCG approaches.
The TAG achieves better performances than both SCG and ZBG for the train
crossing example, while it is slightly worse for the Fischer’s protocol and performs
similarly to SCG but worse than ZBG for the producer/consumer example.</p>
      <p>This is an encouraging result because of the following reasons: The TAG
allows for checking timed properties while the SCG approach do not. Also, it
can be used for the verification of event-based timed properties while the ZBG
approach do not. An other difference consists in the fact that the verification of
timed properties can be achieved directly on the TAG, without any
synchronisation with an additional automaton (representing the formula to be checked),
nor any prior step of translation to timed automata. Moreover, using the
algorithm given in the proof of Theorem 2, and in the prospect of using the TAG
in order to check timed properties, one can exhibit (e.g., from a
counterexample abstract path in the TAG) an explicit run involving the time spent at each
reached marking. Finally, we claim that the TAG is a suitable abstraction for
further reductions, especially the partial order reduction which is based on the
exploitation of the independency between the TPN transitions. The third
example of Figure 2 is a typical illustration of the gain one could have by applying
such a reduction.
7</p>
    </sec>
    <sec id="sec-6">
      <title>Conclusion</title>
      <p>We proposed a new symbolic graph for the abstraction of the TPN state space.
The proposed graph, called TAG, produces a finite representation of the bounded
TPN behavior and allows for analyzing of timed reachability properties. Unlike,
the existing approaches, our abstraction can be directly useful to check timed
logic properties. We think that our approach is more understandable than the
SCG and the ZBG approaches (the two main approaches for TPNs analysis since
three decades) and easily implementable. Another feature of our approach is that
each path of the TAG can be matched with a concrete path of the TPN model
where the elapsed time at each encountered state is exhibited.</p>
      <p>Our ultimate goal is to use the TAG traversal algorithm for the verification
of timed reachability properties expressed in the TCTL logic. Several issues have
to be explored in the future: We first have to improve our implementation so
that time consumption criterion can be taken into account in our comparison
to existing tools. We should also, carry out additional experimentations (using
more significant use cases) to better understand the limits of our approach and
to better compare the TAG technique to the existing approaches. Second, we
believe that partial order reduction techniques can be used to reduce the size
of the TAG while preserving time properties but without necessarily preserving
all the paths of the underlying TPN. Finally, two challenging perspectives can
be considered in the future: (1) the design and the implementation of model
checking algorithms for verification of TCTL formulae, and (2), the extension of
our approach to timed automata.</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. L.</given-names>
            <surname>Dill</surname>
          </string-name>
          .
          <article-title>A theory of timed automata</article-title>
          .
          <source>Theor. Comput. Sci.</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>B.</given-names>
            <surname>Berthomieu</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Diaz</surname>
          </string-name>
          .
          <article-title>Modeling and Verification of Time Dependent Systems Using Time Petri Nets</article-title>
          .
          <source>IEEE Trans. Software Eng.</source>
          ,
          <volume>17</volume>
          (
          <issue>3</issue>
          ):
          <fpage>259</fpage>
          -
          <lpage>273</lpage>
          ,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>B.</given-names>
            <surname>Berthomieu</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Menasche</surname>
          </string-name>
          .
          <article-title>An Enumerative Approach for Analyzing Time Petri Nets</article-title>
          .
          <source>In IFIP Congress</source>
          , pages
          <fpage>41</fpage>
          -
          <lpage>46</lpage>
          ,
          <year>1983</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>B.</given-names>
            <surname>Berthomieu</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Vernadat</surname>
          </string-name>
          .
          <article-title>State Class Constructions for Branching Analysis of Time Petri Nets</article-title>
          .
          <source>In TACAS</source>
          <year>2003</year>
          , volume
          <volume>2619</volume>
          <source>of LNCS</source>
          , pages
          <fpage>442</fpage>
          -
          <lpage>457</lpage>
          . Springer,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>B.</given-names>
            <surname>Berthomieu</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Vernadat</surname>
          </string-name>
          .
          <article-title>Time Petri Nets Analysis with TINA</article-title>
          .
          <source>In QEST</source>
          , pages
          <fpage>123</fpage>
          -
          <lpage>124</lpage>
          ,
          <year>2006</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. TCTL Model</surname>
          </string-name>
          <article-title>Checking of Time Petri Nets</article-title>
          .
          <source>J. Log. Comput.</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>M.</given-names>
            <surname>Boyer</surname>
          </string-name>
          and
          <string-name>
            <given-names>O. H.</given-names>
            <surname>Roux</surname>
          </string-name>
          .
          <article-title>Comparison of the Expressiveness of Arc, Place and Transition Time Petri Nets</article-title>
          .
          <source>In ICATPN</source>
          <year>2007</year>
          , volume
          <volume>4546</volume>
          <source>of LNCS</source>
          , pages
          <fpage>63</fpage>
          -
          <lpage>82</lpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>D. L.</given-names>
            <surname>Dill</surname>
          </string-name>
          .
          <article-title>Timing assumptions and verification of finite-state concurrent systems</article-title>
          .
          <source>In Proceedings of the International Workshop on Automatic Verification Methods for Finite State Systems</source>
          , pages
          <fpage>197</fpage>
          -
          <lpage>212</lpage>
          . Springer-Verlag,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>G.</given-names>
            <surname>Gardey</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lime</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Magnin</surname>
          </string-name>
          , and
          <string-name>
            <given-names>O. (h.</given-names>
            <surname>Roux</surname>
          </string-name>
          .
          <article-title>Roméo: A Tool for Analyzing time Petri nets</article-title>
          .
          <source>In In Proc. CAVÕ05</source>
          , vol.
          <volume>3576</volume>
          <source>of LNCS</source>
          , pages
          <fpage>418</fpage>
          -
          <lpage>423</lpage>
          . Springer,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>G.</given-names>
            <surname>Gardey</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O. H.</given-names>
            <surname>Roux</surname>
          </string-name>
          , and
          <string-name>
            <given-names>O. F.</given-names>
            <surname>Roux</surname>
          </string-name>
          .
          <article-title>Using Zone Graph Method for Computing the State Space of a Time Petri Net</article-title>
          .
          <source>In FORMATS</source>
          <year>2003</year>
          , volume
          <volume>2791</volume>
          <source>of LNCS</source>
          , pages
          <fpage>246</fpage>
          -
          <lpage>259</lpage>
          . Springer,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>R.</given-names>
            <surname>Hadjidj</surname>
          </string-name>
          and
          <string-name>
            <given-names>H.</given-names>
            <surname>Boucheneb</surname>
          </string-name>
          .
          <article-title>Improving state class constructions for CTL* model checking of time Petri nets</article-title>
          .
          <source>STTT</source>
          ,
          <volume>10</volume>
          (
          <issue>2</issue>
          ):
          <fpage>167</fpage>
          -
          <lpage>184</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>R.</given-names>
            <surname>Hadjidj</surname>
          </string-name>
          and
          <string-name>
            <given-names>H.</given-names>
            <surname>Boucheneb</surname>
          </string-name>
          .
          <article-title>On-the-fly TCTL model checking for time Petri nets</article-title>
          .
          <source>Theor. Comput. Sci.</source>
          ,
          <volume>410</volume>
          (
          <issue>42</issue>
          ):
          <fpage>4241</fpage>
          -
          <lpage>4261</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>K.</given-names>
            <surname>Klai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Aber</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L.</given-names>
            <surname>Petrucci</surname>
          </string-name>
          .
          <article-title>To appear in a new approach to abstract reachability state space of time petri nets</article-title>
          . In To appear
          <source>in 20th International Symposium on Temporal Representation and Reasoning</source>
          ,
          <source>TIME</source>
          <year>2013</year>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>K.</given-names>
            <surname>Klai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Aber</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L.</given-names>
            <surname>Petrucci</surname>
          </string-name>
          .
          <article-title>Verification of reachability properties for time petri nets</article-title>
          . In Reachability Problems - 7th
          <source>International Workshop, RP</source>
          <year>2013</year>
          , volume
          <volume>8169</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>159</fpage>
          -
          <lpage>170</lpage>
          . Springer,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>K. G. Larsen</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Pettersson</surname>
            , and
            <given-names>W.</given-names>
          </string-name>
          <string-name>
            <surname>Yi</surname>
          </string-name>
          .
          <article-title>Model-checking for real-time systems</article-title>
          .
          <source>In FCT '95</source>
          , volume
          <volume>965</volume>
          <source>of LNCS</source>
          , pages
          <fpage>62</fpage>
          -
          <lpage>88</lpage>
          . Springer,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>K. G. Larsen</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Pettersson</surname>
            , and
            <given-names>W.</given-names>
          </string-name>
          <string-name>
            <surname>Yi</surname>
          </string-name>
          . UPPAAL:
          <article-title>Status and Developments</article-title>
          .
          <source>In CAV</source>
          , pages
          <fpage>456</fpage>
          -
          <lpage>459</lpage>
          ,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <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="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>P. M. Merlin</surname>
            and
            <given-names>D. J.</given-names>
          </string-name>
          <string-name>
            <surname>Farber</surname>
          </string-name>
          .
          <article-title>Recoverability of modular systems</article-title>
          .
          <source>Operating Systems Review</source>
          ,
          <volume>9</volume>
          (
          <issue>3</issue>
          ):
          <fpage>51</fpage>
          -
          <lpage>56</lpage>
          ,
          <year>1975</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>W.</given-names>
            <surname>Penczek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pólrola</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Zbrzezny</surname>
          </string-name>
          .
          <article-title>SAT-Based (Parametric) Reachability for a Class of Distributed Time Petri Nets</article-title>
          .
          <source>T. Petri Nets and Other Models of Concurrency</source>
          ,
          <volume>4</volume>
          :
          <fpage>72</fpage>
          -
          <lpage>97</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>C.</surname>
          </string-name>
          <article-title>A. Petri. Concepts of net theory</article-title>
          .
          <source>In MFCS'73. Mathematical Institute of the Slovak Academy of Sciences</source>
          ,
          <year>1973</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <given-names>M.</given-names>
            <surname>Pezzè</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Young</surname>
          </string-name>
          .
          <article-title>Time Petri Nets: A Primer Introduction</article-title>
          .
          <source>In Tutorial at the Multi-Workshop on Formal Methods in Performance Evaluation and Applications</source>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <given-names>C.</given-names>
            <surname>Ramchandani</surname>
          </string-name>
          .
          <article-title>Analysis of asynchronous concurrent systems by timed Petri nets</article-title>
          .
          <source>Technical report</source>
          , Cambridge, MA, USA,
          <year>1974</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <given-names>J.</given-names>
            <surname>Sifakis</surname>
          </string-name>
          .
          <article-title>Use of Petri nets for performance evaluation</article-title>
          .
          <source>Acta Cybern.</source>
          ,
          <volume>4</volume>
          :
          <fpage>185</fpage>
          -
          <lpage>202</lpage>
          ,
          <year>1980</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <given-names>T.</given-names>
            <surname>Yoneda</surname>
          </string-name>
          and
          <string-name>
            <given-names>H.</given-names>
            <surname>Ryuba</surname>
          </string-name>
          .
          <article-title>CTL model checking of time Petri nets using geometric regions</article-title>
          .
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>