<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>SMT-based Parameter Synthesis for L/U Automata</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Michal Knapik</string-name>
          <email>mknapik@ipipan.waw.pl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Wojciech Penczek</string-name>
          <email>penczek@ipipan.waw.pl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Computer Science, Polish Academy of Sciences</institution>
          ,
          <addr-line>J.K. Ordona 21, 01-237 Warszawa</addr-line>
          ,
          <country country="PL">Poland</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>International PhD Project in Intelligent Computing</institution>
          ,
          <addr-line>MPD, FNP</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Maja 54</institution>
          ,
          <addr-line>08-110 Siedlce</addr-line>
          ,
          <country country="PL">Poland</country>
        </aff>
      </contrib-group>
      <fpage>77</fpage>
      <lpage>92</lpage>
      <abstract>
        <p>We present and evaluate a straightforward method of representing finite runs of a parametric timed automaton (PTA) by means of formulae accepted by satisfiability modulo theories (SMT)-solvers. Our method is applied to the problem of parametric reachability, i.e., the synthesis of a set of the parameter substitutions under which a state satisfying a given property is reachable. While the problem of parametric reachability is not decidable in general, we provide algorithms for underapproximation of the solution to this problem for a certain class of PTA, namely for the lower/upper bound automata.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Model checking of real-time systems (RTS), performed by the analysis of their
models is a very important subject of research. This is highly motivated by an
increasing demand to verify safety critical systems, i.e., time-dependent systems,
failure of which could cause dramatic consequences for both people and
hardware. These systems include robotic surgery machines, nuclear reactor control
systems, railway signalling, breaking systems, air traffic control systems, flight
planning systems, rocket range launch safety systems, and many others. Humans
already benefit a lot from a variety of real-time systems, being often unaware of
this. Parametric model checking [
        <xref ref-type="bibr" rid="ref10 ref2">2,10</xref>
        ] aims at extending the successful
developments of model checking of RTS. In this case, the model contains free variables,
called parameters. Such a situation typically arises at the initial stages of a
system design, when some of the details might be unknown.
      </p>
      <p>
        Timed automata (TA) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] constitute the most popular and applied class of
RTS. The introduction of free variables into timed automata leads to parametric
timed automata [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. It was proven in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] that the emptiness problem: “Is there
a parameter valuation for which an automaton has an accepting run” for PTA is
undecidable. Several tools have been implemented ([
        <xref ref-type="bibr" rid="ref12 ref14 ref16 ref3 ref5 ref9">3,5,9,12,14,16</xref>
        ]), which allow
to verify certain properties of PTA (or related phase automata in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]). All these
tools except for [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] have one thing in common: they aim at fully describing the
set of parameter substitutions under which the given property holds.
Unfortunately, this means that the process of parametric model checking does not need to
stop, consuming time and memory resources. These approaches usually employ
extensions of classical (non-parametric) model checking methods such as:
parametric difference bound matrices [
        <xref ref-type="bibr" rid="ref12 ref5">5,12</xref>
        ], partition refinement [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], compositional
model-checking [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], and CEGAR and CEGAR-inspired methods [
        <xref ref-type="bibr" rid="ref11 ref3 ref4">3,4,11</xref>
        ].
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] a theoretical basis for bounded model checking for PTA was
introduced. We have presented the counterpart of the region graph, which allows for
a synthesis of a part of the set of constraints under which the given existential
CTL property holds. The proposed method ensures that the process of
verification stops with correct (but usually not complete) results. In the current paper
we continue this work in order to ensure its feasibility. To this aim we consider
lower bound/upper bound (L/U) automata [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] in which each parameter occurs
either as a lower- or as an upper bound in the timing constraints. Despite this
limitation, L/U automata are still interesting in practice, as for example they
can be used to model the Fischer’s Mutual Exclusion Algorithm, the Root
Contention Protocol [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and other well known systems1. Hune et al. [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] showed that
the emptiness problem for L/U automata with respect to finite runs is
decidable, whereas Bozelli and Torre [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] proved that it is also decidable w.r.t. infinite
accepting runs. Similarly, the universality problem: “Does an automaton have
an accepting run for each parameter valuation” is decidable for L/U automata.
The above decidability results do not solve the problem of finding the valuations
of the parameters in case the answer to the emptiness problem is positive and
the answer to the universality problem is negative. This means that in case an
automaton does have an accepting run only for some parameter valuations, it
is not known how to compute them. The above observation is the main
motivation of our work, which aims at offering a symbolic method for the synthesis
of parameter valuations for which an L/U automaton satisfies some reachability
property, i.e., it has a finite accepting run.
      </p>
      <p>From the practical point of view the synthesis of all the parameter valuations
is usually not needed: an analyst would typically be satisfied with a possibility
of obtaining just a part of them. The direct analysis of parametric region graph
is not feasible due to its typically large size, therefore the new methods of
unwinding of the state space are needed. To this end, in this paper we offer a direct
translation from an unwinding of the the concrete model of an L/U
automaton to an SMT instance. This allows for synthesizing a subset of the parameter
valuations for which an automaton satisfies some reachability property.</p>
      <p>The rest of the paper is organized as follows. In the next section we briefly
present the theory of parametric timed automata and formulate the task of
parametric synthesis. In Section 3 we present how to encode all the finite runs of a
1 IEEE Computer Society. IEEE Standard for a High Performance Serial Bus. Std
1394-1995, 1996.
given length as an SMT formula, and in Section 4 the algorithm for a state space
exploration and a parameter synthesis for L/U automata is presented. Section
5 contains the preliminary evaluation of our method, as applied to two
benchmarks: Fischer’s Mutual Exclusion Protocol and a version of Generic Timed
Pipeline Paradigm. We conclude with a brief discussion in Section 5.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Theory of parametric timed automata</title>
      <p>In this section we introduce all the main notions and define timed automata,
parametric timed automata, and L/U automata.</p>
      <p>Parametric timed automata, to be defined later, employ two sets of variables:
the set X = {x1, . . . , xn} of real time variables, called clocks, and the set P =
{p1, . . . , pm} of integer variables, called parameters. Both types of the variables
are used in the clock constraints of parametric timed automata.</p>
      <p>The clock constraints are built using linear expressions, i.e., expressions of the
form Pm</p>
      <p>i=1 ti · pi + t0, where ti ∈ Z. Clocks or differences of clocks compared with
linear expressions, formally, the expressions of the form xi ≺ e or xi − xj ≺ e,
where i 6= j, ≺∈ {≤, &lt;} and e is a linear expression, are called simple guards.
The conjunctions of simple guards are called guards. By G we denote the set of
all guards. By G0 we mean the subset of G consisting of the guards built only of
the simple guards of type xi ≺ e, where xi ∈ X and ≺∈ {≤, &lt;}.</p>
      <p>The clocks range over the nonnegative reals (R≥0) while the parameters range
over the naturals (N, including 0). The function υ : P → N is called a parameter
valuation and ω : X → R≥0 is called a clock valuation. Sometimes it is convenient
to perceive υ and ω as points in, respectively, Nm and R≥0
n .</p>
      <p>The value obtained by substituting the parameters in a linear expression e
according to the parameter valuation υ is denoted by e[υ]. If ω(xi) − ω(xj ) ≺ e[v]
(ω(xi) ≺ e[v]) holds, then we write ω |=υ xi − xj ≺ e (resp., ω |=υ xi ≺ e). This
notion is naturally extended to the guards.</p>
      <p>Two operations can be executed on the clocks: incrementation and reset. Let
ω be a clock valuation and δ ∈ R, then by ω + δ we denote such a clock valuation
that (ω + δ)(xi) = ω(xi) + δ for all 1 ≤ i ≤ n. A set of the expressions of the form
xi := bi, where bi ∈ N, and 1 ≤ i ≤ n is called a reset, and the set of all resets is
denoted by R. Let ω be a clock valuation and r be a reset, then by ω[r] we denote
such a clock valuation that ω[r](xi) = bi if xi := bi ∈ r, and ω[r](xi) = ω(xi)
otherwise. Intuitively, resetting a clock valuation amounts to setting the selected
clocks to some fixed values, while leaving the remaining clocks intact. The initial
clock valuation ω0 satisfies ω0(xi) = 0 for all xi ∈ X.
2.1</p>
      <sec id="sec-2-1">
        <title>Parametric timed automata</title>
        <p>
          Timed automata [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] are an established formalism for modelling the behavior of
real-time systems. The clock constraints are expressed as the restrictions imposed
on clocks or differences of clocks. Parametric timed automata [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] are an extension
of timed automata, where linear expressions containing parameters are allowed
in the clock constraints.
Definition 1. A parametric timed automaton is a seven-tuple
A = hQ, l0, A, X, P, →, Ii, where:
– Q is a finite set of locations,
– l0 ∈ Q is the initial location,
– A is a finite set of actions,
– X and P are, respectively, finite sets of clocks and parameters,
– I : Q → G0 is an invariant function,
– →⊆ Q × A × G × R × Q is a transition relation.
        </p>
        <p>A transition (q, a, g, r, q0) ∈→ is typicaly denoted by q a→,g,r q0.</p>
        <p>
          Notice that the co-domain of the invariant function is the conjunction of upper
bounds on clocks. This assumption is taken from [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] in order to ensure that
the set of time delays under which the automaton can stay in a given location
is connected and contains 0 (if nonempty) for each parameter valuation.
        </p>
        <p>The concrete semantics of a parametric timed automaton under a parameter
valuation υ is defined in the form of a labelled transition system.
Definition 2 (Concrete semantics). Let A = hQ, l0, A, X, P, →, Ii be a
parametric timed automaton and υ be a parameter valuation. The labelled transition
system for A under υ is defined as the tuple JAKυ = hS, s0, R≥0 ∪ A, →di, where:
– S = {(l, ω) | l ∈ Q, and ω is a clock valuation such that ω |=υ I(l)},
– s0 = (l0, ω0) (we assume that ω0 |=υ I(l0)),
– Let (l, ω), (l0, ω0) ∈ S. The transition relation →d⊆ S ×S is defined as follows:
• if d ∈ R≥0, then (l, ω) →d (l0, ω0) iff (l = l0 and ω0 = ω + d),
• if d ∈ A, then (l, ω) →d (l0, ω0) iff l d→,g,r l0, for some g ∈ G, r ∈ R, where
ω |=υ g, and ω0 = ω[r].</p>
        <p>The elements of S are called the concrete states of JAKυ.</p>
        <p>
          After substituting the parameters in A according to a parameter valuation υ
we obtain the timed automaton, denoted by Aυ. The concrete semantics of
Aυ is usually denoted by JAυK and it is straightforward [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] to observe that
JAυK = JAKυ.
        </p>
        <p>For k ∈ N by a k-run ρk in
ρk = s0 →d0 s0 a→ct1 s1 →d1 s0 actJ2A. K.υ. dwke−1mse0ka−n1a sequence of states and transitions:
0 1 → → a→ctk sk →dk s0k, where di ∈ R≥0 and
acti ∈ A for all 0 ≤ i ≤ k. By a run we mean any k-run for k ∈ N. We say that
k is the length of ρk and s0k is k–reachable in JAKυ.
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Parametric reachability and synthesis</title>
        <p>
          The original definition of parametric timed automata [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] contains a distinguished
subset of the locations, called final locations. A run is accepted under a given
valuation of the parameters if it ends with a final state. The question of the
emptiness of a set of the parameter valuations under which there exists an
accepting run was shown in [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] to be undecidable.
        </p>
        <p>
          Following [
          <xref ref-type="bibr" rid="ref12 ref17">12,17</xref>
          ] we present the results in the setting typical for model
checking, where we distinguish the model and the property to be verified.
Definition 3. Let A = hQ, l0, A, X, P, →, Ii be a parametric timed automaton.
The state formulae are defined by the following grammar:
        </p>
        <p>φ = l | xi ≺ b | xi − xj ≺ b | φ ∧ φ | ¬φ,
where l ∈ Q, xi, xj ∈ X, ≺∈ {≤, &lt;} and b ∈ N.</p>
        <p>We also refer to a state formula as to a property. Let υ be a parameter valuation,
(l, ω) ∈ JAKυ, and let φ, ψ be state formulae. We define the validity of a state
formula in a global states, denoted (l, ω) |= φ, inductively as follows:
– (l, ω) |= l0 iff l = l0,
– (l, ω) |= xi ≺ b iff ω |=υ xi ≺ b, and (l, ω) |= xi − xj ≺ b iff ω |=υ xi − xj ≺ b,
– (l, ω) |= φ ∧ ψ iff (l, ω) |= φ and (l, ω) |= ψ,
– (l, ω) |= ¬φ iff not (l, ω) |= φ.</p>
        <p>Let υ be a parameter valuation and φ be a state formula. Let k ∈ N, dj ∈ R≥0 and
actj ∈ A for all 1 ≤ j ≤ k. Let ρk = s0 →d0 s00 a→ct1 s1 →d1 s01 a→ct2 . . . d→k−1 s0k−1 →
actk
sk →dk s0k be a k-run in JAKυ. If for some k ∈ N there exists a run ρk in JAKυ
such that s0k |= φ, then we say that a state satisfying φ is reachable in A under
υ and write JAKυ |= EF φ. The EF modality originates from Computation Tree
Logic (CTL), where EF φ stands for “there exists a path such that eventually φ
holds”.</p>
        <p>The task of parametric reachability, otherwise called the parameter synthesis
problem, is formulated as follows.</p>
        <p>Let A be parametric timed automaton and let φ be a state formula.</p>
        <p>Automatically describe the set Γ (A, φ) = {υ | JAKυ |= EF φ}.</p>
        <p>As mentioned earlier, there is no decision procedure for checking whether Γ (A, φ)
is empty or contains all the parameter valuations, therefore we can not expect
to be able to fully solve the parameter synthesis problem, at least in the general
case.
2.3</p>
      </sec>
      <sec id="sec-2-3">
        <title>L/U automata</title>
        <p>
          Hune et al. have identified in [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] an important class of parametric timed
automata for which the problem of the emptiness of Γ (A, φ) is decidable. These are
the lower/upper bound automata (L/U automata, for short), where additional
constraints on the parameters are used.
        </p>
        <p>In what follows if f is a function and B a subset of its domain, then f|B
stands for the restriction of f to B.
Definition 4. A lower/upper bound automaton is a parametric timed
automaton A = hQ, l0, A, X, P, →, Ii satisfying the following conditions
– P = L ∪ U , where L = {λ1, . . . , λl}, U = {μ1, . . . , μu}, and L ∩ U = ∅.
– Each linear expression in the guards or the invariants of A can be written in
form Pli=1 li · λi + Pju=1 uj · μj + t0, where li, uj , t0 ∈ Z and li ≤ 0, uj ≥ 0
for all 1 ≤ i ≤ l and 1 ≤ j ≤ u.</p>
        <p>The elements of L are called the lower parameters while the elements of U are
called the upper parameters.</p>
        <p>Intuitively, in an L/U automaton the clock constraints can be uniformly relaxed
by decreasing the values assigned to the lower parameters and increasing the
values assigned to the upper parameters.</p>
        <p>Let A be an L/U automaton and υ be a parameter valuation. Define λ = υ|L
and μ = υ|U . If υ0 is also a valuation of the parameters, λ0 = υ0|L, μ0 = υ0|U ,
and ∀λi∈Lλ0(λi) ≤ λ(λi) and ∀μj∈U μ(μj ) ≤ μ0(μj ), then we write υ ≤ υ0.</p>
        <p>
          When it is convenient to define υ in terms of of λ and μ, we write υ = (λ, μ).
Proposition 1 ([
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]). Let A be an L/U automaton, φ a state formula, and
υ, υ0 be parameter valuations such that υ ≤ υ0. Then, JAKυ |= EF φ implies
JAKυ0 |= EF φ.
        </p>
        <p>
          Assume that A is an L/U automaton. From the above lemma it follows that the
problem of the emptiness of Γ (A, φ) can be reduced to the problem of
reachability of a state satisfying φ in the automaton obtained from A by substituting
lower parameters with 0 and removing each guard or invariant containing at least
one upper parameter. The latter, in terms of [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], is equivalent to substituting
∞ for each upper parameter.
3
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Translation to SMT</title>
      <p>
        The idea of encoding of system’s behavior using the translation to propositional
formulae originates from [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. The techniques for SAT-based verification of various
extensions of timed automata have evolved in parallel with these based on
difference bound matrices. Usually, it is possible to translate only a part of a model
to a logical formula, hence this method is applied for bounded model checking:
a technique especially suited for seeking for bugs and unwanted behaviors.
      </p>
      <p>
        SMT-solvers extend the capabilities of SAT-solvers by allowing for formulae
of the first order over several built-in theories as an input. In our considerations,
we use SMT-solvers to obtain the satisfiability and example models (valuations
of the parameters) for formulae expressed using boolean variables and operators
together with real-valued variables, linear arithmetic operators and relations. As
we have decided to make the translation as straightforward as possible, in this
experimental phase we have chosen to use SMT-lib ver. 2.0 [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] compliant solvers
and rich logics allowing for linear arithmetic over real sort (e.g. QF LRA).
      </p>
      <p>Let A = hQ, l0, A, X, P, →, Ii be a parametric timed automaton. In this
section we show how to encode, for a given k ∈ N, all the k-runs of Aυ for all
the parameter valuations υ, as the formula acceptable by SMT solvers such as
CVC3. We start with the description of the sorts (types), the variables, and the
additional predicates used.
3.1</p>
      <sec id="sec-3-1">
        <title>Sorts and Predicates</title>
        <p>We encode the locations of A by means of enumerating them using
propositional expressions. For each i ∈ N let BVi = {bv1i, bv2i, . . . , bvdilog|Q|e} be a set
of propositional variables. Let BE i denote the set of all the propositional
formulae over BVi. It is straightforward to notice for each i ∈ N we can define
the function loc enci : Q → BE i assigning to each of the locations from Q
the conjunction of the literals (variables or their negations) from BVi such that
loc enci(l) ∧ loc encj (l0) is false iff i 6= j or l 6= l0. Intuitively, for l ∈ Q and
i ∈ N, the formula loc enci(l) can be interpreted as an encoding of the location
l at the i–th step (i ≤ k) of the k-runs, using variables from BVi.</p>
        <p>Recall that X = {x1, x2, . . . , xn} is a set of the clocks. For each i ∈ N let
Xi = {xi1, xi2, . . . , xin} be a set of real variables, where Xi ∩ Xj = ∅ for i 6= j,
and similarly, let T = {t0, t1, . . .} be a set of real variables. As previously, the
variables from Xi are used to encode the clock valuations in the i–th steps of
the k-runs with the help of the variables from T , which record the time delays
between the consecutive actions.</p>
        <p>Recall that P = {p1, p2, . . . , pm} is a set of the parameters ranging over N.
With a slight notational abuse we treat P as a set of the variables of real sort.
In the current version, SMT-lib standard does not allow for typecasts between
reals and integers, therefore we need to use the predicate is int to ensure that
the variables from P hold integer values only (e.g., is int(7.0) evaluates to true,
while is int(4.3) is false).</p>
        <p>Summarizing, when considering the k-runs, we declare V arsk = Sik=1 Xi ∪
T ∪ P to be real variables and Bvarsk = Sik=1 BVi to be boolean variables.
Additionally, we define the formula</p>
        <p>T ypeCutk =</p>
        <p>^
v∈V arsk
v ≥ 0 ∧
^ is int(p)
p∈P
which ensures that all used variables range over the appropriate sets.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Encoding the Transitions</title>
        <p>In what follows, if η is a formula containing the free variables a1, a2, . . . , an,
then by η[a1 ← a01, a2 ← a02, . . . an ← a0n] we denote the formula obtained by
substituting a01 for a1, a02 for a2, etc. in η. Additionally, we assume that there are
no two transitions having the same label in A. This assumption is not essential
for the translation2, and it is used only to simplify the presentation of the results
and the associated proofs.</p>
        <p>Let tr = l act,g,r l0 be a transition, where l, l0 are respectively the source and
→
the target location, act is the action label, g is the guard, and r is the reset.
It is convenient to use the following notations: source(tr) = l, target(tr) = l0,
guard(tr) = g, and reset(tr) = r. Now, let i ∈ N. We define guardi(tr) =
guard(tr)[x1 ← xi1, . . . , xn ← xin], i.e., the encoding of guard(tr) using the
variables introduced earlier. Define reseti(tr) as the smallest set such that xij :=
a + ti ∈ reseti(tr) if xj := a ∈ reset(tr) and xij := xi−1 + ti ∈ reseti(tr)
j
otherwise, for each 1 ≤ j ≤ n. Intuitively, reseti(tr) models the new value of
each clock after the consecutive reset and delay. Let s ∈ Q be a location, we
define invi(s) = I(s)[x1 ← xi1, . . . , xn ← xin], i.e., the encoding of the invariant
of s. The above notions are combined to define the encoding of the transition tr
as follows:
tr enci(tr) = loc enci(source(tr)) ∧ guardi(tr) ∧ reseti+1(tr)</p>
        <p>∧ invi+1(target(tr)) ∧ loc enci+1(target(tr)).</p>
        <p>The correctness of the above construction is stated in the following lemma.
Lemma 1. Let tr = l act,g,r l0 be a transition in A, υ be a parameter valuation,
→
(l, ω) be a concrete state in JAKυ and i ∈ N. Then, (l, ω) −a→ct d
(sla0t,iωsf[yri]n+g Vd)|=intrJAenKυci(itffr)f∧orTsyopmeCe uvtai+lu1atwioenhaVveotfhaatl:l the variabl(els0, ωin[r]V) a−r→sk
– υ = V|P ,
– ω = V|Xi [xi1 ← x1, . . . , xin ← xn],
– d = V (ti+1),
– ω[r] + d = V|Xi+1 [xi1+1 ← x1, . . . , xin+1 ← xn].</p>
        <p>Proof. Observe that the locations are uniquely represented by their encodings,
thus we can focus on nonboolean variables only.</p>
        <p>(⇐) Let V be a valuation of the variables such that V |= tr enci(tr) ∧
T ypeCuti+1. Let ω = V|Xi [xi1 ← x1, . . . , xin ← xn] and υ = V|P . Denote ωi =
V|Xi , then from V |= guardi(tr) we obtain ωi |=υ guardi(tr), which in turn
yields that ω |=υ guard(tr). Let d = V (ti+1), denote ωi+1 = V|Xi+1 and notice
that from V |= reseti+1(tr) it follows that ωi+1(xij+1) = ωi[r](xij ) + d for all
1 ≤ j ≤ n. Thus, if we denote ω0 = V|Xi+1 [xi1+1 ← x1, . . . , xin+1 ← xn], then
ω0 = ω[r] + d. Now, observe that from V |= invi+1(target(tr)) we can infer that
ωi+1 |=υ invi+1(target(tr)), from which ω0 |=υ I(target(tr)), i.e., ω[r] + d |=υ
I(target(tr)). As d ≥ 0 and in the view of the assumption that the invariants
admit only upper bounds on clocks, we have also that ω[r] |=υ I(target(tr)).
This, together with the fact that V |= T ypeCuti+1 assures that the used variables
range over the correct sets, concludes this part of the proof.</p>
        <p>(⇒) The implication in the other direction follows easily from the basic
definitions of the transitions in JAυK.
2 We can always relabel the labels.</p>
      </sec>
      <sec id="sec-3-3">
        <title>Encoding k-runs and reachability testing</title>
        <p>Our aim is to encode all the k-runs of Aυ for each parameter valuation υ. Recall
that n is the number of the clocks. To this end we define the following formula:
model enck(A) = T ypeCutk ∧</p>
        <p>Vin=1(xi0 = t0) ∧ loc enc0(l0) ∧ inv0(l0)
∧ Vik=−01 Wtr∈ → tr enci(tr).</p>
        <p>The first component ensures that all variables range over the proper values. The
second component sets all the initial clocks to some arbitrary common value
(the assumption that the invariants represent the upper bounds on the clocks is
significant here), encodes the initial state, and makes sure that its invariant is
satisfied. The last component encodes all the possible transitions in the k–runs.</p>
        <p>Let φ be a state formula and i ∈ N. Let {l1, . . . , lm} be a set of all the
locations present in φ. We define the encoding of φ as follows:
pr enci(φ) = φ[x1 ← xi1, . . . , xn ← xin, l1 ← loc enci(l1), . . . , lm ← loc enci(lm)],
i.e., we simply substitute in φ each clock with its i–th variable counterpart, and
each location with its encoding using boolean variables from BVi.</p>
        <p>We obtain the formula to be used for testing and parameter synthesis by
combining the encodings of the k-runs and the property, as presented in the
following lemma.</p>
        <p>Lemma 2. Let A be a parametric timed automaton, φ be a state formula, υ be
a valuation of the parameters, and k ∈ N. A state satisfying φ is k–reachable
in JAKυ iff there exists a valuation V of all the variables in V arsk such that
V |= model enck(A) ∧ pr enck(φ) and V|P = υ.</p>
        <p>Proof. Due to the presence of T ypeCutk in model enck(A) we know that all the
variables range over the proper sets.</p>
        <p>Let l be the (unique) location such that V|BVk |= loc enck(l) and ωk =
V|Xk [x1k ← x1, . . . , xkn ← xn], First, we prove that V |= model enck(A) iff the
state (l, ωk) is k–reachable in JAυK for υ = V|P .</p>
        <p>If k = 0, then Vin=1(xi0 = t0) ∧ loc enc0(l0) ∧ inv0(l0) is satisfied by the
valuation V iff V is such that if we denote ω0 = V|X0 [x01 ← x1, . . . , x0n ← xn]
and V|P = υ, then for some t0 = V (t0) we have that ω0 = ω0+t0 and ω0 |=υ I(l0).
This corresponds to the set of states to which JAυK can progress by the time
transitions</p>
        <p>For the inductive step observe that model enck(A) = model enck−1(A) ∧
Wtr∈ → tr enck−1(tr)∧T ypeCutk = Wtr∈ → model enck−1(A)∧tr enck−1(tr) ∧
T ypeCutk and apply Lemma 1 and the inductive assumption.</p>
        <p>To conclude, notice that pr enck(φ) simply encodes all the concrete states
for which φ holds, using the variables from BVk ∪ Xk.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Parameter set approximations</title>
      <p>We already know how to write, for a given parametric timed automaton and a
property, the formula encoding k–reachable states for which the property holds
together with the associated valuations of the parameters. It might be beneficial
to verify this formula as it is, if we wish to obtain the answer to the question
whether the property is satisfied by k–reachable states. We can also rely on
the SMT-solver to obtain an exemplary witness, i.e., a correct valuation of the
parameters. Our task is, however, to systematically explore the space of the
admissible parameters, with a hope for painting a part of the picture from which
an analyst can make further generalizations.</p>
      <p>Let A = hQ, l0, A, X, P, →, Ii be an L/U automaton and P = L ∪ U , where
L and U are disjoint sets of the upper and the lower parameters, respectively.
Assume that L = {λ1, . . . , λl} and U = {μ1, . . . , μu}.</p>
      <p>Let φ be a property and υ be such a valuation of the parameters that there
exists a reachable state in JAKυ satisfying φ. Recall (Proposition 1) that in the
class of the L/U automata this means that a state satisfying φ is also reachable
in JAKυ0 for each υ0 such that υ ≤ υ0.</p>
      <p>Define the complementing clause with respect to υ as follows</p>
      <p>ComplClause(υ) =
l u
_ (λi &gt; υ(λi)) ∨ _ (μi &lt; υ(μi)),
i=1 i=1
and observe that υ0 |= ComplClause(υ) iff υ ≤ υ0 is not true.</p>
      <p>We employ ComplClause(υ) to block the SMT-solver from seeking for
parameter valuations which can be inferred from the L/U automata properties and
the set of the parameters that has been already synthesized.</p>
      <p>The following algorithm attemps to synthesise parameter valuations for which
there exists a k–reachable state satisfying the property φ. If the search is
successful, the user is presented with a newly synthesised parameter valuation υ
and asked whether the procedure should be continued. If so, a new blocking
ComplClause(υ) is added to the main formula and the loop takes another turn.
Algorithm 1 ReachSynth(A, φ, k)
Input: an L/U automaton A, a property φ, a depth value k ∈ N
Output: a set Res of valuations of the parameters
1: Res := ∅
2: reachF ormula := model enck(A) ∧ pr enck(φ)
3: while user requests to expand Res and reachFormula is satisfiable do
4: let V be such that V |= reachF ormula and υ := V|P
5: let Res := Res ∪ {υ}
6: let reachF ormula := reachF ormula ∧ ComplClause(υ)
7: end while
8: return Res</p>
      <p>Note that in the above algorithm the testing for satisfiability (line 3), and
extraction of the witness valuation υ of the parameters (line 4) is performed by
means of a call to an external SMT-solver.</p>
      <p>Lemma 3. Let A be an L/U automaton, φ be a property, and k ∈ N. For each
valuation of the parameters υ0 such that there exists υ ∈ ReachSynth(A, φ, k)
satisfying υ ≤ υ0 we have that JAKυ0 |= EF φ.</p>
      <p>Proof. It follows immediately from Lemma 2 combined with the properties of
ComplClause(υ).</p>
      <p>
        The ReachSynth algorithm can be used as the main building block of a bounded
parametric model checking process. The input consists of an L/U automaton A
and a property φ. Initially, we can employ the results from [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] to solve the
emptiness problem for φ and A, i.e., to check whether there exists a parameter
valuation υ such that JAKυ |= EF φ. If the existence of such a valuation is
confirmed, then the universality problem, i.e., the question whether JAKυ |= EF φ
for all parameter valuations υ, can be checked as a dual to the emptiness. If the
answer to the universality problem is false, then ReachSynth(A, φ, k) is called,
starting from k = 0 and incrementing the value of k whenever the previous call
returned empty set or the loop was stopped by the user.
5
      </p>
    </sec>
    <sec id="sec-5">
      <title>Evaluation</title>
      <p>
        In this section we present some preliminary results on parametric analysis of
two selected models, namely Fischer’s Mutual Exclusion Protocol and a version
of Generic Timed Pipeline Paradigm [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Both of them are well established
and scalable benchmarks specified in a form of networks of parametric timed
automata.
      </p>
      <p>Definition 5. Let U = {Ai = hQi, l0i, Ai, Xi, P i, →i, Iii | 1 ≤ i ≤ m} be a
set (a network) of parametric timed automata such that Xi ∩ Xj = ∅ for each
1 ≤ i, j ≤ m and i 6= j. Let L(a) = {1 ≤ i ≤ m | a ∈ Ai} be a function
associating with each action a ∈ S1≤i≤m Ai the indices of the automata recognizing a.
We define the product automaton A = hQ, l0, A, X, P, →, Ii of the network U ,
where:
– Q = Qm</p>
      <p>i=1 Qi,
– l0 = (l01, . . . , l0m),
– A = Sm</p>
      <p>i=1 Ai,
–– PX == SSimim==11 PXii,,
– I((l1, . . . , lm)) = Vim=1 Ii(li) for each (l1, . . . , lm) ∈ Q,
and the transition relation → is such that:
– (l1, . . . , lm) a→,g,r (l10, . . . , lm0) iff for each i ∈ L(a) we have li a,→gi,iri li0, and
g = Vi∈L(a) gi, r = Si∈L(a) ri, and li = li0 for all i ∈ {1, . . . , m} \ L(a).
In addition to a network, the user is expected to supply an experiment’s plan
file. Such a plan consists of a sequence of pairs (k, No) of natural numbers, where
k is the length of the runs to be considered, and No is a maximal number of
parameter valuations to be synthesised should the verified property be found
satisfiable. Our tool goes through the pairs in accordance with increasing k,
incrementally building the formulae to be tested as it was presented in earlier
sections.</p>
      <p>All the experiments have been performed on Intel P6200 2.13GHz dual core
machine with 3GB memory, running Linux operating system.
5.1</p>
      <sec id="sec-5-1">
        <title>Fischer’s Mutual Exclusion Protocol</title>
        <p>The timed automata network presented in Figure 1 models one of the possible
solutions to the classical problem of mutual exclusion, i.e., ensuring that only
one of the competing processes is able to gain an access to the critical section.</p>
        <p>The system in question consists of n independent processes synchronised via
the shared variable X. The model contains two parameters, i.e., the lower bound
parameter δ and the upper bound parameter Δ. It is well known that no two
processes are able to simultaneously get to their critical sections iff Δ ≤ δ, thus
we have chosen to verify the reachability of φ1 = critical1 ∧ critical2. Intuitively,
this means that we aim to synthesise values of the parameters δ and Δ under
which the system behaves incorrectly, allowing two competing processes to jointly
enter their critical sections.</p>
        <p>idle1
trying1
idle2</p>
        <p>trying2</p>
        <p>As it turns out, for each test with the positive outcome, the set of the returned
valuations consists of the pairs (δ = i, Δ = i + 1) for i from 0 to the limit No
= 10 given in the experiment’s plan. Clearly, from the point of view of an analyst
and in light of Lemma 3 this result indeed justifies an educated guess that the
mutual exclusion property is violated if Δ &gt; δ.
n k SAT? param vals max. form. form. bdg. total CVC3 peak CVC3</p>
        <p>(Y/N) found size (MB) time (sec.) time (sec.) mem. (MB)
bility, 4–th column: the number of the synthesised parameter valuations, 5–th
column: the maximal (if k is an interval) size of the generated SMT-lib v2
formula, 6–th column: the time spent on incrementally building the formulae, 7–th
column: the total time spent on verifying the formulae, 8–th column: the maximal
memory used by CVC3 solver.</p>
        <p>ProdReset
x1 ≥ a
x1 := 0
ConsReset
x4 ≥ a
x4 := 0</p>
        <p>Producer
prodReady
x1 ≤ d
prodWaiting
x1 ≤ b
consReady
x4 ≤ d
consWaiting
x4 ≤ b
Consumer</p>
        <p>Feed2
x1 ≥ c
x1 := 0</p>
        <p>Feed2
x2 ≥ c
x2 := 0
Feed4
x4 ≥ c
x4 := 0
xx22 :≥=e0</p>
        <p>Node1Process2
intermediate 3
x2 ≤ f
node1Ready</p>
        <p>x2 ≤ d
The network presented in Figure 2 models the system consisting of the Producer
feeding the Consumer with data sent through a sequence of nodes with additional
processing capabilities.</p>
        <p>The model is scalable with respect to the number n of the processing nodes
and the length m of each processing node and it contains three lower (a, c, e)
and three upper (b, d, f) parameters.
10 for all k.</p>
        <p>We have decided to add one dummy clock, called xtotal, to the above system.
It is straightforward to see that such an alteration does not change the behaviour
of the model, and that xtotal can be used to measure the total time passed along
a given run. With the help of the new clock we have analysed the reachability
of φ2 = ConsW aiting ∧ P rodReady ∧ xtotal ≥ 5. Again, the limit No is set to
n m k SAT? param vals max. form. form. bdg. total CVC3 peak CVC3</p>
        <p>(Y/N) found size (MB) time (sec.) time (sec.) mem. (MB)</p>
        <p>
          Note that the generated SMT formulae are rather small in this case. This
probably reflects the power of a concise representation by means of SMT
instances rather than the size of model’s state space [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ].
eral instances of the model. This illustrates the power of approximation-based
approach, where the collected data may be used in search for general pattern.
n m k a b c d e f
n m k a b c d e f
n m k a b c d e f
2 15 18 01 01 21 126 00 01
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Conclusions</title>
      <p>We have proposed a simple translation for a direct representation of finite runs
of a parametric timed automaton in form of SMT instances. This translation
coupled with blocking clauses allowed us for an underapproximation of the set
of the parameter valuations under which the given reachability property holds
in L/U automata. To the best of our knowledge this is the first such application
of SMT solvers, and this is at the same time a proof-of-concept as well as a
practical tool for exploring the spaces of parameter valuations.</p>
      <p>In the future we plan to extend our work to the parametric verification
of properties more complex than reachability, e.g., the existential fragment of
CTL*. Additionally, we plan to investigate the possibilites of an automated
inference of more general (or even complete) constraints under which the given
property holds using partial knowledge on the space of the parameter valuations
obtained using the methods presented in this paper.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>R.</given-names>
            <surname>Alur</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Dill</surname>
          </string-name>
          .
          <article-title>A theory of timed automata</article-title>
          .
          <source>Theoretical Computer Science</source>
          ,
          <volume>126</volume>
          (
          <issue>2</issue>
          ):
          <fpage>183</fpage>
          -
          <lpage>235</lpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>R.</given-names>
            <surname>Alur</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Henzinger</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Vardi</surname>
          </string-name>
          .
          <article-title>Parametric real-time reasoning</article-title>
          .
          <source>In Proc. of the 25th Ann. Symp. on Theory of Computing (STOC'93)</source>
          , pages
          <fpage>592</fpage>
          -
          <lpage>601</lpage>
          . ACM,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>E</given-names>
            <surname>´</surname>
          </string-name>
          . Andr´e.
          <article-title>Imitator ii: A tool for solving the good parameters problem in timed automata</article-title>
          .
          <source>In Yu-Fang Chen and Ahmed Rezine</source>
          , editors,
          <source>INFINITY</source>
          , volume
          <volume>39</volume>
          <source>of EPTCS</source>
          , pages
          <fpage>91</fpage>
          -
          <lpage>99</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. E. Andr´e,
          <string-name>
            <given-names>T.</given-names>
            <surname>Chatain</surname>
          </string-name>
          , E. Encrenaz, and
          <string-name>
            <given-names>L.</given-names>
            <surname>Fribourg</surname>
          </string-name>
          .
          <article-title>An inverse method for parametric timed automata</article-title>
          .
          <source>International Journal of Foundations of Computer Science</source>
          ,
          <volume>20</volume>
          (
          <issue>5</issue>
          ):
          <fpage>819</fpage>
          -
          <lpage>836</lpage>
          ,
          <year>Oct 2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>A.</given-names>
            <surname>Annichini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Bouajjani</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Sighireanu</surname>
          </string-name>
          . TREX:
          <article-title>A tool for reachability analysis of complex systems</article-title>
          .
          <source>In Proc. of the 13th International Conference on Computer Aided Verification, CAV '01</source>
          , pages
          <fpage>368</fpage>
          -
          <lpage>372</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>C.</given-names>
            <surname>Barrett</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Stump</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Tinelli</surname>
          </string-name>
          .
          <source>The SMT-LIB Standard: Version 2.0. Technical report</source>
          , Department of Computer Science, The University of Iowa,
          <year>2010</year>
          . Available at www.
          <source>SMT-LIB.org.</source>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>A.</given-names>
            <surname>Biere</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Cimatti</surname>
          </string-name>
          , E. Clarke, and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhu</surname>
          </string-name>
          .
          <article-title>Symbolic model checking without BDDs</article-title>
          .
          <source>In Proc. of the 5th Int. Conf. on Tools and Algorithms for the Construction and Analysis of Systems (TACAS'99)</source>
          , volume
          <volume>1579</volume>
          <source>of LNCS</source>
          , pages
          <fpage>193</fpage>
          -
          <lpage>207</lpage>
          . Springer-Verlag,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>L.</given-names>
            <surname>Bozzelli</surname>
          </string-name>
          and
          <string-name>
            <given-names>S. La</given-names>
            <surname>Torre</surname>
          </string-name>
          .
          <article-title>Decision problems for lower/upper bound parametric timed automata</article-title>
          .
          <source>Formal Methods in System Design</source>
          ,
          <volume>35</volume>
          (
          <issue>2</issue>
          ):
          <fpage>121</fpage>
          -
          <lpage>151</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>H.</given-names>
            <surname>Dierks</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Tapken</surname>
          </string-name>
          .
          <article-title>Moby/DC - A tool for model-checking parametric realtime specifications</article-title>
          . In H. Garavel and J. Hatcliff, editors,
          <source>Tools and Algorithms for the Construction and Analysis of Systems (TACAS</source>
          <year>2003</year>
          ), volume
          <volume>2619</volume>
          <source>of LNCS</source>
          , pages
          <fpage>271</fpage>
          -
          <lpage>277</lpage>
          . Springer,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>L.</given-names>
            <surname>Doyen</surname>
          </string-name>
          .
          <article-title>Robust parametric reachability for timed automata</article-title>
          .
          <source>Inf</source>
          . Process. Lett.,
          <volume>102</volume>
          :
          <fpage>208</fpage>
          -
          <lpage>213</lpage>
          , May
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. G. Frehse,
          <string-name>
            <given-names>S. K.</given-names>
            <surname>Jha</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B. H.</given-names>
            <surname>Krogh</surname>
          </string-name>
          .
          <article-title>A counterexample-guided approach to parameter synthesis for linear hybrid automata</article-title>
          .
          <source>In Proc. of the 11th international workshop on Hybrid Systems: Computation and Control</source>
          ,
          <source>HSCC '08</source>
          , pages
          <fpage>187</fpage>
          -
          <lpage>200</lpage>
          , Berlin, Heidelberg,
          <year>2008</year>
          . Springer-Verlag.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>T.</given-names>
            <surname>Hune</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Romijn</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Stoelinga</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Vaandrager</surname>
          </string-name>
          .
          <article-title>Linear parametric model checking of timed automata</article-title>
          .
          <source>J. Log. Algebr. Program.</source>
          ,
          <fpage>52</fpage>
          -
          <lpage>53</lpage>
          :
          <fpage>183</fpage>
          -
          <lpage>220</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>M. Knapik</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          <string-name>
            <surname>Penczek</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Szreter</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Po</surname>
          </string-name>
          <article-title>´lrola. Bounded parametric verification for distributed time Petri nets with discrete-time semantics</article-title>
          . Fundam. Inform.,
          <volume>101</volume>
          (
          <issue>1-2</issue>
          ):
          <fpage>9</fpage>
          -
          <lpage>27</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>D.</given-names>
            <surname>Lime</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O. H.</given-names>
            <surname>Roux</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Seidner</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L. M.</given-names>
            <surname>Traonouez</surname>
          </string-name>
          .
          <article-title>Romeo: A parametric model-checker for Petri nets with stopwatches</article-title>
          .
          <source>In S. Kowalewski and A</source>
          . Philippou, editors,
          <source>TACAS</source>
          , volume
          <volume>5505</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>54</fpage>
          -
          <lpage>57</lpage>
          . Springer,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>D.</given-names>
            <surname>Peled</surname>
          </string-name>
          .
          <article-title>All from one, one for all: On model checking using representatives</article-title>
          .
          <source>In Proc. of the 5th Int. Conf. on Computer Aided Verification (CAV'93)</source>
          , volume
          <volume>697</volume>
          <source>of LNCS</source>
          , pages
          <fpage>409</fpage>
          -
          <lpage>423</lpage>
          . Springer-Verlag,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>R. F. Lutje Spelberg</surname>
            and
            <given-names>W. J.</given-names>
          </string-name>
          <string-name>
            <surname>Toetenel</surname>
          </string-name>
          .
          <article-title>Splitting trees and partition refinement in real-time model checking</article-title>
          .
          <source>In HICSS, page 278</source>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>W.</given-names>
            <surname>Penczek</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Knapik</surname>
          </string-name>
          .
          <article-title>Bounded Model Checking for Parametric Timed Automata</article-title>
          .
          <source>T. Petri Nets and Other Models of Concurrency</source>
          ,
          <volume>5</volume>
          , to appear,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>