<!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>Simulative Model Checking of Steady State and Time-Unbounded Temporal Operators</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Christian Rohr</string-name>
          <email>rohrch@tu-cottbus.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Brandenburg University of Technology Cottbus, Chair of Data Structures and Software Dependability</institution>
          ,
          <addr-line>Postbox 10 13 44, D-03013 Cottbus</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2012</year>
      </pub-date>
      <abstract>
        <p>When working with large stochastic models simulation remains the only possible analysis technique. Therefore, simulative model checking is the way to go. While finite time horizon algorithms are well known for probabilistic linear-time temporal logic, we provide an infinite time horizon procedure as well as steady state computation, based on exact stochastic simulation algorithms. We demonstrate the approach on models of the RKIP inhibited ERK pathway and angiogenetic process.</p>
      </abstract>
      <kwd-group>
        <kwd>simulative model checking</kwd>
        <kwd>stochastic Petri net</kwd>
        <kwd>steady state</kwd>
        <kwd>unbounded temporal operator</kwd>
        <kwd>probabilistic linear-time temporal logic</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Stochastic modelling of biochemical reaction networks is getting more and more
popular. This also increases the demand for efficient analysis of such models.
While small and medium-sized models can be analysed numerically, we focus on
large or unbounded models. Therefore we use stochastic simulation to overcome
the problem of state space explosion.</p>
      <p>
        We use stochastic Petri nets (SPN ) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] as modelling paradigm, which gives
us a complete formalised and standardised framework, as well as an intuitive way
of modelling concurrent behaviour. A number of biochemical species N involved
in the biological model are represented as places p1 . . . pN , and the reactions
between them refer to the transitions t1 . . . tM . The kinetics of a reaction is
defined as possibly state-dependent rate function ht assigned to the transition.
Places and transitions are connected via directed arcs. Each arc contains the
stoichiometric value of the associated species. The semantics of such an SPN is
defined as continuous-time Markov chain (CTMC).
      </p>
      <p>
        The dynamic behaviour of stochastic models can be analysed in different
ways. We showed in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] that numerical analysis is currently efficient up to 1× 109
states. Beyond this limit, stochastic simulation remains the only possible
technique. Stochastic simulation may be performed with approximate or exact
methods. An approximate method is τ -leaping [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], which generates an approximate
realisation of the stochastic process. Its advantage is the ability to jump over
several transitions and thus be more efficient in trace generation than exact
methods. But for simulative model checking, we need to know the exact occurrences
of each transition. Therefore, only exact simulation algorithms are suitable for
the purpose of simulative model checking, like Gillespie’s direct method [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] or
the next reaction method [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] by Gibson &amp; Bruck.
      </p>
      <p>In this paper, we extend the finite time horizon model checking algorithm of
probabilistic linear-time temporal logic to an infinite time horizon and provide
an algorithm to compute simulatively steady state formulas.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Stochastic Simulation</title>
      <p>In biochemical reaction networks (with n molecular species and k reactions),
the molecular reactions between the species are random processes, because it is
impossible to predict the time at which the next reaction will occur. Stochastic
modelling has therefore become an important tool to fully understand the system
behaviour of such reaction networks.</p>
      <p>The stochasticity can be described in a time-dependent manner by the
Chemical Master Equation. In probability theory, this identifies the evolution as a
continuous-time Markov chain (CTMC), with the integrated master equation
obeying a Chapman-Kolmogorov equation. When working with biological
systems, it may be infeasible to set up the CTMC as the state space X ⊆ Nn can
be very large or even infinite. The largeness of CTMCs makes simulation an
important analysis technique: instead of computing the CTMC directly,
simulation aims at imitating the CTMC by generating different paths of the CTMC,
i.e., a sequence of discrete random variable Xl(t). The discrete random variable
Xl(t) describes the number of molecules of species Sl, l ∈ { 1, . . . , n} present
at time t. The system state at time t is thus a discrete n-dimensional random
vector X(t) = (X1(t), . . . , Xn(t)) ∈ X . Given the system is in state X(t), the
probability that a transition/reaction of type j ∈ { 1, . . . , k} will occur in the
infinitesimal time interval [ t + τ, t + τ + dτ ) is given by:</p>
      <p>P (t + τ, j | X(t))dτ = aj (X(t)) exp (− a0(X(t))τ ) dτ
For each reaction j, the rate is given by the propensity function aj , where aj (x)dτ
is the conditional probability that a reaction of type j occurs in the infinitesimal
time interval [t, t + dτ ), given state X(t) at time t. The sum of the propensities
of all possible transitions in the current state X(t) is given by a0(X). Thus, the
different (enabled) transitions in the net compete in a race condition and the
fastest one determines next state and the time elapsed. In the new state, the
race condition is started anew.</p>
      <p>
        To analyse or understand the behaviour of a biochemical reaction network,
many trajectories need to be simulated for a good approximation of the
underlying CTMC. Although in principle known a long time before, Gillespie was the
first who developed a supporting theory for a stochastic simulation of chemical
kinetics [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. He presented the Stochastic Simulation Algorithm (SSA; often also
called Gillespie’s algorithm), which is a Monte Carlo procedure for numerically
generating CTMC. Since Gillespie’s seminal work, several variants and different
implementations and optimisations of the SSA have been proposed. Basically,
each variant performs the following steps:
1. Initialise time t = t0 and the system’s state X at time t0.
2. Repeat:
(a) determine time increment τ ∈ R
(b) select next reaction type j depending on the current state X(t)
(c) perform state transition imposed by reaction of type j and update state
vector X
(d) update time t = t + τ .
      </p>
      <p>until simulation time is reached.</p>
      <p>The SSA simulates every state transition event, one at a time, and updates the
system after each state transition. To determine the time increment τ and to
select the next reaction requires to generate random numbers. Different
realisations of the CTMC are obtained by different initialisations of the random
number generator. Since reliable statements about the system behaviour (variance)
can only be made based on many simulations, the usefulness of the simulation
approach depends on the simulation time for each individual trajectory.
Accelerating simulations is therefore desirable without changing the basic ideas of the
algorithm.</p>
      <p>
        Many variants of the SSA aim at reducing the computational cost of selecting
the next reaction that will occur. Cao et al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] keep the reactions with larger
propensities at the beginning of the list. The position of each reaction in the list
is thereby determined after some pre-simulations. McCollum et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] maintain
a loosely sorted order of the reactions as the simulation proceeds. Instead of
arranging the reactions in a linear list, Gibson &amp; Bruck [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] propose to use
advanced data structures (trees) to speed up the search for the next reaction that
will occur. However, the time to manage the advanced data structures partially
compensates the speed-up due to faster search [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>
        Further performance increases of the SSA are obtained if only those
propensities are recalculated that actually have changed after a state transition, whereas
all others are reused (e.g., [
        <xref ref-type="bibr" rid="ref5 ref8">8, 5</xref>
        ]).
      </p>
      <p>
        An additional speed-up to the SSA is provided by the approximate method
τ -leaping [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], in which time t is advanced by a preselected amount τ and the
numbers of firings of the individual transitions during the time interval [ t, t + τ )
are approximated by Poisson random numbers. Thus, instead of (sequentially)
tracing every single state transition, several reactions are executed in parallel.
With τ -leaping, it is assumed that all propensity functions are approximately
constant in [t, t + τ ), which is referred to as the leap condition. To ensure this,
it is important to select τ sufficiently small, but also large enough to accelerate
simulation.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Model Checking</title>
      <p>
        Stochastic simulation produces traces through the state space of the model. For
the specification of temporal formulas we define the probabilistic extension of
the Linear-time Temporal Logic (LTL) [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] with numerical constraints [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], which
is called Probabilistic Linear-time Temporal Logic with numerical constraints
(PLTLc) [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. The grammar of all PLTLc formulas is given in Definition 1.
Definition 1. Probabilistic Linear-time Temporal Logic with Constraints
ψ := P./ x [φ ] | P =? [φ ]
      </p>
      <p>
        ./ ∈ { &lt;, ≤ , ≥ , &gt;} , x ∈ [
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ]
φ := X I φ | F I φ | G I φ | φ U I φ | ¬ φ | φ ∧ φ | φ ∨ φ | σ
I := [x1, x2] = x ∈ R+| x1 ≤ x ≤ x2 , omit I = [0, ∞ )
σ := ¬ σ | σ ∧ σ | σ ∨ σ | value E value | true | f alse
      </p>
      <p>E ∈ { &lt;, ≤ , ≥ , &gt;, =, 6=}
value := value ∼ value | P lace | $V ariable | Int | Real | f unction
∼ ∈ {</p>
      <p>+, − , ∗ , /}
The probability operator P has two different modes. If it is used with the question
mark as P=? [φ ] then it will return the probability P r(φ ) that φ is true. In the
second case, P./ x [φ ] returns true, if P r(φ ) ./ x is fulfilled, false otherwise. In
simulative model checking we compute a confidence interval ( c.i.); in consequence
of that, we have to introduce an additional return value in the second case. For
simplicity, we assume the c.i. to have a lower and an upper bound Bl, Bu ∈ R≥ 0,
such that the probability P r(φ ), which is not known in our case, is Bl ≤ P r(φ ) ≤
Bu.</p>
      <p> true

f alse</p>
      <p>if x ./ [Bl, Bu] ∧ x 6∈ [Bl, Bu]
P./ x [φ ] =</p>
      <p>if x 6./ [Bl, Bu] ∧ x 6∈ [Bl, Bu]
 unknown if x ∈ [Bl, Bu]
The operators ¬ , ∧ , ∨ are the standard boolean operators not, and, or. Whereas
X , F , G , U denote the temporal operators NEXT, FINALLY, GLOBALLY
and UNTIL. The NEXT operator (X I φ ) refers to true in the next state and
within the time interval I. The UNTIL operator (φ 1 U I φ 2) indicates that a
state where φ 2 holds is eventually reached within the time interval I, while φ 1
continuously holds. The FINALLY operator (F I φ ) means that at some point
within the time interval I a state where φ holds is eventually reached. Whereas
the GLOBALLY operator (G I φ ) refers to the condition φ continuously holding
true within the time interval I. The latter two are syntactic sugar, as they rely
on the equivalences F φ ≡ true U φ and G φ ≡ ¬ F ¬ φ .</p>
      <p>A trace T fulfils a linear-time temporal logic formula φ if the following | =
relations hold:</p>
      <p>T | = X φ ⇒ ⇐
T | = F φ ⇒ ⇐ ∃</p>
      <p>T | = G φ ⇒ ⇐ ∀
T | = φ 1 U φ 2 ⇒ ⇐ ∃</p>
      <p>T | = ¬ φ ⇒ ⇐
T | = φ 1 ∧ φ 2 ⇒ ⇐
T | = φ 1 ∨ φ 2 ⇒ ⇐
T | = v1 E v2 ⇒ ⇐</p>
      <p>T (1) | = φ
i ∈ N : T (i) | = φ
i ∈ N : T (i) | = φ
T 6| = φ
T | = φ 1 ∧ T | = φ 2
T | = φ 1 ∨ T | = φ 2
evalState(v1, T (i)) E evalState(v2, T (i))</p>
      <p>i ∈ N : T (i) | = φ 2 and ∀ j ∈ N ∧ j &lt; i : T (j) | = φ 1
The function evalState(v, T (i)) assigns a numerical value to the expression v by
looking up the tokens that each place x ∈ P (v) has in state T (i) of trace T .</p>
      <p>
        In the next sections we present an algorithm to compute steady state
formulas, and afterwards an algorithm to compute time-unbounded temporal operators
in a simulative manner. Time-bounded algorithms for simulative model checking
are well known, i.e., [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
3.1
      </p>
      <sec id="sec-3-1">
        <title>Steady State Computation</title>
        <p>In steady state simulation, the measures of interest are defined as limits, as the
length of the simulation goes to infinity. There is no natural event to terminate
the simulation, so the length of the simulation is made large enough to get “good”
estimates of the quantities of interest. Steady-state simulation generally poses
two problems:
1. The existence of a transient phase may cause the estimate to be biased.
2. The simulation runs are long, and usually one cannot afford to carry out
many independent simulations.</p>
        <p>These are several methods that allow to cope with these problems to some extent.
Among them are: the batch means method, the method of independent replicas,
and the regeneration method. Each of these methods has its advantages and
disadvantages. In our implementation we use a sample batch means algorithm
to compute the steady state.</p>
        <p>
          We choose Skart [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], which is an automated sequential procedure for
on-thefly steady state simulation output analysis, because it is specifically designed to
handle observation-based statistics and usually requires a smaller initial sample
size compared with other well-known simulation analysis procedures [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. This
algorithm partitions a long simulation run into batches, computes an average
statistics for each batch and constructs an interval estimate using the batch
means. Based on this interval estimate Skart decides whether a steady state is
reached or more samples were needed. A detailed description of the algorithm is
given in [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ].
        </p>
        <p>We extend PLTLc with the steady state operator S. Definition 2 states the
syntax of it. The return values are quite the same as for the probability operator
P. Inside of S are only state formulas allowed, i.e., no temporal operators.
Definition 2. Extension of PLTLc with steady state operator S.
ψ := P./ x [φ ] | P =? [φ ] | S ./ x [σ ] | S =? [σ ]</p>
        <p>
          ./ ∈ { &lt;, ≤ , ≥ , &gt;} , x ∈ [
          <xref ref-type="bibr" rid="ref1">0, 1</xref>
          ]
Steady-state formulas are computed with Algorithm 1. At first the simulation
trace is created until the steady state is reached (line 4–8). To get an unbiased
result, we cut off the first n states, which bias the steady state (line 9). The
steady state probability is now the ratio To/Ts of the occupation time To of the
fulfilling states and the simulation time Ts (line 11–19). But this gives correct
results only for those Petri nets, where the reachability graph consists of only
one strongly connected component. The complexity of this decision is the same
as for constructing the reachability graph. To solve this problem, one has to
make several steady state computations and average the values. In that way
the individual steady state estimates are weighted according to the strongly
connected components.
        </p>
        <p>Algorithm 1 Steady state computation for one simulation run
. state si, sojourn time ti in si
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Verification of Time-Unbounded Until</title>
        <p>In Algorithm 2 we present the algorithm for checking time-unbounded until
formulas. It is nearly the same as for time-bounded formulas except that one
has to stop the simulation trace at some time point. The decision of doing that
is the crucial part of the algorithm. We assume that reaching the steady state is
a reasonable stopping criteria (line 38). A system in a steady state has numerous
properties that are unchanging in time. This implies that for any property p of
the system, the partial derivative with respect to time is zero:
∂p</p>
        <p>= 0
∂t
If a system is in steady state, then the recently observed behaviour of the system
will continue into the future. In stochastic systems, the probabilities that various
states will be repeated will remain constant.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>MARCIE: An Implementation</title>
      <p>
        MARCIE [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] is a tool for analysing generalised stochastic Petri nets (GSPN ),
supporting qualitative and quantitative analyses including model checking
capabilities. Particular features are symbolic state space analysis including efficient
saturation-based state space generation, evaluation of standard Petri net
properties as well as Computational Tree Logic model checking. Further it offers
symbolic Continuous Stochastic Logic model checking and permits to compute
expectations for rewards which can be added to the core GSPN . Most of
MARCIE’s features are realised on top of an Interval Decision Diagram (IDD)
implementation [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. IDDs are used to efficiently encode interval logic functions
representing marking sets of bounded Petri nets. Thus, MARCIE falls into the
category of symbolic analysis tools. However, it additionally comprises
approximative and simulative engines, which work explicitly, to support also stochastic
analysis of very large and unbounded nets. It includes two exact simulation
algorithms, firstly Gillespie’s direct method [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], and secondly the next reaction
method by Gibson &amp; Bruck [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>Parallelising the simulation is a good way to speed-up the computation. We
use the Message Passing Interface (MPI) to develop a portable and scalable
simulation tool for large-scale models. The desired number of simulations runs
is equally distributed to the worker processes. Therefore the run-time decreases
with the number of workers.</p>
      <p>
        MARCIE is completely written in C++, and makes use of the libraries GMP,
pthreads, flex/bison and boost. It comprises about 45,000 lines of source code.
MARCIE is available for non-commercial use; we provide statically linked
binaries for Linux and Mac OS X. The tool, the manual and a benchmark suite can
be found on our website http://www-dssz.informatik.tu-cottbus.de/marcie.html.
MARCIE itself comes with a textual user interface. Options and input files can
also be specified by a generic Graphical User Interface (GUI), written in Java,
which can be easily configured by means of a XML description. The GUI is part
of our Petri net analyser Charlie [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
Algorithm 2 Unbounded Until for one simulation run
5
      </p>
    </sec>
    <sec id="sec-5">
      <title>Case Studies</title>
      <p>
        In this section we demonstrate our approach on the models of the RKIP
inhibited ERK pathway and angiogenetic process. All Petri nets were modelled with
Snoopy [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] and analysed with MARCIE [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. The experiments were carried out
on a machine with 4x AMD Opteron™ 6276 with 2.3 GHz and 256GB RAM
running CentOS 6.
5.1
      </p>
      <sec id="sec-5-1">
        <title>RKIP inhibited ERK pathway</title>
        <p>
          This model shows the influence of the Raf Kinase Inhibitor Protein (RKIP) on
the Extracellular signal Regulated Kinase (ERK) signalling pathway. A model of
non-linear ordinary differential equations was originally published in [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]. Later
on, it was discussed as qualitative and continuous Petri nets in [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ], and as three
related Petri net models in [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]. The stochastic Petri net SPN ERK comprises
11 places and 11 transitions connected by 34 arcs and is shown in Fig. 1. All
Raf1Star
        </p>
        <p>RKIP
ERKpp
r1</p>
        <p>r2</p>
        <p>Raf1Star_RKIP
r8
r3
r4
r11
r10
RP
MEKpp_ERK</p>
        <p>Raf1Star_RKIP_ERKpp</p>
        <p>RKIPp_RP
r6
r7
r5
r9
MEKpp</p>
        <p>ERK</p>
        <p>RKIPp
Raf1Star + RKIP r1↔,r2 Raf1Star RKIP</p>
        <p>r3,r4 Raf1Star RKIP ERKpp
Raf1Star RKIP + ERKpp ↔</p>
        <p>Raf1Star RKIP ERKpp →r5 Raf1Star + ERK + RKIPp</p>
        <p>
          ERKR+KIMPEpK+ppRPr6↔r,r9↔7,rM10ERKKpIpPEpRRKP →rr→811ERRKKIpPp++RMPEKpp
transition rate functions use mass action kinetics with the original parameter
values from [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]. The model is scalable by the initial amount of tokens in the
places RKIP, MEKpp, ERK and RP. The more initial tokens on each of these
places, the bigger the state space of the Petri net. Table 1 shows the number of
reachable states for different initial markings.
        </p>
        <p>In any case such a state was reached, therefore the probability of the formula is
1, see Table 2.</p>
        <p>
          This is the same property as in [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ], so we can verify the correctness of the results.
The results in Table 3 show first that the resulting confidence interval covers the
probability computed by the Jacobi method in [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. Second the algorithm scales
nearly linear with the number of worker processes. A very interesting behaviour
regards the relationship between the state space size and the total run-time of
the computation. One could expect an increase of the run-time, but it stays the
same. This is a result of the level semantics described in [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ].
Angiogenesis is a complex phenomenon that goes from a molecular level to
macroscopic events. This Petri net models a part of the signal transduction
pathway involved in the angiogenetic process and was originally published in
[
          <xref ref-type="bibr" rid="ref21">21</xref>
          ]. The stochastic Petri net SPN ANG comprises 39 places and 64 transitions
connected by 185 arcs.
        </p>
        <p>The model is scalable by the initial amount of tokens in the places Akt, DAG,
Gab1, KdStar, Pip2, P3k, Pg and Pten. The more initial tokens on each of these
places, the bigger the state space of the Petri net. The number of reachable
states for different initial markings are shown in Table 4. As in the previous case
study we check for reachability first. Now we want to know the probability of
eventually reaching a state where no tokens reside on place Akt:</p>
        <p>P=? [F [Akt = 0]] .</p>
        <p>In contrast to SPN ERK , Table 5 shows that the probability ranges from about
0.44 (N = 1) to 0.9 (N = 6). That means a state where no tokens lay on place
Akt is not always reached, because the CTMC consists of several strongly
connected components and in some of them such a state does not exist. Secondly
we compute the steady state probability of being in a state that has no tokens
on place Akt:</p>
        <p>S=? [Akt = 0] .</p>
        <p>
          The results in Table 6 show that the steady state probability is nearly the same
as in the reachability case as the overall steady state probability consists of
two parts, first the probability of reaching a strongly connected component and
second the steady state probability inside these component. The result means the
steady state probability inside a strongly connected component, where a state
exists with Akt = 0, is almost 1. That’s why the overall steady state probability
almost coincides with the reachability probability.
To compute the transient probability of the formula P=?[φ 1 U φ 2] in state s
means to compute the probability distribution starting in s and making states
absorbing, which satisfy ¬ φ 1 ∨ φ 2. The resulting linear system of equations can
be solved numerically by iterative methods like Gauss-Seidel or Jacobi. There
are several tools available that support such solvers, among them MARCIE [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ].
The drawback of numerical solvers is their restriction to bounded CTMCs and
the complexity is typically O (n) and in worst case O n2 . On the other hand
they compute an “exact” result. The same methods were used to compute the
steady state distribution of bounded CTMCs for computing the steady state
probability of formulas like S=?[φ ].
        </p>
        <p>
          Statistical model checking [
          <xref ref-type="bibr" rid="ref22 ref23 ref24">22–24</xref>
          ] is a quite similar approach to simulative
model checking, but differs in some details. Hypothesis testing, i.e., sequential
probability ratio test (SPRT), has good performance compared to the
computation of point estimates, but it can only check formulas like P./ x . In the end, the
user gets a result of true or false and has no idea of the scale of the estimated
probability.
        </p>
        <p>
          The Monte Carlo Model Checker MC2 [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] computes a point estimate of a
Probabilistic LTL logic (with numerical constraints) formula to hold for a model.
MC2 does not include any simulation engine but works offline by taking a set of
sampled trajectories generated by any simulation or ODE solver software.
        </p>
        <p>
          Last not least, a combination of simulation and reachability analysis were
used to compute time-unbounded formulas in [
          <xref ref-type="bibr" rid="ref22 ref25">22, 25</xref>
          ]. But this approach suffers
from the same restrictions of bounded state spaces as the numerical methods.
7
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Conclusions</title>
      <p>In this paper we presented an infinite time horizon model checking algorithm plus
steady state operator for probabilistic linear-time temporal logic. We verified the
results of the simulative approach against the numerical solutions of the Jacobi
and Gauss-Seidel methods. We proved the efficiency of our algorithm and the
scalability by using several worker processes through MPI.</p>
      <p>As our algorithm is based on stochastic simulation, its run-time does not
directly depend on the size of the state space, as for the numerical methods, but
on the rate functions of the transitions and the structural size of the Petri net.
That is the greater the sum of the transitions rates, the smaller the time steps
are, and the more simulation steps need to be done to reach a certain time point.</p>
      <p>The main drawback of simulation-based methods remains. The achieved
accuracy depends on the number of simulation runs and grows exponentially with
the expected accuracy. Therefore methods of choice for bounded and
mediumsized models are numerical, otherwise simulation plays out its strength.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Marsan</surname>
            ,
            <given-names>M.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Balbo</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Conte</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Donatelli</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Franceschinis</surname>
          </string-name>
          , G.:
          <article-title>Modelling with Generalized Stochastic Petri Nets</article-title>
          . Wiley Series in Parallel Computing, John Wiley and Sons (
          <year>1995</year>
          )
          <article-title>2nd Edition</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Heiner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rohr</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schwarick</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Streif</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>A comparative study of stochastic analysis techniques</article-title>
          .
          <source>In: Proc. CMSB</source>
          <year>2010</year>
          , ACM (
          <year>2010</year>
          )
          <fpage>96</fpage>
          -
          <lpage>106</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Gillespie</surname>
          </string-name>
          , D.T.:
          <article-title>Approximate accelerated stochastic simulation of chemically reacting systems</article-title>
          .
          <source>The Journal of Chemical Physics</source>
          <volume>115</volume>
          (
          <issue>4</issue>
          ) (
          <year>2001</year>
          )
          <fpage>1716</fpage>
          -
          <lpage>1733</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Gillespie</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Exact stochastic simulation of coupled chemical reactions</article-title>
          .
          <source>The Journal of Physical Chemistry</source>
          <volume>81</volume>
          (
          <issue>25</issue>
          ) (
          <year>1977</year>
          )
          <fpage>2340</fpage>
          -
          <lpage>2361</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Gibson</surname>
            ,
            <given-names>M.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bruck</surname>
          </string-name>
          , J.:
          <article-title>Efficient exact stochastic simulation of chemical systems with many species and many channels</article-title>
          .
          <source>The Journal of Physical Chemistry A</source>
          <volume>104</volume>
          (
          <year>2000</year>
          )
          <fpage>1876</fpage>
          -
          <lpage>1889</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Cao</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gillespie</surname>
            ,
            <given-names>D.T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Petzold</surname>
            ,
            <given-names>L.R.</given-names>
          </string-name>
          :
          <article-title>Adaptive explicit-implicit tau-leaping method with automatic tau selection</article-title>
          .
          <source>J Chem Phys</source>
          <volume>126</volume>
          (
          <issue>22</issue>
          ) (
          <year>Jun 2007</year>
          )
          <fpage>224101</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>McCollum</surname>
            ,
            <given-names>J.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peterson</surname>
            ,
            <given-names>G.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cox</surname>
            ,
            <given-names>C.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Simpson</surname>
            ,
            <given-names>M.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Samatova</surname>
            ,
            <given-names>N.F.</given-names>
          </string-name>
          :
          <article-title>The sorting direct method for stochastic simulation of biochemical systems with varying reaction execution behavior</article-title>
          .
          <source>Comput. Biol. Chem</source>
          .
          <volume>30</volume>
          (
          <issue>1</issue>
          ) (
          <year>2006</year>
          )
          <fpage>39</fpage>
          -
          <lpage>49</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Cao</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Petzold</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Efficient formulation of the stochastic simulation algorithm for chemically reacting systems</article-title>
          .
          <source>J Chem Phys</source>
          <volume>121</volume>
          (
          <issue>9</issue>
          ) (
          <year>Sep 2004</year>
          )
          <fpage>4059</fpage>
          -
          <lpage>4067</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Pnueli</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>The temporal logic of programs</article-title>
          .
          <source>In: Proceedings of the 18th IEEE Symposium on the Foundations of Computer Science</source>
          , IEEE Computer Society Press (
          <year>1977</year>
          )
          <fpage>46</fpage>
          -
          <lpage>57</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Fages</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rizk</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>On the analysis of numerical data time series in temporal logic</article-title>
          .
          <source>In: Proc. CMSB</source>
          <year>2007</year>
          , LNCS/LNBI 4695, Springer (
          <year>2007</year>
          )
          <fpage>48</fpage>
          -
          <lpage>63</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Donaldson</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gilbert</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>A Monte Carlo model checker for probabilistic LTL with numerical constraints</article-title>
          .
          <source>Technical report</source>
          , University of Glasgow, Dep. of CS (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Tafazzoli</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , Wilson,
          <string-name>
            <given-names>J.R.</given-names>
            ,
            <surname>Lada</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.K.</given-names>
            ,
            <surname>Steiger</surname>
          </string-name>
          ,
          <string-name>
            <surname>N.M.:</surname>
          </string-name>
          <article-title>Skart: A skewness- and autoregression-adjusted batch-means procedure for simulation analysis</article-title>
          .
          <source>In: Winter Simulation Conference</source>
          . (
          <year>2008</year>
          )
          <fpage>387</fpage>
          -
          <lpage>395</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Schwarick</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rohr</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heiner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Marcie - model checking and reachability analysis done efficiently</article-title>
          .
          <source>In: Proc. 8th International Conference on Quantitative Evaluation of SysTems (QEST</source>
          <year>2011</year>
          ), IEEE CS Press (
          <year>September 2011</year>
          )
          <fpage>91</fpage>
          -
          <lpage>100</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Tovchigrechko</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Model Checking Using Interval Decision Diagrams</article-title>
          .
          <source>PhD thesis</source>
          , BTU Cottbus, Dep. of CS (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Franzke</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>A concept for redesigning Charlie</article-title>
          .
          <source>Technical report, BTU Cottbus, Dep. of CS</source>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Rohr</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marwan</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heiner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Snoopy-a unifying Petri net framework to investigate biomolecular networks</article-title>
          .
          <source>Bioinformatics</source>
          <volume>26</volume>
          (
          <issue>7</issue>
          ) (
          <year>2010</year>
          )
          <fpage>974</fpage>
          -
          <lpage>975</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Cho</surname>
            ,
            <given-names>K.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shin</surname>
            ,
            <given-names>S.Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kim</surname>
            ,
            <given-names>H.W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wolkenhauer</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McFerran</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kolch</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>Mathematical modeling of the influence of RKIP on the ERK signaling pathway</article-title>
          .
          <source>In: Proc. CMSB</source>
          <year>2003</year>
          , LNCS 2602, Springer (
          <year>2003</year>
          )
          <fpage>127</fpage>
          -
          <lpage>141</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Gilbert</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heiner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>From Petri nets to differential equations - an integrative approach for biochemical network analysis</article-title>
          .
          <source>In: Proc. ICATPN</source>
          <year>2006</year>
          , LNCS 4024, Springer (
          <year>2006</year>
          )
          <fpage>181</fpage>
          -
          <lpage>200</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Heiner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Donaldson</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gilbert</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <article-title>In: Petri Nets for Systems Biology</article-title>
          , in Iyengar, M.S. (ed.),
          <source>Symbolic Systems Biology: Theory and Methods</source>
          . Jones and Bartlett Publishers, Inc. (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Calder</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Duguid</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gilmore</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hillston</surname>
          </string-name>
          , J.:
          <article-title>Stronger computational modelling of signalling pathways using both continuous and discrete-state methods</article-title>
          .
          <source>In: Proc. CMSB</source>
          <year>2006</year>
          , LNBI 4210, Springer (
          <year>2006</year>
          )
          <fpage>63</fpage>
          -
          <lpage>78</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Napione</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Manini</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cordero</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horvath</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Picco</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pierro</surname>
            ,
            <given-names>M.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pavan</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sereno</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Veglio</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bussolino</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Balbo</surname>
          </string-name>
          , G.:
          <article-title>On the Use of Stochastic Petri Nets in the Analysis of Signal Transduction Pathways for Angiogenesis Process</article-title>
          .
          <source>In: Proc. CMSB</source>
          <year>2009</year>
          , LNCS/LNBI 5688, Springer (
          <year>2009</year>
          )
          <fpage>281</fpage>
          -
          <lpage>295</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Younes</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Clarke</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zuliani</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Statistical verification of probabilistic properties with unbounded until</article-title>
          .
          <source>In: Formal Methods: Foundations and Applications</source>
          . Volume
          <volume>6527</volume>
          of Lecture Notes in Computer Science. Springer (
          <year>2011</year>
          )
          <fpage>144</fpage>
          -
          <lpage>160</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Basu</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ghosh</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>He</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Approximate model checking of PCTL involving unbounded path properties</article-title>
          . In: ICFEM. (
          <year>2009</year>
          )
          <fpage>326</fpage>
          -
          <lpage>346</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Ballarini</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Forlin</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mazza</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Prandi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Efficient parallel statistical model checking of biochemical networks</article-title>
          .
          <source>In: Proc. PDMC</source>
          . (
          <year>2009</year>
          )
          <fpage>47</fpage>
          -
          <lpage>61</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Zapreev</surname>
            ,
            <given-names>I.S.:</given-names>
          </string-name>
          <article-title>Model checking Markov chains : techniques and tools</article-title>
          .
          <source>PhD thesis</source>
          , University of Twente,
          <source>Enschede (March</source>
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>