<!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>Compositional Analysis of Discrete Time Petri nets</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Yann Thierry-Mieg</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Be´atrice Be´rard</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fabrice Kordon</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Didier Lime</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Olivier H. Roux</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          ,
          <addr-line>rue de la Noe ̈, B.P. 92101, 44321 Nantes Cedex 3</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>LUNAM Universite ́, E ́ cole Centrale de Nantes &amp; IRCCyN - UMR CNRS 6597</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2011</year>
      </pub-date>
      <fpage>17</fpage>
      <lpage>32</lpage>
      <abstract>
        <p>Symbolic BDD-based verification techniques successfully tackle combinatorial explosion in many cases. However, the models to be verified become increasingly larger and more complex, including - for instance - additional features like quantitative requirements and/or a very high number of components. The need to improve performances for verification tools thus remains a challenge. In this work, we extend the framework of Instantiable Transition Systems in order to (i) take into account time constraints in a model and (ii) capture the symmetry of instances which share a common structure, thus significantly increasing the power of our tool. For point (i), we implement timed models with discrete time semantics and for (ii), we introduce scalar sets as a special form of composition. We also report on experiments including comparisons with other tools. The results show a good scale up for our approach.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Context. Model checking is now widely used as an automatic and exhaustive way to
verify complex systems. However, this approach suffers from an intrinsic combinatorial
explosion, due to both a high number of synchronized components and a high level of
expressivity in these components.</p>
      <p>
        Among the different methods proposed to tackle the problem, using decision
diagrams [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] or partial order based techniques [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] have proved successful. Moreover,
exploitation of symmetries [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] or compositional model checking [
        <xref ref-type="bibr" rid="ref16 ref2">2, 16</xref>
        ] can be most
successful, especially when several components share the same structure (like the train
models in the train crossing example or the processes in Fischer’s protocol).
      </p>
      <p>With respect to the expressivity issue, we consider the particular problem of
introducing explicit time constraints in the components of a system. In this modeling step,
the choice of a time domain is important, impacting on the size of the resulting model,
the class of properties which can be verified and the performances of the verification.</p>
      <p>
        During the last twenty years, numerous variants of dense time models have been
extensively studied. Among them, Time Petri Nets [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] (TPN) and networks of Timed
Automata [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] (TA) benefit from verification tools, which implement techniques relying
on the construction of a class graph (for TPN) or zone graph (for TA), with dedicated
and efficient data structures to represent zones, like Difference Bounded Matrices [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]
(DBM), which have been used in both cases.
      </p>
      <p>If we now consider a growing number of timed components, the two problems of
expressivity and size occur together, but the symbolic DBM encoding only applies to
time zones and does not concern the discrete part of the states. Furthermore, the union
of DBM may not be convex, thus cannot be encoded as a DBM, so mixing DBM
technology with a symbolic encoding of discrete states is difficult.</p>
      <p>
        Directly interpreting models over a discrete time domain is usually easier to handle
than dense time because mechanisms elaborated for model checking of discrete systems
can be reused, even though state space explosion can be worse. The relations between
dense and discrete time analysis have been discussed for various models, showing that,
in many cases, discrete time computation is sufficient to preserve reachability or
timebounded properties [
        <xref ref-type="bibr" rid="ref14 ref22">14, 22</xref>
        ]. Contrary to common belief, while the discretized approach
is sensitive to the maximum clock values in a model, it can often outperform dense time
approaches.
      </p>
      <p>
        Contribution. In this work, we modify and extend the framework of Instantiable
Transition Systems proposed in [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] to include two new features. The first one is a
special operation of composition, building what we call scalar sets to capture symmetries
in components sharing the same structure. The second one is the implementation of
discrete time semantics for Time Petri Nets, following the latter approach to propose a
new fully symbolic technique for reachability analysis of discrete time specifications.
The new tool Rome´o/SDD thus relies on hierarchical set decision diagrams (SDD [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ])
that offer state of the art automatic symbolic saturation algorithms [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>We experiment on two classical benchmark examples combining both features, and
compare the performances with those of several other tools handling discrete or dense
time, showing gains of several orders of magnitude.</p>
      <p>Outline. We first recall the definition and semantics of Time Petri Nets in Section
2, along with the train crossing example. Section 3 describes the Instantiable
Transition Systems framework with the additional features and briefly presents the encoding
technique. Finally, in Section 4, we give the performances obtained with our prototype
implementation, with comments and comparisons.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Discrete time Petri nets</title>
      <p>To handle time constraints, we propose to use discrete time models. As mentioned in the
introduction, this can lead to larger state spaces due to sensitivity to constants. However,
the main advantage of this approach is to reduce the problem of timed verification to a
plain event-based verification.</p>
      <p>Let us first recall the classical definition of Discrete Timed Transition Systems
(DTTS), where all standard actions (from some set A) are considered instantaneous
and delay transitions are added, in a time domain restricted to the set N of natural
numbers. Without loss of generality, we consider only delay steps of exactly one time unit
(special action 1 below). Having a single basic operation to handle time delay is more
effective in a symbolic setting than attempting to find at each step the maximal integer
delay consistent with synchronization of several components in a set of states.
Definition 1 (DTTS). Let A be a set of action labels and let 1 ∈/ A be a special action
representing a one time unit delay. A Discrete Timed Transition System over A is a
tuple T = hS, s0, A, →−i where S is a set of states, s0 ∈ S is the initial state, and →−⊆
S × (A ⊎ {1}) × S is the transition relation (⊎ stands for disjoint union).</p>
      <p>
        We consider the model of Time Petri Nets (TPN) with discrete time semantics.
TPN are used to compactly model concurrent timed behaviors. Besides, regarding the
problem of marking reachability, discrete time semantics capture all possible behaviors
[
        <xref ref-type="bibr" rid="ref18 ref22">22, 18</xref>
        ], even those with dense time semantics, which makes it possible to compare
experimentation results in both cases.
      </p>
      <p>
        We choose an extended definition of TPN because this leads to easier and more
compact modeling abilities. There is a quite strong community of extended TPN users
and our definition below captures a wide superset of what is understood as TPN in the
literature: we consider an enabling predicate and a firing function as syntactic
requirements, instead of defining various sorts of arcs. This homogeneously subsumes
extensions such as reset arcs, read (or test) arcs, inhibitor arcs, and even non-deterministic
extensions like hyper-arcs (because fire maps to 2NPl ), which are offered for instance by
the Rome´o tool [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. The rich formalism demonstrates the flexibility of our tool, which
supports arbitrary models with (finite) DTTS semantics.
      </p>
      <p>Definition 2 (TPN). A Time Petri Net is a tuple N = hPl, Tr, A, enabled, fire, ℓ, m0, α, βi
where:
– Pl is a finite set of places, Tr is a finite set of transitions (with Pl ∩ Tr = 0/ ),
– A is a finite set (alphabet) of action labels which contains a distinguished local
label ⊤,
– enabled : NPl × Tr 7→ {true, f alse} is an enabling predicate, fire : NPl × Tr 7→ 2NPl
is a transition firing function, ℓ : Tr 7→ A is a labeling function,
– m0 ∈ NPl is the initial marking of the net,
– α : Tr 7→ N and β : Tr 7→ N ∪ {∞} are functions satisfying ∀t ∈ Tr, α(t) ≤ β(t)
called respectively earliest (α) and latest (β) transition firing times.</p>
      <p>For instance, standard Place/Transition nets are usually defined using pre (noted
Pre) and post (noted Post) functions : Pl × Tr 7→ N. Then, for a marking m ∈ NPl and
a transition t ∈ Tr, enabling is defined by enabled(m,t) iff ∀p ∈ Pl, m(p) ≥ Pre(p,t)
and transition firing by fire(m,t) = {m′} with ∀p ∈ Pl, m′(p) = m(p) − Pre(p,t) +
Post(p,t). Inhibitor arcs Inh and test arcs Test are defined similarly and add enabling
conditions to a transition: enabled(m,t) iff ∀p ∈ Pl, m(p) &lt; Inh(p,t)∧m(p) ≥ Test(p,t).
Note that the enabling predicate only considers markings while timing conditions are
defined separately. In definition 2, transitions are equipped with labels for further
composition of nets (see Section 3).</p>
      <p>
        The classical train crossing example [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] is partly described by the three TPNs in
Fig. 1. Each train triggers a sensor App when approaching the critical zone, then takes
3 to 5 time units to reach the crossing, and 2 to 4 time units to leave it, where it triggers
the Exit sensor. The controller of Fig. 2 keeps track of how many trains are in the critical
zone (this model considers n tracks go through the gate, so up to n trains could be in
the zone). It strives to identify when the first train enters the area, or when the last train
leaves it, essentially by counting trains as they trigger App and Exit sensors. Finally the
gate itself is modeled as a TPN which reacts to control commands (App and Exit) but
with some delays introduced to model the time it takes to open or close the gate. These
three TPN models are building blocks we will assemble to build the full system model;
this allows us to easily build variations on a model while reusing parts of a model in
different scenarios.
      </p>
      <p>
        In
[
        <xref ref-type="bibr" rid="ref3 ref5">3,5</xref>
        ]
on
      </p>
      <p>
        Ex
[
        <xref ref-type="bibr" rid="ref2 ref4">2,4</xref>
        ]
close
left
      </p>
      <p>App
far
Exit
[0,0]
public
local ( )</p>
      <p>Definition 3 (Discrete Time Semantics of a TPN). For a Time Petri Net N = hPl, Tr, A,
enabled, fire, ℓ, m0, α, βi, the semantics is a transition system S N = hS, s0, A ∪ {1}, →i
where:
and ∀t′ ∈ Tr, v′(t′) =

</p>
      <p>0 otherwise
– S = NPl × NTr is the set of states. An element s of S is a pair s = hm, vi, where m is
the place marking and v is the transition clock valuation.
– s0 = hm0, 0i, where the tuple 0 corresponds to the value 0 for all transition clocks.
– →−⊆ S × (A ⊎ {1}) × S is the transition relation defined for states hm, vi, hm′, v′i by:
The discrete transition relation:
hm, vi →−a hm′, v′i iff there is a transition t ∈ Tr such that
ℓ(t) = a ∧ enabled(m, t) ∧ v(t) ≥ α(t)

and m′ ∈ fire(m, t)
( v(t′) if enabled(m′, t′) ∧ t 6= t′
The delay transition relation:




</p>
      <p> v(t) otherwise
1
hm, vi −→ hm′, v′i iff m′ = m and for all t ∈ Tr,
 enabled(m,t) =⇒ v(t) &lt; β(t) (urgent clocks prevent elapse)
  v(t) + 1 if enabled(m′,t) ∧ β(t) 6= ∞ (normal elapse)
 v′(t) =  v(t) + 1 if enabled(m′,t) ∧ β(t) = ∞ ∧ v(t) &lt; α(t)
(only progress up to α)</p>
      <p>Note that we use here atomic semantics and a newly disabled criterion to reset
disabled transition clocks, ensuring a disabled transition has a clock value set to 0.</p>
      <p>The rule (only progress up to α) allows us to handle the infinity problem due to
unbounded latest firing times (e.g. for transitions with firing interval [α(t), ∞[). With
this strategy, we do not let clocks of the corresponding transitions progress up to more
than their lowest significant value α(t). The behavior can thus be accurately represented
on a finite support. If the logic used to express properties involves atomic propositions
with test of clock values, the rule can be relaxed to let the clock progress be tracked up
to the highest value tested in the logic, rather than α(t).
3</p>
    </sec>
    <sec id="sec-3">
      <title>Instantiable Transition Systems</title>
      <p>
        This section defines Instantiable Transition Systems (ITS), a framework designed to
exploit the hierarchical characteristics of SDD [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], the data structure used in the tool
to encode the state space, for the description of component based systems. ITS were
introduced in [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ], but the definitions below are more expressive. In particular, multisets
over an alphabet of action labels are replaced by words. We then introduce additional
ITS types, to build ”regular” composite types and to capture the semantics of (discrete)
timed models.
      </p>
      <sec id="sec-3-1">
        <title>3.1 ITS types, instances and composites</title>
        <p>ITS describe a minimal Labeled Transition System (LTS) style formalism using notions
of type and instance to emphasize locality of actions and to exploit the similarity of
instances of a given type. The composition mechanism is based solely on transition
synchronizations (no explicit shared memory or channel).</p>
        <p>Notations: The set of finite words over a finite alphabet A is denoted by A⋆, with ε for
the empty word and · (or no symbol) for the concatenation operation. We denote by
z.X , z.Y . . . the element X (resp. Y . . . ) of a tuple z = hX ,Y, · · ·i.</p>
        <p>Definition 4 sets an abstract contract or interface that must be implemented by
concrete ITS types.</p>
        <p>Definition 4 (ITS Semantics). An ITS type is a tuple τ = hS, A, Locals, Succi where:
– S is a set of states; A is a finite set of public action labels;
– Locals : S 7→ 2S is a local successors function;
– Succ : S × A⋆ 7→ 2S is a transition function satisfying: ∀s ∈ S, Succ(s, ε) = {s}.
Let T be a set of ITS types. An ITS instance i is defined by an ITS type type(i) ∈ T and
a set of states type(i).S.</p>
        <p>Reachability: A state s′ is reachable in an instance i from the state s0 iff ∃s1, . . . sn ∈
type(i).S such that s′ = sn and ∀1 ≤ j ≤ n, s j ∈ type(i).Locals(s j−1).</p>
        <p>The two functions Locals and Succ are used for different purposes: Locals
represents moves that may occur within an instance autonomously or independently from
the rest of the system. Hence it returns states reachable through occurrences of local
events. The function Succ produces successors by explicitly synchronizing actions via
a word over the alphabet of action labels. Synchronizing on an empty word leaves the
state of the instance locally unchanged. Note that Succ is the only way to control the
behavior of a (sub)system from outside.</p>
        <p>Remark 1. The transition relation of a full system can only be defined in terms of
subsystem synchronizations using Succ and of independent local behaviors. A full system
is defined by a single instance of a particular type in a specific initial state. Because it is
self-contained (there is no notion of environment that could trigger Succ) reachability
only depends on the definition of Locals.</p>
        <p>Remark 2. Apart from distinguishing the special time delay action label 1, a DTTS
is thus simply a labeled transition system and is immediately compatible with the ITS
framework, if the DTTS has a local label ⊤. Interpreting timed models such as Time
Petri Nets (but also Timed Automata) over discrete time makes it possible to use the ITS
model-checking engine, and also profit from the Composite and Scalar set definitions
below to build compositional models.</p>
        <p>
          We now define a composite ITS type, designed to offer support for the hierarchical
composition of ITS instances. A version of a composite type was presented in [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ] but it
introduced more syntactic elements, and was less expressive than the version presented
here. This version is aligned with standard labeled synchronized product definitions (e.g
[
          <xref ref-type="bibr" rid="ref16 ref3">3, 16</xref>
          ]), with the addition of the possible aggregation of several steps into an atomic
transition sequence, by a word composed of action labels.
        </p>
        <p>Notations: Given a cartesian product Z = Z1 × · · · × Zn of sets Z1, · · · , Zn, we denote
by πi the projection operator Z 7→ Zi. For a set I = {i1, . . . , in} of ITS instances (where
an arbitrary order is chosen), SI is the set type(i1).S × . . . × type(in).S and AI is the set
type(i1).A⋆ × . . . × type(in).A⋆. Cardinality of I is denoted by |I|.</p>
        <p>Definition 5 (Composite). A composite is a tuple C = hI, Sync, A, λi where:
– I is a finite set of ITS instances, said to be contained by C. We further require that
the type of each ITS instance already exists when defining I, in order to prevent
circular or recursive type definitions.
– Sync ⊂ AI is the finite set of synchronizations; A is a set of action labels, which
contains the label ⊤ and λ : Sync 7→ A is the labeling function
Notations: The next state function NextI : SI × AI 7→ 2SI , used in definition 6 below, is
defined for s, s′ ∈ SI and σ ∈ AI by:
s′ ∈ NextI (s, σ) iff ∀i ∈ I, πi(s′) ∈ type(i).Succ(πi(s), πi(σ))
Definition 6 (ITS Semantics of a Composite). The ITS type τ = hS, A, Locals, Succi
corresponding to a composite C = hI, Sync, A′, λi, is defined by:
– S = SI ; A = A′ \ {⊤};
– Locals : S 7→ 2S is defined for s, s′ ∈ S by: s′ ∈ Locals(s) iff</p>
        <p>∃i ∈ I, πi(s′) ∈ type(i).Locals(πi(s)) ∧ ∀ j ∈ I, j 6= i, π j(s′) = π j(s)
or ∃σ ∈ Sync, λ(σ) = ⊤, s′ ∈ NextI (s, σ)
– Succ : S × A⋆ 7→ 2S is defined for s, s′ ∈ S, w = a1 · · · an ∈ A⋆ by: s′ ∈ Succ(s, w) iff
∃σ1, . . . , σn ∈ Sync, ∃s0, . . . , sn ∈ S, ∀ j ∈ [1..n], λ(σ j) = a j ∧ s j ∈ NextI (s j−1, σ j) ∧
s0 = s ∧ sn = s′.</p>
        <p>Definition 6 thus describes an implementation of the generic ITS type contract. It
contains either elementary instances (such as LTS, or as we will use later in this paper,
a discrete timed transition system), or inductively other instances of composite nature.</p>
        <p>Locals(s) is defined as the set of states resulting from the action of Locals in any
nested instance (without affecting the other instances), or states reachable from s through
the occurrence of any synchronization associated to the local label ⊤.</p>
        <p>Succ(s, w) is obtained by composing the effects of each label a in the word w using
the cartesian product. So the use of a word can force system progression by firing several
action labels in an atomic sequence. Firing an action label corresponds to arbitrarily
choosing a synchronization that bears this label, and firing it.</p>
        <p>t0: train t1: train</p>
        <p>App ε</p>
        <p>ε App</p>
      </sec>
      <sec id="sec-3-2">
        <title>Exit ε</title>
        <p>ε Exit
1 1
3.2</p>
      </sec>
      <sec id="sec-3-3">
        <title>Regular Models</title>
        <p>
          While the definition of an ITS composite permits hierarchical modeling, the notion
of Scalar Set ITS type, where the synchronizations are defined in a parametric way,
deals with “regular” or symmetrically composed systems. This definition is not more
expressive than the one for a composite but it allows us to build several equivalent
composite representations of a system (see Figures 7 and 8), with a possible impact
on performances. We thus offer a way of describing symmetric models, so that the
manually built recursive encodings presented in [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ] can be easily applied to symmetric
problems. The scalar set captures a frequent symmetric synchronization pattern when
using a set of identical instances and its definition is the same as those proposed in
symmetric Uppaal [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ], Murphi [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] or in symmetric nets.
        </p>
        <p>Definition 7 (Scalar Set). A scalar set is a tuple S = hτ, n, s0, D,CSynci where:
– τ = hS, A, Locals, Succi is the ITS type of the contained instances.
– n ∈ N is the the number of instances
– s0 ∈ τ.S is the initial state of the instances
– D is a subset of τ.A × {ANY, ALL} × {public, private}, called the set of delegates,
– CSync is a subset of τ.A × τ.A × {public, private}, called the set of circular
synchronizations.</p>
        <p>A scalar set can thus be seen as a subclass of composite, containing n identical
instances of a type τ, and offering only two ways of synchronizing them, ANY and ALL.
A delegate d = ha,t, vi of type t = ANY affects exactly one of the contained instances,
chosen arbitrarily. In other words, an ANY delegate maps to n synchronization lines:
each line affects a single instance with action a. In contrast, a delegate of type t = ALL
targets all contained instances simultaneously, and maps to a single synchronization
line of as. The visibility v of a delegate gives the labeling function of the composite: the
label of the resulting synchronization lines is ⊤ if private is used, or action a otherwise.</p>
        <p>For instance, the train group model for 2 trains (see Figure 4) can be expressed as
the following scalar set:
hTrain, 2, s0, {hApp, ANY, publici, hExit, ANY, publici, h1, ALL, publici}, 0/ i.</p>
        <p>
          A scalar set represents a regular model pattern and produces a homogeneous
representation of parametric models. Furthermore, because this pattern is very constrained,
different semantically equivalent encodings can be considered at the SDD level. In
particular, as introduced in [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ], recursive encodings can be used. For instance, the train
group model for 4 trains can be represented as a composite of 4 trains, or a composite
containing 2 instances of a composite with two trains (Figures 7 and 8).
        </p>
        <p>Circular synchronizations (CSync in Def. 7) capture another frequent composition
pattern: topological rings, where a component synchronizes with its successor in the
ring. For instance, Dijkstra’s classical dining philosophers example for N philosophers
can be written as:
hPhiloFork, N, s0, 0/ , {hgetFork, getLe f t, privatei, hputFork, f inishEating, privatei}i.
In this set, PhiloFork is a composite of a Fork and a Philosopher, getFork and putFork
are actions that take or return the fork, getLeft and finishEating are actions where the
Philosopher acquires or releases his left neighbor’s fork.
t0: train t1: train t2: train t3: train</p>
        <p>App ε ε ε
ε App ε ε
ε ε App ε
ε ε ε App</p>
      </sec>
      <sec id="sec-3-4">
        <title>Exit ε ε ε</title>
        <p>ε Exit ε ε
ε ε Exit ε
ε ε ε Exit
1 1 1 1
λ
App
App
App
App</p>
      </sec>
      <sec id="sec-3-5">
        <title>Exit</title>
      </sec>
      <sec id="sec-3-6">
        <title>Exit</title>
      </sec>
      <sec id="sec-3-7">
        <title>Exit</title>
      </sec>
      <sec id="sec-3-8">
        <title>Exit</title>
        <p>1</p>
        <p>
          In [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ], several strategies were manually experimented to encode such regular
models, the most basic one building a composite containing n instances of the embedded
type. This can be generalized by building a composite of n/k instances of a composite
containing k instances (or k + 1 to capture the remainder of the division n/k) of the basic
type. More subtle are recursive encoding strategies, where the type of a (sub-)composite
containing k instances is itself defined as a group of groups of instances. This recursive
strategy leads in some cases (like for the dining philosophers) to logarithmic overall
complexity in time and memory.
        </p>
        <p>With these additional definitions of scalar set, the encoding strategy can be
configured by the user at run time, by simply setting an option. Two parameters guide the
encoding: The width gives the number of variables at any given level of composite, and
the depth gives the number of levels of hierarchy or nesting introduced. The user can
choose to bound one or the other and select the more efficient. For instance the flat
encoding of Fig. 7 has width 4 and depth 1, while the encoding of Fig. 8 has width 2 and
depth 2.</p>
        <p>
          We thus generalize for easy reuse the very favorable encodings from [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ] (for
untimed systems), which thanks to hierarchy can be exponentially more efficient than what
is available with other decision diagram variants.
        </p>
      </sec>
      <sec id="sec-3-9">
        <title>3.3 ITS Tools</title>
        <p>The ITS tools can be used for modeling and analysis of ITS specifications. The
graphical front-end is an Eclipse plugin built upon Coloane (configure
coloane.lip6.fr/nightupdates in eclipse update sites), thus runs on all platforms. The actual analysis tools
are provided on ddd.lip6.fr as pre-compiled binaries for common platforms (Linux,
MacOS, Windows).</p>
        <p>In the modeling environment, TPN can be used as building bricks to define ITS
instances. The tool currently features import/export functionality for both Rome´o and
Tina formats, full modeling capability, the ability to ”flatten” a composite ITS
definition to an equivalent TPN, use of variables in arc labels and time constraints, and CTL
model-checking for analysis. To jump-start new users, both examples used in this
paper are available directly through the ”New-&gt;Example” eclipse menu. Figure 9 shows
else
end
else
end</p>
        <p>return 0/
return Id</p>
        <p>Algorithm 1: Part of the encoding for 1 transition.
a screenshot of the modeling tool, where composite and scalar types use a graphical
syntax.</p>
        <p>The analysis engine of the tool uses the powerful hierarchical set decision diagram
(SDD) technology. SDD are a variant of reduced decision diagrams producing a
compact representation of very large state spaces. Their main characteristic exploited in
this work is that edges of the decision diagram can bear references to SDD, allowing a
hierarchical encoding of the state-space.</p>
        <p>The semantics of TPN and composite ITS are directly expressed by operations
acting on the SDD. The delay transition 1 uses a conjunction (over all transitions) of
if-then-else constructs to increment the currently enabled clocks or forbid time elapse
if a latest firing time has been reached. An informal presentation is given for this 1
operation on transition ti by Algorithm 1: returning 0/ indicates there are no successors,
while returning Id indicates that with respect to this transition no updates to the current
state are needed. This algorithm is slightly adapted to take into account infinite latest
firing times, as explained in the discrete TPN semantics paragraph above.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Experiments and comparisons to related work</title>
      <p>Fischer’s protocol. This protocol is modeled using two elementary TPN. We use
reset (respectively read) arcs, according to their classical definition, which means they
allow to reset (resp. check the non-emptiness) the marking of the associated place. The
process type (Fig.10) represents the behavior of a single process. The resource type
(Fig. 11) is used to block processes in the idle state during the execution of the protocol
(i.e. at least one process has already reached wait or cs).</p>
      <p>Then, we build a process group (Fig. 12) containing a scalar set of processes in
the system, similarly to the approach used for the train group. Finally, this group of
processes is composed with an instance of the resource according to the
synchronizations defined in Fig. 13. Note (line 3) the use of a word in A⋆ for synchronisation: for a
given process to fire Myturn, we need to first reset all go places of the processes, and
synchronously Reset the state of the resource.</p>
      <p>
        In view of these performances, we now compare Rome´o/SDD with existing tools.
Dense Time, Explicit data structures. The standard approach for verification of timed
models relies on difference bounded matrices (DBMs), an efficient data structure to
represent time zones under dense time time hypothesis. Its efficiency has led to the
development of several verification tools (so-called timed model-checkers) such as TINA [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ],
Rome´o [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] for Time Petri Nets and UPPAAL [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], Kronos [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ] for Timed Automata.
      </p>
      <p>Rome´o suffers from the discrete state space explosion (i.e. in number of classes).
It was stopped after one day of CPU and consumed a high amount of memory. The
performances of UPPAAL without symmetries (not reported due to lack of space in the
paper) are similar to those of Rome´o’s. Underlying technology is DBM in both cases.</p>
      <p>Thanks to the symmetry management, UPPAAL/sym copes very well with these
regular models. It uses a canonization procedure which is costly in time, but can in
favorable cases represent only a fraction of the state space. It significantly outperforms
all the other tools tested except our own tool. However, computation time grows quicker
than memory consumption (possibly due to the canonization complexity) and becomes
the limiting factor.
idle
cs</p>
      <sec id="sec-4-1">
        <title>Wantcs</title>
        <p>Deny[0,0]</p>
      </sec>
      <sec id="sec-4-2">
        <title>Endcs</title>
      </sec>
      <sec id="sec-4-3">
        <title>Entercs[2,2]</title>
        <p>wait</p>
      </sec>
      <sec id="sec-4-4">
        <title>Myturn[0,0]</title>
        <p>go
waitcs</p>
      </sec>
      <sec id="sec-4-5">
        <title>Delay</title>
        <p>
          [
          <xref ref-type="bibr" rid="ref1 ref1">1,1</xref>
          ]
myturn
        </p>
      </sec>
      <sec id="sec-4-6">
        <title>Reset</title>
        <p> hWantcs, ANY, publici, 
 hMyturn, ANY, publici, 
hProcess, N, s0,  hEndcs, ANY, publici,  , 0/ i.</p>
        <p> hhR1e,AseLt,LA, LpuLb,lpiuciblici, </p>
        <p>
          Dense Time, Symbolic data structures. To bring the benefits of BDD technology to
model-checking of TA, many fully symbolic encodings that use dedicated BDD-like
data structures have been proposed (e.g. DDD [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ]). The most successful seems to be
Clock Restriction Diagrams used in the tool RED [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]. In some instances, this approach
can outperform DBM technology, particularly when the number of clocks increases,
and backward reachability is used. Other approaches that map the timed reachability
problem to a problem solvable using standard BDD exist (e.g. TMV tool [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ]), but the
performances as reported are comparable to those using DBM.
        </p>
        <p>
          We compare in this category to the tool RED, which builds a zone graph using
Clock Restriction Diagrams in a fully symbolic approach. The fully symbolic approach
implemented in RED is fast in CPU time, but also grows very fast in memory. This is
consistent with reports from experiments with RED [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ], which manages to go a bit
further than DBM as it is more resistant to an increase in the number of locations.
Discrete Time, Symbolic data structures. When considering discrete time
semantics, the only viable way to tackle the combinatorial explosion seems to be symbolic
data structures. Direct encoding of counters with an explicit model-checker is bound to
fail (unless some abstraction or acceleration is used), the number of states grows very
fast (up to 10512 in our experiments). This excludes the use of non symbolic discrete
approaches, which could be experimented by using UPPAAL with discrete variables
instead of clocks.
        </p>
        <p>
          Among the different tools based on standard BDD structures and discrete time
semantics, SMI (based on Kronos) [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ], and Rabbit [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] are the closest to our approach with
Rome´o/SDD, which also belongs to this category. Although this discretized approach is
sensitive to the maximum clock values in a model, it can often outperform dense time
approaches.
        </p>
        <p>However, comparison is difficult because both SMI and Rabbit are old prototypes
no longer maintained (current distribution of Rabbit is from 2002). The input of Rabbit
is a variant on a classical product of TA, but without the hierarchical characteristics of
ITS. Rabbit measures are not reported in the table because we were unable to operate
the tool on the Train model. The Fischer model which is part of Rabbit distribution was
managed up to 128 processes in 1587 seconds with 842 MB of memory, which is a
good result. We could not experiment further with this tool because it does not allow
the use of more than 880MB of memory.</p>
        <p>Impact of Scalar set. Rome´o/SDD relies on similar principles as Rabbit: discrete time
and a fully symbolic representation. The combinatorial explosion due to discrete time
is balanced by the efficiency of SDD encoding: over 10500 states can be represented.</p>
        <p>
          Rome´o/SDD is able to handle models up to much higher parameter values than the
other tools. This is due to the use of ITS/SDD that provide: (i) automatic saturation, (ii)
shared representation of subsystems and (iii) the cartesian product style definition of the
transition relation (involving composition of sums). Various strategies (see [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]) can be
used to encode regular models as ITS, in a way that allows to exploit the same kind of
symmetries as UPPAAL/sym. A strategy can be configured to encode the TrainGroup
or ProcessGroup composite types (which are both scalar sets) with varying width and
levels of depth in the hierarchy. We experimented with the standard flat setting (fixed
depth of 1 for scalar set) with n instances side by side for the train model (i.e. n groups
of size 1). Other settings with less groups of higher cardinality (or more generally with
depth superior to 1) lead to lower performances. In fact, the final representation can be
smaller, but due to a peak effect, increasing the depth does not allow us to solve larger
models. This peak effect could result from the strong synchronization due to the delay
transition.
        </p>
        <p>For the Fischer model, we used a setting with a recursive definition of hierarchy
in the system bounded by 12 variables per level. In other words, the depth is left
unbounded while the width is at most 12. The standard flat setting (depth = 1) was able to
reach 200 processes while a setting with groups of about 10 processes let us reach 400
processes (depth fixed at 2, 40 groups of ten process).</p>
        <p>Although experimentation on industrial case studies remains to be done, this
benchmark shows that appropriate data structures applied to discrete time can deal with
models that could not be analyzed before due to combinatorial explosion in time and/or
memory.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>This work proposes an approach to compute the state space for a large number of
discrete timed components, which relies on hierarchical set decision diagrams (SDD) and
scalar sets defined in the ITS framework. It allows a hierarchical definition of a timed
system, and offers an efficient fully symbolic reachability engine thanks to the
automatic activation of saturation. Because of its generality, ITS can be reused to encode
any formalism with discrete time semantics and mix several timed models within the
same specification while enabling efficient state space generation.</p>
      <p>Performance comparisons with reference tools, for both discrete and dense time,
show gains of several orders of magnitude. This significant improvement is due to our
fully symbolic encoding, instead of a classical symbolic approach for time zones only.</p>
      <p>SDD and ITS are both available as C++ libraries under the terms of GNU LGPL, at
http://ddd.lip6.fr. A new version of Rome´o integrating a SDD engine will soon
be available. A front-end to build TPN and their composition is already provided within
the Coloane modeling environment. We are currently working at providing full
discrete temporal logic model-checking capabilities on top of this reachability
computation, with a focus on TCTL.
Proceedings of CompoNet and SUMo 2011
32</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. Comp. Sci.</source>
          ,
          <volume>126</volume>
          :
          <fpage>183</fpage>
          -
          <lpage>235</lpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>H. R.</given-names>
            <surname>Andersen</surname>
          </string-name>
          .
          <article-title>Partial model checking</article-title>
          .
          <source>In In Proc. of LICS'95</source>
          , pages
          <fpage>398</fpage>
          -
          <lpage>407</lpage>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>A.</given-names>
            <surname>Arnold</surname>
          </string-name>
          .
          <article-title>Nivat's processes and their synchronization</article-title>
          .
          <source>Theor. Comp. Sci.</source>
          ,
          <volume>281</volume>
          (
          <issue>1-2</issue>
          ):
          <fpage>31</fpage>
          -
          <lpage>36</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>
          , P.
          <article-title>-</article-title>
          <string-name>
            <surname>O. Ribet</surname>
            , and
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Vernadat</surname>
          </string-name>
          .
          <article-title>The tool tina - construction of abstract state spaces for petri nets and time petri nets</article-title>
          .
          <source>International Journal of Production Research</source>
          ,
          <volume>42</volume>
          (
          <issue>4</issue>
          ),
          <year>July 2004</year>
          . http://www.laas.fr/tina/.
        </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>State class constructions for branching analysis of time petri nets</article-title>
          .
          <source>In Tools and Algorithms for the Construction and Analysis of Systems - TACAS</source>
          , volume
          <volume>2619</volume>
          <source>of LNCS</source>
          , pages
          <fpage>442</fpage>
          -
          <lpage>457</lpage>
          . Springer,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>D.</given-names>
            <surname>Beyer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Lewerentz</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Noack</surname>
          </string-name>
          .
          <article-title>Rabbit: A tool for bdd-based verification of real-time systems</article-title>
          .
          <source>In Computer-Aided Verification - CAV</source>
          , volume
          <volume>2725</volume>
          <source>of LNCS</source>
          , pages
          <fpage>122</fpage>
          -
          <lpage>125</lpage>
          . Springer,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>M.</given-names>
            <surname>Bozga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Maler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pnueli</surname>
          </string-name>
          , and
          <string-name>
            <surname>S. Yovine.</surname>
          </string-name>
          <article-title>Some progress in the symbolic verification of timed automata</article-title>
          .
          <source>In Computer Aided Verification - CAV</source>
          , pages
          <fpage>179</fpage>
          -
          <lpage>190</lpage>
          . Springer,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>J.</given-names>
            <surname>Burch</surname>
          </string-name>
          , E. Clarke, and
          <string-name>
            <given-names>K.</given-names>
            <surname>McMillan</surname>
          </string-name>
          .
          <article-title>Symbolic model checking: 1020 states and beyond. Information and Computation (Issue for LICS90 best papers</article-title>
          ),
          <volume>98</volume>
          (
          <issue>2</issue>
          ):
          <fpage>153</fpage>
          -
          <lpage>181</lpage>
          ,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>J.-M. Couvreur</surname>
            and
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Thierry-Mieg</surname>
          </string-name>
          .
          <article-title>Hierarchical Decision Diagrams to Exploit Model Structure</article-title>
          .
          <source>In Formal Techniques for Networked and Distributed Systems - FORTE</source>
          , volume
          <volume>3731</volume>
          <source>of LNCS</source>
          , pages
          <fpage>443</fpage>
          -
          <lpage>457</lpage>
          . Springer,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <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 Automatic Verification Methods for Finite State Systems</source>
          , volume
          <volume>407</volume>
          <source>of LNCS</source>
          , pages
          <fpage>197</fpage>
          -
          <lpage>212</lpage>
          . Springer,
          <year>1989</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. G. Gardey,
          <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>
          . Rome´o:
          <article-title>A tool for analyzing time Petri nets</article-title>
          .
          <source>In 17th International Conference on Computer Aided Verification (CAV'05)</source>
          , volume
          <volume>3576</volume>
          <source>of LNCS</source>
          . Springer,
          <year>July 2005</year>
          . http://romeo.rts-software.org/.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>A.</given-names>
            <surname>Hamez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Thierry-Mieg</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Kordon</surname>
          </string-name>
          .
          <article-title>Hierarchical Set Decision Diagrams and Automatic Saturation</article-title>
          .
          <source>In ICATPN</source>
          <year>2008</year>
          , volume
          <volume>5062</volume>
          <source>of LNCS</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>M. Hendriks</surname>
            , G. Behrmann,
            <given-names>K. G.</given-names>
          </string-name>
          <string-name>
            <surname>Larsen</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Niebert</surname>
            , and
            <given-names>F. W.</given-names>
          </string-name>
          <string-name>
            <surname>Vaandrager</surname>
          </string-name>
          . Adding Symmetry Reduction to Uppaal.
          <source>In First International Workshop on Formal Modeling and Analysis of Timed Systems (FORMATS'03)</source>
          , volume
          <volume>2791</volume>
          <source>of LNCS</source>
          , pages
          <fpage>46</fpage>
          -
          <lpage>59</lpage>
          . Springer,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. T. A.
          <string-name>
            <surname>Henzinger</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          <string-name>
            <surname>Manna</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Pnueli</surname>
          </string-name>
          .
          <article-title>What good are digital clocks?</article-title>
          <source>In Int. Coll. Automata, Languages, and Programming - ICALP</source>
          , volume
          <volume>623</volume>
          <source>of LNCS</source>
          , pages
          <fpage>545</fpage>
          -
          <lpage>558</lpage>
          . Springer,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>C. N.</given-names>
            <surname>Ip</surname>
          </string-name>
          and
          <string-name>
            <given-names>D. L.</given-names>
            <surname>Dill</surname>
          </string-name>
          .
          <article-title>Better verification through symmetry</article-title>
          .
          <source>Formal Methods in System Design</source>
          ,
          <volume>9</volume>
          :
          <fpage>41</fpage>
          -
          <lpage>75</lpage>
          ,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>F.</given-names>
            <surname>Laroussinie</surname>
          </string-name>
          and
          <string-name>
            <given-names>K. G.</given-names>
            <surname>Larsen</surname>
          </string-name>
          .
          <article-title>Compositional model checking of real time systems</article-title>
          .
          <source>In CONCUR</source>
          , volume
          <volume>962</volume>
          <source>of LNCS</source>
          , pages
          <fpage>27</fpage>
          -
          <lpage>41</lpage>
          . Springer,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>K. G. Larsen</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Pettersson</surname>
            , and
            <given-names>W. Yi.</given-names>
          </string-name>
          <article-title>UPPAAL in a nutshell</article-title>
          .
          <source>International Journal on Software Tools for Technology Transfer</source>
          ,
          <volume>1</volume>
          (
          <issue>1</issue>
          -2):
          <fpage>134</fpage>
          -
          <lpage>152</lpage>
          ,
          <year>Oct 1997</year>
          . http://www.uppaal.com/.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>M. Magnin</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Lime</surname>
            , and
            <given-names>O. H.</given-names>
          </string-name>
          <string-name>
            <surname>Roux</surname>
          </string-name>
          .
          <article-title>Symbolic state space of Stopwatch Petri nets with discrete-time semantics</article-title>
          .
          <source>In ICATPN</source>
          <year>2008</year>
          , volume
          <volume>5062</volume>
          <source>of LNCS</source>
          , pages
          <fpage>307</fpage>
          -
          <lpage>326</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>P. M. Merlin</surname>
          </string-name>
          .
          <article-title>A study of the recoverability of computing systems</article-title>
          .
          <source>PhD thesis</source>
          ,
          <year>1974</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>J. Møller</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Lichtenberg</surname>
            ,
            <given-names>H. R.</given-names>
          </string-name>
          <string-name>
            <surname>Andersen</surname>
            , and
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Hulgaard</surname>
          </string-name>
          .
          <article-title>Fully Symbolic Model Checking of Timed Systems using Difference Decision Diagrams</article-title>
          .
          <source>In ENTCS. Elsevier Science</source>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <given-names>P.</given-names>
            <surname>Niebert</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Peled</surname>
          </string-name>
          .
          <article-title>Efficient model checking for ltl with partial order snapshots</article-title>
          .
          <source>Theor. Comput. Sci.</source>
          ,
          <volume>410</volume>
          (
          <issue>42</issue>
          ):
          <fpage>4180</fpage>
          -
          <lpage>4189</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <given-names>L.</given-names>
            <surname>Popova</surname>
          </string-name>
          .
          <article-title>Time Petri Nets State Space Reduction using Dynamic Programming</article-title>
          .
          <source>Journal of Control and Cynernetics</source>
          ,
          <volume>35</volume>
          (
          <issue>3</issue>
          ):
          <fpage>721</fpage>
          -
          <lpage>748</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <given-names>S. A.</given-names>
            <surname>Seshia</surname>
          </string-name>
          and
          <string-name>
            <given-names>R. E.</given-names>
            <surname>Bryant</surname>
          </string-name>
          . Unbounded,
          <article-title>Fully Symbolic Model Checking of Timed Automata using Boolean Methods</article-title>
          . In Computer Aided Verification - CAV, volume
          <volume>2725</volume>
          <source>of LNCS</source>
          , pages
          <fpage>154</fpage>
          -
          <lpage>166</lpage>
          . Springer,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <given-names>Y.</given-names>
            <surname>Thierry-Mieg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Poitrenaud</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hamez</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Kordon</surname>
          </string-name>
          .
          <article-title>Hierarchical set decision diagrams and regular models</article-title>
          .
          <source>In Tools and Algorithms for the Construction and Analysis of Systems - TACAS</source>
          , volume
          <volume>5505</volume>
          <source>of LNCS</source>
          , pages
          <fpage>1</fpage>
          -
          <lpage>15</lpage>
          . Springer,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <given-names>F.</given-names>
            <surname>Wang</surname>
          </string-name>
          .
          <article-title>Efficient verification of timed automata with BDD-like structures</article-title>
          .
          <source>Int. Journal on Soft. Tools for Technology Transfer</source>
          ,
          <volume>6</volume>
          (
          <issue>1</issue>
          ):
          <fpage>77</fpage>
          -
          <lpage>97</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <given-names>S.</given-names>
            <surname>Yovine</surname>
          </string-name>
          .
          <article-title>Kronos: A verification tool for real-time systems</article-title>
          .
          <source>International Journal of Software Tools for Technology Transfer</source>
          ,
          <volume>1</volume>
          (
          <issue>1</issue>
          -2):
          <fpage>123</fpage>
          -
          <lpage>133</lpage>
          ,
          <year>Oct 1997</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>