<!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>RT-Studio: A tool for modular design and analysis of realtime systems using Interpreted Time Petri Nets</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Rachid Hadjidj</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hanifa Boucheneb</string-name>
        </contrib>
      </contrib-group>
      <fpage>247</fpage>
      <lpage>254</lpage>
      <abstract>
        <p>ions for ITPNs suitable to verify reachability, linear and branching properties, in addition to a TCTL model checker. In this paper we describe the ITPN model as a proposed extension to the classical TPN model and describe the modular modeling capabilities of RT-Studio. The classical railroad crossing model is used to illustrate these capabilities.</p>
      </abstract>
      <kwd-group>
        <kwd>Formal verification</kwd>
        <kwd>Time Petri Nets</kwd>
        <kwd>timed properties</kwd>
        <kwd>model checking</kwd>
        <kwd>simulation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Interpreted Time Petri Nets (ITPNs) are Time Petri Nets (TPNs) [
        <xref ref-type="bibr" rid="ref11 ref15 ref8">15, 8, 11</xref>
        ] we extended
with bounded data variables to increase their modeling power and expressiveness. TPNs
are Petri nets extended with temporal constraints in the form of time intervals
associated with their transitions [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. A transition can fire if it is enabled and if the time
elapsed since it became enabled most recently is within its time interval, but must be
fired or disabled if this elapsed time reaches the upper bound of its time interval. With
this extension, TPNs are powerful enough to model realtime systems. However, their
analysis is much more complicated than simple Petri nets. In fact, the state space of
the TPN model is in general infinite due to the continuous aspect of time.
Furthermore boundedness is undecidable for this model [
        <xref ref-type="bibr" rid="ref4 ref5">5, 4</xref>
        ]. Hopefully, a subclass of TPNs
called bounded TPNs, for which reachability is decidable, allows to model most useful
systems. The analysis and verification of the TPN model is generally performed
using model checking techniques. Model checking requires first to represent the behavior
of a system as a finite state transition system1, then specify properties of interest in a
temporal logic (LTL, CTL, CTL*,...), and finally explore the state transition system to
determine whether these properties hold or not [
        <xref ref-type="bibr" rid="ref11 ref12 ref13 ref8">8, 11–13</xref>
        ].
      </p>
      <p>
        In the field of realtime systems modeling and verification, UPPAAL is one of the
best tools available [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. UPPAAL allows for a modular design of realtime systems using
an extension of the Timed Automata (TA) model [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] instead of the TPN model. In this
extension, variables can be defined, and both guards and actions can be associated with
transitions. In addition to its modeling capabilities, UPPAAL integrates an efficient on
the fly model checker (a key success component) for a subset of TCTL [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
1 Also called state graph or state space.
      </p>
      <p>
        For the TPN model, many tools exist for modeling, analysis and verification. Some
well known tools are Roméo [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] and TINA [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. But to our knowledge, there is no tool
for the TPN model that compares to UPPAAL in terms of modular design, extension
with variables and verification performance. TAPAAL2 [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], as an inspiration from
UPPAAL, is an interesting reascent addition to the pool of tools dedicated to the modeling
and verification of real time systems using a timed extension of Petri Nets. In this
extension clocks are associated with tokens and time intervals with arcs. A token cannot pass
trough an arc unless its clock is within the time interval of the arc. Time invariants
associated with places allow to model urgency. The tool, has good verification performance
and a nice graphical user interface capable of component based design. Even if it is a
great step forward toward tightening the gap with UPPAAL in terms of providing a
similar user experience and modeling power, UPPAAL still has a more powerful modular
design capability in addition to the use of variables which TAPAAL2 lacks. RT-Studio
presented here, attempts to tighten the gap with UPPAAL even more, by allowing for a
similar modular design capability based on the ITPN model. RT-Studio also allows to
simulate these models and analyze them using several means. In the ITPN model, each
transition has, in addition to a time interval, a guard and a set of update operations on
user defined data variables and places markings. An enabled transition can be fired if
it is enabled and the guard associated with it is true in the current state of the model.
When a transition is fired, its updates are applied.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2 Interpreted Time Petri Nets</title>
      <p>To increase the modeling power and expressiveness of TPNs , we extended the TPN
model with bounded integer variables and associate guards and update actions with
transitions. The resulting model is called Interpreted TPN (ITPN). As a consequence,
in addition to the normal transition firing requirements, a transition requires also that its
guard is true in the current ITPN state. A guard is a condition on the ITPN state defined
on its marking, firing intervals of transitions, and the state of associated variables. After
a transition t is fired, associated updates are performed. Updates can target variables
associated with the ITPN, but also its marking. An update can only target places not
attached to t for not conflicting with the usual operational semantics of transition firing.
With the new extension, inhibitor arcs and priority on transitions firing can be modeled.
Note that if variables associated with an ITPN are always positive then they can be
implemented as normal places.</p>
      <p>Let Q+, R+ and Z be respectively the set of positive rational numbers, the set of
positive real numbers and the set of integers. Let Q[+] be the set of non empty intervals
of R+ which bounds are respectively in Q+ and Q+ ∪ {∞}. For an interval I ∈ Q[+],
↓ I and ↑ I denote respectively its lower and upper bounds.</p>
      <sec id="sec-2-1">
        <title>Definition 1. Interpreted Time Petri Net (ITPN)</title>
        <p>An ITPN P is a tuple (P, T, V, P re, P ost, m0, v0, Is, G, U ) where:
– P is a finite set of places,
– T is a finite set of transitions, withP ∩ T = ∅,
– V is a finite set of integer variables, with(P ∪ T ) ∩ V = ∅,
– P re and P ost are respectively the backward and forward incidence functions: P ×</p>
        <p>T → N, where N is the set of nonnegative integers,
– m0 : P → N, is the initial marking,
– v0 : V → Z, is the initial valuation on P variables.
– Is : T → Q[+] associates with each transition t an interval [↓ Is(t), ↑ Is(t)] called
its static firing interval. The bounds ↓ Is(t) and ↑ Is(t) are called the minimal and
maximal static firing delaysof t.
– G : T → Bool(P), associate with each transition a guard from the set Bool(P).</p>
        <p>Bool(P) is the set of boolean functions on the set SP of states of P (The ITPN
state is defined next).
– U : T → U pdate(P), where U pdate(P) is the set of integer functions on the set
SP × (P ∪ V ), associates with each transition t an update function on places and
variables associated with P.</p>
        <p>Let M be the set of all markings of P. Let m ∈ M be a marking, and t ∈ T a
transition of P. t is said to be enabled in m, iff all tokens required for its firing are
present in m, i.e.: ∀p ∈ P, m(p) ≥ P re(p, t). We denote by En(m) the set of all
transitions enabled in m. If m results from firing transition tf from another marking,
N ew(m, tf ) denotes the set of all newly enabled transitions in m, i.e.: N ew(m, tf ) =
{t ∈ En(m)|∃p, m(p) − P ost(p, tf ) &lt; P re(p, t)}.</p>
        <p>
          Definition 2. ITPN state
The state of ITPN P is a couple (m, v, I), where m is a marking, v is a valuation on
the variables of P, and I is an interval function I : En(m) → Q[+] [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ].
        </p>
        <p>For a state s = (m, v, I), and t ∈ En(m), I(t) is called the firing intervalof t. It is
the interval of time where t can fire. The initial state ofP is s0 = (m0, v0, I0), where
I0(t) = Is(t), for all t ∈ En(m0). The state of P evolves either by time progression
or by firing transitions. When a transitiont becomes enabled, its firing interval is set to
its static firing intervalIs(t). The bounds of this interval decrease synchronously with
time, until t is fired or disabled by another firing.t can fire, if the lower bound ↓ I(t)
of its firing interval reaches0 and its guard G(t) evaluates to true in the current state of
P, but must be fired, without any additional delay if the upper bound↑ I(t) of its firing
interval reaches 0 while its guard evaluates true. The firing of a transition takes no time.</p>
        <p>Let s = (m, v, I) and s0 = (m0, v0, I0) be two states of P. We write s →θ s0, iff state
s0 is reachable from state s after a time progression of θ time units (s0 is also denoted
s + θ), i.e.:
 ∃θ ∈ R+, Vt∈En(m) θ ≤ ↑ I(t),</p>
        <p>m0 = m, v0 = v,
 ∀t0 ∈ En(m0), I0(t0) = [max(↓ I(t0) − θ, 0), ↑ I(t0) − θ].</p>
        <p>We write s →t s0 iff state s0 is immediately reachable from state s by firing transitiont.
i.e.:
 t ∈ En(m),


 ↓ I(t) = 0 ∧ G(t, s) = true,
 m0(p) = m(p) − P re(p, t) + P ost(p, t) if P re(p, t) 6= 0 ∨ P ost(p, t) 6= 0,
 ∀p ∈ P m0(p) = U (t, s, p) otherwise,
 ∀x ∈ V, v0(x) = U (t, s, x),
 I0(t0) = Is(t0) if t0 ∈ N ew(m0, t),
 ∀t0 ∈ En(m0) I0(t0) = I(t) otherwise.</p>
      </sec>
      <sec id="sec-2-2">
        <title>Definition 3. ITPN state space</title>
        <p>The state space of an ITPN model P is the structure (S, →, s0), where:
– s0 = (m0, v0, I0) is the initial state of P,
– s → s0 iff either s →θ s0 for some θ ∈ R+ or s →t s0 for some t ∈ T ,
– S = {s|s0 →∗ s}, where →∗ is the reflexive and transitive closure of →, is the set of
reachable states of P.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Modular design of realtime system</title>
      <p>RT-Studio uses the concept of programming project2 to allow for a modular design of a
realtime system. A project is basically a collection of ITPN components, and a system
description file. An ITPN component is actually a template with possible parameters.
The system description file is where the system configuration is specified. It consists of
a list shared variable declarations and instantiations of ITPN components.</p>
      <p>Instances of ITPN components within the same project can communicate and
synchronize using data variables defined in the system description file, and using shared
transitions and shared places. A transition or a place is shared between several ITPNs if
it has the same name and set as external (not local) in each one of them. When
synchronizing ITPN components instances, shared places with the same name are merged in
one single place. The marking of that place is the maximum marking of synchronized
places. For transitions, the synchronization is little bit more demanding. A transition
meant for synchronization is implicitly associated with a signaling channel having the
same name. Transitions which names end with and exclamation mark ’!’ represent send
actions on associated channels. Those with names ending with an interrogation mark
’?’ represent receiving actions on associated channels. When instances of ITPN
components are synchronized, transitions representing complimentary actions are
synchronized by merging each sending transition with a copy of a receiving transition having
the same name. A copy of a transition is created by duplicating the transition and all its
ingoing and outgoing arcs.</p>
      <p>Each ITPN component element (place, transition, arc), including the ITPN itself
has an extendable list of attributes (properties). When an ITPN component or an ITPN
component element is created, a default list of attributes is associated with it. These
attributes describe its different features, like the number of tokens for a place, the guard
and update actions for a transition, the list of parameters for the ITPN component,</p>
      <sec id="sec-3-1">
        <title>2 A collection of files.</title>
        <p>including the visual appearance of ITPN elements like the color, the shape, the border
size, etc. The Attribute viewer is a panel for editing, modify and adding new attributes
for the currently selected ITPN element. Added attributes can be referred to in guards
and updates actions of transitions. Three attribute types are supported in the current
version of RT-Studio: number (real value), boolean and string.</p>
        <p>To analyze a system designed as a project, its system description file need to be
compiled. The compilation consists in synchronizing all ITPN components instances in
one single ITPN. In the case of any error, error messages are displayed in a message
pane at the bottom of the main window, otherwise the synchronized ITPN is generated
and displayed in a separate panel and ready to be analyzed if it is self contained3. Note
that a self contained ITPN components can be analyzed without compilation.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Functionality</title>
      <p>
        RT-Studio’s verification and analysis capabilities can be grouped in three categories:
abstract state spaces construction, model checking and simulation. Both known
characterizations of the TPN state (interval and clock characterizations) [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] can be used
to construct abstractions for ITPN models. For the interval characterization, computed
abstractions are: the classical State Class Graph (SCG), the Strong State Class Graph
(SSCG) and the Atomic State Class Graph (ASCG) [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Both the SCG and the SSCG
preserve linear properties, but the SCG is a better alternative for linear properties as
it is smaller and faster to compute. On the other hand, the SSCG is used as a
starting point in a refinement process to generate the ASCG which preserves branching
properties (CTL*). During the refinement, state classes are split by linear constraints
so that each state captured in a sub class has a successor in each one of the following
classes. Such sub classes are said to be atomic, and atomicity of all classes ensures
preservation of CTL* properties [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. For the clock characterization of states, computed
abstractions are: the Concrete State Zone Graph (CSZG) for linear properties [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], and
its atomic version, the ACSZG [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] for CTL* properties. Compared with the ASCG,
the ACSZG is in general smaller and faster to compute. For reachability properties,
RT-Studio implements three contraction techniques (by inclusion, by convex
combination and by convex hull) to rapidly generate contracted versions of the SCG, SSCG
and CSZG which are suitable to verify reachability properties [
        <xref ref-type="bibr" rid="ref11 ref14">11, 14</xref>
        ]. It also
implements several post contraction operations to further contract abstractions after they are
constructed, and a minimizer under bisimulation. After computing any abstraction,
RTStudio allow the user to explore and edit it graphically. It also generates some statistics
about the abstraction like its size (the number of nodes and edges) and the generation
time. To verify properties, RT-Studio implements two model-checkers: a classical CTL
model-checker and an innovative TCTL model-checker based on the forward on the
fly verification technique described in [
        <xref ref-type="bibr" rid="ref12 ref13">12, 13</xref>
        ]. Finally, the simulator implemented in
RT-studio allows for an assisted and interactive generation of any abstraction. Using the
simulator, the user can intervene during the generation process, guide the generator to
explore any branch of the state space graph being constructed, and even alter the model
3 A self contained ITPN has no parameters and does not need to be synchronized with other
      </p>
      <p>
        ITPNs.
during the simulation if needed. RT-Studio stores a project in a single XML file. It also
allows to import or export self contained ITPNs to a text file in a simple format accepted
by the TINA toolbox [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Generated state spaces can also be exported in a text format
supported by many model checkers.
      </p>
      <p>in</p>
      <p>2
2 exit
far
m
app</p>
      <p>coming
As an illustrative example, we consider the classical Railroad Crossing model.
Components of this system are shown in Figure 1 and also in Figure 2 as screen shots from
RT-Studio. The ITPN model of n trains crossing concurrently the road is obtained by
synchronously composing the controller model with its parameter m4 set to n, the
barrier model, and n instances of the train model. In Figure 2, we can see the system
description file for the railroad crossing project where two instances of the train model
(Train1 and Train2) are synchronized with one instance of the barrier model (Barrier)
and one instance of controller model (Controller). After compiling the project, we
obtain the synchronized ITPN of the whole system shown in Figure 3. Note that for clarity,
in Figure 3 each transition app is actually the superposition of two app transitions; one
synchronized with first train instance, the other one with the second train instance. At
the right bottom of Figure 2, we can see the SCG of the synchronized ITPN computed
by RT-studio.</p>
      <sec id="sec-4-1">
        <title>4 m is a number of tokens.</title>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Installation</title>
      <p>RT-Studio can be downloaded from http://faculty.qu.edu.qa/rhadjidj/rt-studio.aspx. The
tool comes in a Zip file that includes three files :RT-studio.jar, realtime.exe, readme.txt,
and a directory for examples. RT-studio.jar is a Java executable representing the
graphical interface of the tool. realtime.exe is the engine written in C++ for performance.
Installing the tool consists in simply unziping the zip file in chosen directory. Double
clicking on the fileRT-studio.jar launches the tool.</p>
      <p>On the download web page there are video tutorials that explain how to install and
use the tool to model, simulate and verify properties.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>R.</given-names>
            <surname>Alur</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Courcoubetis</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Dill</surname>
          </string-name>
          .
          <article-title>Model checking in dense real-time</article-title>
          .
          <source>Information and Computation</source>
          ,
          <volume>104</volume>
          (
          <issue>1</issue>
          ):
          <fpage>2</fpage>
          -
          <lpage>34</lpage>
          ,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>R.</given-names>
            <surname>Alur</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Dill</surname>
          </string-name>
          .
          <article-title>Automata for modelling real-time systems</article-title>
          .
          <source>In In Proc. Of ICALP'90</source>
          , volume
          <volume>443</volume>
          <source>of LNCS</source>
          , pages
          <fpage>322</fpage>
          -
          <lpage>335</lpage>
          . Springer-Verlag,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>G.</given-names>
            <surname>Behrmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Bengtsson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>David</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K. G.</given-names>
            <surname>Larsen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Pettersson</surname>
          </string-name>
          , and
          <string-name>
            <given-names>W.</given-names>
            <surname>Yi</surname>
          </string-name>
          .
          <article-title>Uppaal implementation secrets</article-title>
          .
          <source>In In Proc. of FTRTFT-02</source>
          , pages
          <fpage>3</fpage>
          -
          <lpage>22</lpage>
          ,
          <year>2002</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>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. on Software Eng</source>
          ,
          <volume>17</volume>
          (
          <issue>3</issue>
          ):
          <fpage>259</fpage>
          -
          <lpage>273</lpage>
          ,
          <year>1991</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>M.</given-names>
            <surname>Menasche</surname>
          </string-name>
          .
          <article-title>An enumerative approach for analyzing time petri nets</article-title>
          .
          <source>In In Proc. of IFIP83</source>
          , volume
          <volume>9</volume>
          , pages
          <fpage>41</fpage>
          -
          <lpage>46</lpage>
          ,
          <year>September 1983</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>B.</given-names>
            <surname>Berthomieu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.O.</given-names>
            <surname>Ribet</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Vernadat</surname>
          </string-name>
          .
          <article-title>The tool tina - construction of abstract state spaces for petri nets and time petri nets</article-title>
          . In
          <source>International Journal of Production Research</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <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 In Proc. of TACAS'03</source>
          , volume
          <volume>2619</volume>
          <source>of LNCS</source>
          , pages
          <fpage>442</fpage>
          -
          <lpage>457</lpage>
          . Springer-Verlag,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>H.</given-names>
            <surname>Boucheneb</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Hadjidj</surname>
          </string-name>
          .
          <article-title>Ctl* model checking for time petri nets</article-title>
          .
          <source>Theoretical Computer Science</source>
          , TCS
          <volume>353</volume>
          (
          <issue>1-3</issue>
          ):
          <fpage>208</fpage>
          -
          <lpage>227</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Alexandre</surname>
            <given-names>David</given-names>
          </string-name>
          , Lasse Jacobsen, Morten Jacobsen, Kenneth Yrke Jørgensen,
          <string-name>
            <surname>Mikael H. Møller</surname>
            , and
            <given-names>Jirí</given-names>
          </string-name>
          <string-name>
            <surname>Srba</surname>
          </string-name>
          .
          <article-title>Tapaal 2.0: Integrated development environment for timed-arc petri nets</article-title>
          .
          <source>In TACAS</source>
          , pages
          <fpage>492</fpage>
          -
          <lpage>497</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>D. Lime G. Gardey</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Magnin</surname>
            , and
            <given-names>O.H.</given-names>
          </string-name>
          <string-name>
            <surname>Roux</surname>
          </string-name>
          .
          <article-title>Roméo: A tool for analyzing time petri nets</article-title>
          .
          <source>In In 17th International Conference on Computer Aided Verification (CAV'05)</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>R.</given-names>
            <surname>Hadjidj</surname>
          </string-name>
          .
          <article-title>Analyse et validation formelle des systèmes temps réel</article-title>
          .
          <source>Ph.D. Theses</source>
          ,University of Montreal (Ecole plytechnique),
          <year>2006</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 using the state class method</article-title>
          .
          <source>In In Proc of ACSD'06</source>
          , pages
          <fpage>111</fpage>
          -
          <lpage>120</lpage>
          . IEEE Computer Society Press,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <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>Theoretical Computer Science</source>
          , TCS
          <volume>410</volume>
          (
          <issue>42</issue>
          ):
          <fpage>4241</fpage>
          -
          <lpage>4261</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <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>Efficient reachability analysis for time petri nets</article-title>
          .
          <source>IEEE Transaction on Computers</source>
          ,
          <volume>60</volume>
          (
          <issue>8</issue>
          ):
          <fpage>1085</fpage>
          -
          <lpage>1099</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>P.</given-names>
            <surname>Merlin</surname>
          </string-name>
          and
          <string-name>
            <given-names>D. J.</given-names>
            <surname>Farber</surname>
          </string-name>
          .
          <article-title>Recoverability of communication protocols - implication of a theoretical study</article-title>
          .
          <source>IEEE Trans. on Communications</source>
          ,
          <volume>24</volume>
          (
          <issue>9</issue>
          ):
          <fpage>1036</fpage>
          -
          <lpage>1043</lpage>
          ,
          <year>1976</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>