Skip to main content
Log in

Analysing oscillatory trends of discrete-state stochastic processes through HASL statistical model checking

  • SMC
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

The application of formal methods to the analysis of stochastic oscillators has been at the focus of several research works in recent times. In this paper, we provide insights on the application of an expressive temporal logic formalism, namely the hybrid automata stochastic logic (HASL), to that issue. We show how one can take advantage of the expressive power of the HASL logic to define and assess relevant characteristics of (stochastic) oscillators.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

Notes

  1. As opposed to numerical stochastic model checking which requires the complete construction of a model’s state-space to assess the exact value of the target measure.

  2. Hence, in essence, a DESP corresponds to a generalised semi-Markov processes [2, 14].

  3. GSPN with timed transitions associated to generic probability distributions, that is, not necessarily Negative Exponential as with the standard GSPN definition [1].

  4. Notice that because of the “initial-nondeterminism” of LHA there can be at most one initial state for the product process.

  5. Notice that because of the determinism constraints of the LHA edges (conditions c2 and c3) at most only one autonomous or synchronised edge can ever be enabled in any location of the LHA.

  6. Otherwise PDF/CDF measures can be encoded explicitly in an LHA but such encoding would usually result in a rather complex LHA.

  7. Cosmos is an acronym of the French sentence “Concept et Outils Statistiques pour le MOdèles Stochastiques” whose English translation would sound like: “Tools and Concepts for Statistical analysis of stochastic models”.

  8. Note that the duration of the \(k\)th period of a trace is, in turn, dependent on the random variables \(x_{j \downarrow }\), \(x_{j \uparrow }\) corresponding to the entering of the \(low\), \(high\) regions.

  9. Although the LHA in Fig. 4 is designed so that periods detection starts from \(low\) it can be easily adapted so that the identification starts from any location.

  10. with a slight abuse of notation we refer to \(Lmin[]\) and \(Lmax[]\) as arrays whereas in reality within COSMOS/HASL they correspond to a set of variables \(Lmin_i\), \(Lmax_j\), each of which is associated to a given level of the observed population, thus \(Lmin_1\) counts the frequency of observed minimum at value 1, \(Lmin_2\) the observed minima at value 2 and so on. The number of required \(Lmin_i\), \(Lmax_j\) variables, which is potentially infinite, can be actually bounded without loss of precision to a sufficiently large value \(Lmin_m\) (resp. \(Lmax_m\)) which must be established manually beforehand, for example by observing few previously generated traces.

References

  1. Ajmone Marsan, M., Balbo, G., Conte, G., Donatelli, S., Franceschinis, G.: Modelling with Generalized Stochastic Petri Nets. Wiley, London (1995)

    MATH  Google Scholar 

  2. Alur, R., Courcoubetis, C., Dill, D.: Model-checking for probabilistic real-time systems. In: ICALP’91, LNCS 510 (1991)

  3. Andrei, O., Calder, M.: Trend-based analysis of a population model of the akap scaffold protein. Trans. Compt. Syst. Biol. 14, 1–25 (2012)

    Article  Google Scholar 

  4. Baier, C., Haverkort, B., Hermanns, H., Katoen, J.-P.: Model-checking algorithms for CTMCs. IEEE Trans. Softw. Eng. 29(6), 524–541 (2003)

  5. Ballarini, P., Djafri, H., Duflot, M., Haddad, S., Pekergin, N.: COSMOS: A statistical model checker for the hybrid automata stochastic logic. In: Proceedings of the 8th international conference on quantitative evaluation of systems (QEST’11), pp. 143–144. IEEE Computer Society Press (2011)

  6. Ballarini, P., Djafri, H., Duflot, M., Haddad, S., Pekergin, N.: HASL: an expressive language for statistical verification of stochastic models. In: Proceedings of Valuetools (2011)

  7. Ballarini, P., Guerriero, M.: Query-based verification of qualitative trends and oscillations in biochemical systems. Theor. Comput. Sci. 411(20), 2019–2036 (2010)

    Article  MathSciNet  Google Scholar 

  8. Bulychev, P.E., David, A., Larsen, K.G., Mikucionis, M., Poulsen, D.B., Legay, A., Wang, Z.: Uppaal-SMC: statistical model checking for priced timed automata. In: Proceedings 10th workshop on quantitative aspects of programming languages and systems, volume 85 of EPTCS, pp. 1–16 (2012)

  9. Chen, T., Han, T., Katoen, J.-P., Mereacre, A.: Quantitative model checking of CTMC against timed automata specifications. In: Proceedings of LICS’09 (2009)

  10. CosyVerif home page. http://www.cosyverif.org

  11. Cosmos home page. http://www.lsv.ens-cachan.fr/software/cosmos/

  12. David, A., Larsen, K.G., Legay, A., Mikucionis, M., Poulsen, D.B., Sedwards, S.: Runtime verification of biological systems. ISoLA 1, 388–404 (2012)

    Google Scholar 

  13. Donatelli, S., Haddad, S., Sproston, J.: Model checking timed and stochastic properties with \(CSL^{TA}\). IEEE Trans. Softw. Eng., 35, 224–240 (2009)

  14. Glynn, P.W.: On the role of generalized semi-Markov processes in simulation output analysis. In: Proceedings of conference winter simulation (1983)

  15. Herault, T., Lassaigne, R., Peyronnet, S.: APMC 3.0: Approximate verification of discrete and continuous time Markov chains. In: Proceedings of QEST’06 (2006)

  16. Ihekwaba, A., Sedwards, S.: Communicating oscillatory networks: frequency domain analysis. BMC Syst. Biol. 5(1), 203 (2011)

    Article  Google Scholar 

  17. Jégourel, C., Legay, A., Sedwards, S.: A platform for high performance statistical model checking-plasma. In: TACAS, Volume 7214 of Lecture Notes in Computer Science, pp. 498–503 (2012)

  18. Júlvez, J., Kwiatkowska, M., Norman, G., Parker, D.: Evaluation of sustained stochastic oscillations by means of a system of differential equations. Int. J. Comput Appl. (IJCA) 19(2), 101–111 (2012)

  19. Katoen, J.P., Zapreev, I.S.: Simulation-based CTMC model checking: an empirical evaluation. In: Proceedings of QEST’09 (2009)

  20. Knuth, D.E.: The Art of Computer Programming, Volume 2 (3rd Ed.): Seminumerical Algorithms. Addison-Wesley Longman Publishing Co., Inc, Boston (1997)

    Google Scholar 

  21. Kwiatkowska, M., Norman, G., Parker, D.: Stochastic model checking. In: Formal Methods for the Design of Computer, Communication and Software Systems: Performance Evaluation, volume 4486 of LNCS, pp. 220–270, Springer, Berlin (2007)

  22. Prism home page. http://www.prismmodelchecker.org

  23. Sen, K., Viswanathan, M., Agha, G.: VESTA: A statistical model-checker and analyzer for probabilistic systems. In: Proceedings of QEST’05 (2005)

  24. Spieler, D. : Model checking of oscillatory and noisy periodic behavior in markovian population models. Master’s thesis, Saarland University (2009)

  25. Spieler, D.: Characterizing oscillatory and noisy periodic behavior in markov population models. In: Proceedings of QEST’13 (2013)

  26. Vilar, J., Kueh, H.-Y., Barkai, N., Leibler, S.: Mechanisms of noise-resistance in genetic oscillators. Proc. Natl. Acad. Sci. USA 99(9), 5988–5992 (2002)

    Article  Google Scholar 

  27. Ymer, H.L. Younes.: A statistical model checker. In: Computer Aided Verification, pp. 429–433, Springer, Berlin (2005)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Paolo Ballarini.

Appendix

Appendix

Theorem 3

If a trace \(\sigma _A\) is noisy periodic w.r.t. amplitude levels \(L,H\!\in \!\mathbb {N}\) then it is accepted by automaton \(\mathcal{A}_{per}\) with parameters \(L\), \(H\), \(initT\!\in \!\mathbb {R^+}\) and \(N\!\in \!\mathbb {N}\)

Proof

By hypothesis \(\sigma _A\) (the projection, w.r.t an observed species \(A\), of a trace \(\sigma \) an \(n\)-dimensional DESP \(\mathcal{D}\)) is noisy periodic w.r.t. the partition of species \(A\)’s domain into regions \(low=(-\infty ,L)\), \(mid=[L,H)\) and \(high=[H,\infty )\).

The initial state of the synchronised process \(\mathcal{D}\times \mathcal{A}_{per}\) will be \((\sigma _A[0],l_0,Val_0)\) with \(Val_0\) being the initial valuation with \(Val_0(x)\!=\!0\) for all variables \(\forall x\!\in \!X\) of \(A_{per}\).

To demonstrate that \(\sigma _A\) is accepted by \(\mathcal{A}_{per}\) we need to show that starting from the initials state \((\sigma _A[0],l_0,Val_0)\) a final state of \(\mathcal{D}\times \mathcal{A}_{per}\), i.e. a state such that the current location is the accepting location end of \(\mathcal{A}_{per}\), is reached. For this we proceed by induction w.r.t. the number of subsequent sojourns in the \(low\) and \(high\) regions. In the remainder, we use the notation \((s,l,Val)\xrightarrow {*} (s^{\prime },l^{\prime }, Val^{\prime })\) to indicate that state \((s^{\prime },l^{\prime },Val^{\prime })\) of process \(\mathcal{D}\times \mathcal{A}_{per}\) is reachable from \((s,l,Val)\). We split the demonstration in parts corresponding to the traversal of \(\mathcal{A}_{per}\) locations resulting from synchronisation with trace \(\sigma _A\):

init :

Let \(l_0\!\in \!\mathbb {N}\) be the index of the first state of \(\sigma _A\) that belongs to \(low\) and that follows \(\sigma _A@initT\) (where \(initT\) is the parameter of \(\mathcal{A}_{per}\)), that is: \(l_0\!=\!min\{i\!\in \!\mathbb {N}\mid i> i_{initT}\wedge \sigma [i]\!\in \!low\}\), with \(i_{initT}\) being the index of the state \(\sigma _A\) is in at time \(initT\) (observe that since \(\sigma _A\) is assumed noisy periodic then \(min\{i\!\in \!\mathbb {N}\mid i> i_{initT}\wedge \sigma [i]\!\in \!low\}\) is guaranteed to exist). Thus because of the structure of \(\mathcal{A}_{per}\), \((\sigma _A[0],l_0,Val_0)\xrightarrow {*} (\sigma [l_0],\mathbf{low}, Val_{l_0})\), with \(Val_{l_0}(x)\!=\!0\), for \( x\!\ne \! n \) and \(Val_{l_0}(n)\!=\!-1\).

low \(\rightarrow \) mid \(\rightarrow \) high :

Since \(\sigma _A\) is noisy periodic then \(\exists m_1,h_1\!\in \!\mathbb {N}:h_1\!>\!m_1\!>\!l_0\) such that \(\sigma _A[ m_1]\!\in \!mid\), \(\sigma _A[ h_1]\!\in \!high\) hence, because of the structure of \(\mathcal{A}_{per}\), it follows that \((\sigma [l_0],\mathbf{low}, Val_{l_0})\xrightarrow {*} (\sigma [m_1],\mathbf{mid}, Val_{m_1}) \xrightarrow {*} (\sigma [h_1],\mathbf{high}, Val_{h_1})\) with \(Val_{h_1}(top)=1\), because of the update \(\{top:{=}1\}\) of the arc leading to location high.

high \(\rightarrow \) mid \(\rightarrow \) low :

similarly since \(\sigma _A\) is noisy periodic then \(\exists l_1,m_{1b}\!\in \!\mathbb {N}:l_1\!>\!m_{1b}\!>\!h_1\) such that \(\sigma _A[ m_{1b}]\!\in \!mid\), \(\sigma _A[ l_1]\!\in \!low\). hence \((\sigma [h_1],\mathbf{high}, Val_{h_1})\xrightarrow {*} (\sigma [m_{1b}],\mathbf{mid}, Val_{m_{1b}}) \xrightarrow {*} (\sigma [l_1],\mathbf{low}, Val_{l_1})\) with \(Val_{m_{1b}}(top)=1\), \(Val_{m_{1b}}(n)=-1\) hence \(Val_{l_1}(top)=0\), \(Val_{l_1}(n)=0\), \(Val_{l_1}(t)=0\), since, because of \(Val_{m_{1b}}\), location low is entered through edge mid \(\xrightarrow {E,(n\!=\! -1 \wedge top=1),\{n+\!+,top:{=}\!0,t:{=}\!0\}}\) low

induction :

since \(\sigma _A\) is noisy periodic then the \(high\), \(low\) regions are entered infinitely often, hence the [low \(\rightarrow \) mid \(\rightarrow \) high] and [high \(\rightarrow \) mid \(\rightarrow \) low] steps of the proof hold for each successive iteration. This means that if \(l_i\) is the index corresponding to the \(i\)th time that \(\sigma _A\) enters the \(low\) region after having sojourned in the \(high\) region then because of the periodicity of \(\sigma _A\) \(\exists m_{i+1},h_{i+1},m{(i+1)b}\!\in \!\mathbb {N}:l_{i+1}\!>\!m_{(i+1)b}\!>\!h_1\!>\!m_1\!>\!l_i\) such that \(\sigma _A[ m_{ib}],\sigma _A[ m_{(i+1)b}]\!\in \!mid\), \(\sigma _A[ l_i], \sigma _A[ l_{i+1}]\!\in \!low\), \(\sigma _A[ h_{(i+1)}]\!\in \!high\), hence \((\sigma [l_i],\mathbf{low}, Val_{l_i})\xrightarrow {*} (\sigma [l_{i+1}],\mathbf{low}, Val_{l_{i+1}})\), with \(Val_{l_{i+1}}(n) \!=\! Val_{l_{i}}(n) +1\).

termination, [low \(\rightarrow \) end :

] By induction we have seen that \(\forall i\!\in \!\mathbb {N}\), \((\sigma [l_i],\mathbf{low}, Val_{l_i})\xrightarrow {*} (\sigma [l_{i+1}],\mathbf{low}, Val_{l_{i+1}})\). Thus on the \((N-1)\)th iteration \((\sigma [l_{N\!-\!1}],\mathbf{low}, Val_{l_{N\!-\!1}}){\xrightarrow {*}}\) \( (\sigma [l_{N}],\mathbf{low}, Val_{l_{N}})\) with \(Val_{l_N}(n)=N\) which enables low \(\xrightarrow {\sharp ,(n\!=\! N ),\emptyset }\) end, hence \((\sigma [l_{N}],\mathbf{low}, Val_{l_{N}})\xrightarrow {*} (\sigma [l_{N}],\) \(\mathbf{end}, Val_{l_{N}})\) and \(\sigma _A\) is accepted. \(\square \)

Theorem 4

If \(\sigma _A\) is a \(\delta \)-separated (with \(\delta \in \mathbb {R}^+\)) alternating trace then it is accepted by automaton \(\mathcal{A}_{peaks}\) with parameters \(\delta \), \(initT\!\in \!\mathbb {R^+}\) and \(N\!\in \!\mathbb {N}\).

Proof

By hypothesis \(\sigma _A\) is \(\delta \)-separated alternating, which means it contains an infinity of \(\delta \)-separated local maxima interleaved with \(\delta \)-separated minima.

We recall the basic notation: if \(\sigma _A\) is alternating then

$$\begin{aligned} \sigma _A=*,m[1],*,M[1],*,m[2],*,\ldots \end{aligned}$$

where \(m[i]\) (res[. \(M[i]\)) are the local minima (resp. maxima) and \(*\) denotes an arbitrary long sequence of states. \(\sigma ^M_A\!=\! M[1],M[2],\ldots \), respectively \(\sigma ^m_A\!=\! m[1],m[2],\ldots \), is the projection of \(\sigma _A\) consisting of the local maxima, respectively minima, of \(\sigma _A\). If \(\sigma _A\) is \(\delta \)-separated alternating then:

$$\begin{aligned} \sigma _A=\sigma ^1_A, m_\delta [1],\sigma ^2_A, M_\delta [1],\ldots \end{aligned}$$

where each \(\sigma ^i_A\) (\(i\in \mathbb {N}\)) is a finite alternating sequence of non-\(\delta \)separated local minima/maxima and \(m_\delta [i]\) (resp. \(M_\delta [i]\)) are the \(\delta \)-separated local minima (resp. maxima) For \(\delta \in \mathbb {R}^+\) we denote \(\sigma ^{M_\delta }_A\!=\! M_\delta [1],M_\delta [2],\ldots \), respectively \(\sigma ^{m_\delta }_A\!=\! m_\delta [1],m_\delta [2],\ldots \), the projection of \(\sigma _A\) consisting of the \(\delta \)-separated local maxima, respectively minima, of \(\sigma _A\).

Let \((\sigma _A[0],l_0,Val_0)\) be the initial state of the process corresponding to the synchronisation of \(\sigma _A\) with \(\mathcal{A}_{peaks}\), with \(Val_0\) being the initial valuation with \(Val_0(x)\!=\!0\) for all variables \(\forall x\!\in \!X\) of \(A_{peaks}\). We need to show that a final state \((\sigma _A[n],\mathbf{end},Val_n)\) is reached when \(\sigma _A\) is synchronised with \(A_{peaks}\). For this we proceed by induction w.r.t. the number of subsequent \(\delta \)-separated max and min encountered during the synchronisation of \(\delta _A\). We split the demonstration in parts corresponding to the traversal of \(\mathcal{A}_{peaks}\) locations resulting from synchronisation with trace \(\sigma _A\).

\({\varvec{l}}_{0}\rightarrow \) start :

Because of the structure of \(\mathcal{A}_{peaks}\), we have that \((\sigma _A[0],l_0,Val_0)\xrightarrow {*} (\sigma _A@initT,\mathbf{start}, Val_{\text {start}})\), with \(Val_{\text {start}}(n)\!=\!-1\), \(Val_{\text {start}}(x)\!=\! A\) and \(Val_{\text {start}}(t)\!=\!initT\).

start \(\rightarrow \) Max or start \(\rightarrow \) Min :

Let \(i_0\!\in \!\mathbb {N}\) be the index of the first state of \(\sigma _A\) that follows \(\sigma _A@initT\) and that is distanced more than \(\delta \) from \(\sigma _A@initT\), i.e. \(i_0\!=\!min\{i\!\in \!\mathbb {N}\mid \sigma _A@initT - \sigma _A[i_0]>\delta \}\), (observe that since \(\sigma _A\) is assumed to be \(\delta \)-separated alternating then \(min\{i\!\in \!\mathbb {N}\mid \sigma _A@initT - \sigma _A[i_0]>\delta \}\) is guaranteed to exist). Furthermore, let \(i_{initT}\) be the index of state \(\sigma _A@initT\), i.e. \(\sigma _A[i_{initT}]\!=\!\sigma _A@initT\), and \(\Delta T=\sum _{i=0}^{n \mid i_{initT}+n<i_0} time(\sigma _A,i_{initT}+i)\), be the time distance from \(initT\) and the instant when state \(\sigma _A[i_0]\) is entered. Thus because of the structure of \(\mathcal{A}_{peaks}\), either \((\sigma _A@initT,\mathbf{start}, Val_{\text {start}})\xrightarrow {*} (\sigma [i_0],\mathbf{Max}, Val_{i_0})\), if \((\sigma _A@initT \!-\! \sigma _A[i_0])\!<\!0\), or \((\sigma _A@initT,\mathbf{start}, Val_{\text {start}})\xrightarrow {*} (\sigma [i_0],\mathbf{Min}, Val_{i_0})\), if \((\sigma _A@initT \!-\! \sigma _A[i_0])\!>\!0\), with \(Val_{i_0}(x)\!=\!A\), \(Val_{i_0}(t)\!=\!Val_{\text {start}}(t)+\Delta T\).

Max \(\rightarrow \) NoisyDec \(\rightarrow \) Min :

Let us assume that from state \((\sigma _A@initT,\mathbf{start}, Val_{\text {start}})\) we reached \( (\sigma [i_0],\mathbf{Max},\) \( Val_{i_0})\), which means that from \(\sigma _A@initT\) the trace \(\sigma _A\) reaches a state \(\sigma _A[i_0]>\sigma _A@initT+\delta \) without ever descending below \(\sigma @initT-\delta \), i.e. \(\forall j< i_0, \sigma _A[j]\ge \sigma _A@initT - \delta \). Since \(\sigma _A\) is \(\delta \)-separated alternating and since we assumed to have reached configuration \( (\sigma [i_0],\mathbf{Max}, Val_{i_0})\) then the first \(\delta \)-separated point is a maximum and in particular is a state \(\sigma _A[H_0]=M_\delta [1]\), \(i_0\!<\!H_0\), such that \(\sigma _A[H_0]\) is the largest state reachable from \(\sigma _A[i_0]\) (i.e. \(\sigma _A[j^{\prime }]\!\le \sigma _A[H_0], \forall j^{\prime }, i_0\!<\!j^{\prime }\!<\! H_0\)) and from which a \(\delta \)-distanced smaller state \(\sigma _A[k_0]\), \(i_0\!<\! H_0\!<\! k_0\) is reachable with \(k_0\!=\! inf\{k\mid \sigma _A[k]< \sigma _A[H_0]-\delta \wedge \sigma _A[k^{\prime }]\!\le \sigma _A[H_0], \forall k^{\prime }, H_0\!<\!k^{\prime }\!<\! k\}\). Thus, because of the structure of \(\mathcal{A}_{peaks}\), it follows that \( (\sigma [i_0],\mathbf{Max}, Val_{i_0})\xrightarrow {*} (\sigma [k_0],\mathbf{Min}, Val_{k_0})\), where \(Val_{k_0}(Lmax[\sigma [H_0]])=Val_{i_0}(Lmax[\sigma [H_0]])+1\) \(Val_{k_0}(n_M)=Val_{i_0}(n_M)+1\), \(Val_{k_0}(x)=\sigma _A[k_0]\), \(Val_{k_0}(Smax)=Val_{i_0}(Smax)+1\), \(Val_{k_0}(t)=Val_{i_0}(t)\) \(+\Delta T\), with \(\Delta T=\sum _{j=i_0}^{k_0} time(\sigma _A,j)\).

Min \(\rightarrow \) NoisyInc \(\rightarrow \) Max :

On the contrary if we assume that from state \((\sigma _A@initT,\mathbf{start}, Val_{\text {start}})\) we reached \( (\sigma [i_0],\mathbf{Min}, Val_{i_0})\), which means that from \(\sigma _A@initT\) the trace \(\sigma _A\) reaches a state \(\sigma _A[i_0]<\sigma _A@initT-\delta \) without ever entering the \(\sigma @initT+\delta \) region, i.e. \(\forall j< i_0, \sigma _A[j]\le \sigma _A@initT + \delta \). Since \(\sigma _A\) is \(\delta \)-separated alternating and since we assumed to have reached configuration \( (\sigma [i_0],\mathbf{Min}, Val_{i_0})\) then the first \(\delta \)-separated point is a minimum and in particular is a state \(\sigma _A[h_0]=m_\delta [1]\), \(i_0\!<\!h_0\), such that \(\sigma _A[h_0]\) is the smallest state reachable from \(\sigma _A[i_0]\) (i.e. \(\sigma _A[j^{\prime }]\!\ge \sigma _A[h_0], \forall j^{\prime }, i_0\!<\!j^{\prime }\!<\! h_0\)) and from which a \(\delta \)-distanced larger state \(\sigma _A[k_0]\), \(i_0\!<\! h_0\!<\! k_0\) is reachable with \(k_0\!=\! inf\{k\mid \sigma _A[k]>\sigma _A[h_0]-\delta \wedge \sigma _A[k^{\prime }]\!\ge \sigma _A[h_0], \forall k^{\prime }, h_0\!<\!k^{\prime }\!<\! k\}\). Thus, because of the structure of \(\mathcal{A}_{peaks}\), it follows that \( (\sigma [i_0],\mathbf{Min}, Val_{i_0})\xrightarrow {*} (\sigma [k_0],\mathbf{Max}, Val_{k_0})\), where \(Val_{k_0}(Lmin[\sigma [h_0]])=Val_{i_0}(Lmin[\sigma [h_0]])+1\), \(Val_{k_0}(n_m)=Val_{i_0}(n_m)+1\), \(Val_{k_0}(x)=\sigma _A[k_0]\), \(Val_{k_0}(Smin)=Val_{i_0}(Smin)+1\), \(Val_{k_0}(t)=Val_{i_0}(t)\) \(+\Delta T\), with \(\Delta T=\sum _{j=i_0}^{k_0} time(\sigma _A,j)\).

induction :

since \(\sigma _A\) is \(\delta \)-separated alternating then it contains and infinity of \(\delta \)-separated maxima and minima. hence the [Max \(\rightarrow \) NoisyDec \(\rightarrow \) Min] and [Min \(\rightarrow \) NoisyInc \(\rightarrow \) Max] steps of the proof hold for each successive iteration. This means that if \(k_i,K_i\in \mathbb {N}\) are the index corresponding to the state of \(\sigma _A\) determining the detection of the \(i\)th \(\delta \)-separated maximum, resp. minimum, then \(\forall i\ge 0\) either \((\sigma [K_i],\mathbf{Min}, Val_{K_i})\xrightarrow {*} (\sigma [k_i],\mathbf{Max}, Val_{k_i})\) \(\xrightarrow {*} (\sigma [K_{i+1}],\mathbf{Min}, Val_{K_{i+1}})\), if \((\sigma _A@initT,\mathbf{start},\) \( Val_{\text {start}})\xrightarrow {*} (\sigma [i_0],\mathbf{Max}, Val_{i_0})\), or \((\sigma [k_i],\mathbf{Max}, Val_{k_i})\) \(\xrightarrow {*} (\sigma [K_i],\mathbf{Min}, Val_{K_i}) \xrightarrow {*} (\sigma [k_{i+1}],\mathbf{Max}, Val_{k_{i+1}})\), if \((\sigma _A@initT,\mathbf{start}, Val_{\text {start}})\xrightarrow {*} (\sigma [i_0],\mathbf{Min}, Val_{i_0})\), given that \(Val_{K_i}(n_m)\!<\!N_m-1\) and \(Val_{k_i}(n_M)\!<\!N_M-1\).

termination, [Max \(\rightarrow \) NoisyDec \(\rightarrow \) end :

] By induction we have seen that \(\forall i\!\in \!\mathbb {N}\), given that \(Val_{k_i}(n_M)\!<\!N_M-1\), we have \((\sigma [k_i],\mathbf{Max}, Val_{k_i})\xrightarrow {*} (\sigma [K_i],\mathbf{Min}, Val_{K_i})\) where \(Val_{K_i}(n_M)=Val_{k_i}(n_M+1)\). Thus on he \((N_M-1)\)th iteration we have \(Val_{k_{n_M-1}}=N_M-1\), hence on detection of the \(N_M\)th \(\delta \)-separated maximum the LHA edge NoisyDec \(\xrightarrow [\{Lmax[x]++,Smax+=x,n_M++\}]{\sharp ,(x\!>\! A\!+\!\delta )\wedge (n_M\!=\! N_M-1)}\) end is enabled hence \((\sigma [k_{n_M-1}],\mathbf{Max}, Val_{k_{n_M-1}})\xrightarrow {*}\) \( (\sigma [K_{n_M}],\mathbf{end}, Val_{K_{n_M}})\), and \(\sigma _A\) is accepted.

termination, [Min \(\rightarrow \) NoisyInc \(\rightarrow \) end :

] specular to [termination, [Max \(\rightarrow \) NoisyDec \(\rightarrow \) end]].\(\square \)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Ballarini, P. Analysing oscillatory trends of discrete-state stochastic processes through HASL statistical model checking. Int J Softw Tools Technol Transfer 17, 505–526 (2015). https://doi.org/10.1007/s10009-015-0370-5

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-015-0370-5

Keywords

Navigation