Skip to main content

Advertisement

Log in

Bounded choice-free Petri net synthesis: algorithmic issues

  • Original Article
  • Published:
Acta Informatica Aims and scope Submit manuscript

Abstract

This paper describes a synthesis procedure dedicated to the construction of choice-free Petri nets from finite persistent transition systems, whenever possible. Taking advantage of the properties of choice-free Petri nets, a two-step approach is proposed. A pre-synthesis step checks necessary structural properties of the transition system and constructs some data structures needed for the second step. Then, a minimised set of simplified systems of linear inequalities is distilled from a general region-theoretic approach. This leads to a substantial narrowing of the sets of states for which linear inequalities must be solved, and allows an early detection of failures, supported by constructive error messages. The performance of the resulting algorithm is measured and compared numerically with existing synthesis tools.

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
Fig. 13
Fig. 14
Fig. 15
Fig. 16

Similar content being viewed by others

Notes

  1. Where a net will be called choice-free if every place has at most one outgoing transition (not to be confused with free-choice nets [27]).

  2. Which could be relaxed in different contexts [22] tolerating label splitting [17].

  3. We stress that small cycles are different from elementary cycles in graph theory, i.e., cycles which visit every state at most once. While every small cycle is also elementary, the converse is not true. In fact, there exist finite, totally reachable, deterministic, persistent, transition systems in which every small cycle has a prime Parikh vector, and which contain non-prime elementary cycles.

  4. Note that, contrary to what happens in metric spaces where distances are usually scalar and symmetric, in (labelled) oriented graphs like here we may have (vectorial) non-symmetric distances.

  5. It would have been possible to incorporate the tests for determinism and persistence in this loop, instead of doing them beforehand; but doing these tests separately is cheap, so that the gain seems negligible. See also Table 1 in Sect. 8.

  6. Seen as in the other part of the proof.

  7. For any alternative pre-synthesis guaranteeing the properties in (2) but not necessarily the prime cycle property and the distance-path property, any lts not satisfying the latter will be rejected during synthesis.

  8. Note that this is likely to be very difficult; not even for the basic algorithm [1], the exact complexity seems to be fully investigated.

References

  1. Badouel, É., Bernardinello, L., Darondeau, P.: Petri Net Synthesis. Texts in Theoretical Computer Science, p. 339. Springer, Berlin (2015). ISBN 978-3-662-47967-4

    MATH  Google Scholar 

  2. Badouel, É., Bernardinello, L., Darondeau, P.: Polynomial algorithms for the synthesis of bounded nets. In: Mosses, P., Nielsen, M., Schwartzbach, M. (eds.) TAPSOFT 1995, Aarhus (Denmark). Lecture Notes in Computer Science, vol. 915, pp. 364–378. Springer, Berlin (1995)

    Google Scholar 

  3. Badouel, É., Bernardinello, L., Darondeau, P.: The synthesis problem for elementary net systems is NP-complete. Theor. Comput. Sci. 186(1–2), 107–134 (1997)

    Article  MathSciNet  Google Scholar 

  4. Badouel, É., Darondeau, P.: Theory of regions. In: Reisig, W., Rozenberg, G. (eds.) Lectures on Petri Nets I: Basic Models. Lecture Notes in Computer Science, vol. 1491, pp. 529–586. Springer, Berlin (1999)

    Chapter  Google Scholar 

  5. Badouel, É., Caillaud, B., Darondeau, P.: Distributing finite automata through Petri net synthesis. J. Form. Asp. Comput. 13, 447–470 (2002)

    Article  Google Scholar 

  6. Best, E., Darondeau, P.: A decomposition theorem for finite persistent transition systems. Acta Inf. 46, 237–254 (2009)

    Article  MathSciNet  Google Scholar 

  7. Best, E., Darondeau, P.: Petri net distributability. In: Virbitskaite, I., Voronkov, A. (eds.) PSI’11, Novosibirsk, LNCS, vol. 7162, pp. 1–18. Springer, Berlin (2011)

    Google Scholar 

  8. Best, E., Erofeev, E., Schlachter, U., Wimmel, H.: Characterising Petri net solvable binary words. In: Moldt, D., Kordon, F. (eds.) Proc. 37th International Conference on Applications and Theory of Petri Nets and Concurrency, Toruń (Poland), Lecture Notes in Computer Science, vol. 9698, pp. 39–58. Springer, Berlin (2016)

    Chapter  Google Scholar 

  9. Best, E., Devillers, R.: Synthesis of persistent systems. In: 35th International Conference on Application and Theory of Petri Nets and Concurrency (ICATPN 2014), pp. 111–129 (2014)

    Chapter  Google Scholar 

  10. Best, E., Devillers, R.: Synthesis and reengineering of persistent systems. Acta Inf. 52(1), 35–60 (2015)

    Article  MathSciNet  Google Scholar 

  11. Best, E., Devillers, R.: State space axioms for T-systems. Acta Inf. 52(2–3), 133–152 (2015)

    Article  MathSciNet  Google Scholar 

  12. Best, E., Devillers, R.: Synthesis of live and bounded persistent systems. Fund. Inf. 140, 39–59 (2015)

    MathSciNet  MATH  Google Scholar 

  13. Best, E., Devillers, R.: Synthesis of bounded choice-free Petri nets. In: Aceto, L., Frutos Escrig, D. (eds.) Proc. 26th International Conference on Concurrency Theory (CONCUR 2015), LIPICS, pp. 128–141. Schloss Dagstuhl—Leibniz-Zentrum für Informatik, Dagstuhl. https://doi.org/10.4230/LIPIcs.CONCUR.2015.128 (2015)

  14. Best, E., Devillers, R.: Characterisation of the state spaces of marked graph Petri nets. Inf. Comput. 253(Pt. 3), 399–410 (2017)

    Article  MathSciNet  Google Scholar 

  15. Best, E., Devillers, R.: Petri net pre-synthesis based on prime cycles and distance paths. To appear in Science of Computer Programming (2018). Also: Informatik-Bericht Nr. 3/16, Univ. Oldenburg, 26 pages (2016)

  16. Caillaud, B.: Synet: un outil de synthèse de résaux de Petri bornés, applications. Research Report RR 3155, INRIA (1997). See also: https://hal.inria.fr/inria-00073534. http://www.irisa.fr/s4/tools/synet/

  17. Carmona, J.: The label splitting problem. In: Jensen, K., Aalst, W.M.V.D., Ajmone-Marsan, M., Franceschinis, G., Kleijn, J., Kristensen, L.M. (eds.) Transactions on Petri Nets and Other Models of Concurrency VI, Lecture Notes in Computer Science, vol. 7400, pp. 1–23. Springer, Berlin (2012)

    Chapter  Google Scholar 

  18. Carmona, J., Cortadella, J., Kishinevsky, M., Kondratyev, A., Lavagno, L., Yakovlev, A.: A symbolic algorithm for the synthesis of bounded Petri nets. In: van Hee, K., Valk, R. (eds.) Applications and Theory of Petri Nets 2008, LNCS, vol. 5062, pp. 92–111. Springer, Berlin (2008)

    Chapter  Google Scholar 

  19. Carmona, J., Cortadella, J., Kishinevsky, M.: New region-based algorithms for deriving bounded Petri nets. IEEE Trans. Comput. 59(3), 371–384 (2010)

    Article  MathSciNet  Google Scholar 

  20. Commoner, F., Holt, A.W., Even, S., Pnueli, A.: Marked directed graphs. J. Comput. Syst. Sci. 5(5), 511–523 (1971)

    Article  MathSciNet  Google Scholar 

  21. Christ, J., Hoenicke, J., Nutz, A.: SMTInterpol: an interpolating SMT solver. In: Donaldson, A., Parker, D. (eds.) Proc. of Model Checking Software, Oxford, LNCS, vol. 7385, pp. 248–254. Springer, Berlin (2012). See also: https://ultimate.informatik.uni-freiburg.de/smtinterpol/

    Chapter  Google Scholar 

  22. Cortadella, J., Kishinevsky, M., Kondratyev, A., Lavagno, L., Yakovlev, A.: Petrify: a tool for manipulating concurrent specifications and synthesis of asynchronous controllers. IEICE Trans. Inf. Syst. E80–D(3), 315–325 (1997)

    Google Scholar 

  23. Cortadella, J., Kishinevsky, M., Lavagno, L., Yakovlev, A.: Deriving Petri nets for finite transition systems. IEEE Trans. Comput. 47(8), 859–882 (1998)

    Article  MathSciNet  Google Scholar 

  24. Cortadella, J., Kishinevsky, M., Kondratyev, A., Lavagno, L., Yakovlev, A.: Logic Synthesis for Asynchronous Controllers and Interfaces, Volume 8 of Advanced Microelectronics. Springer Science & Business Media, Berlin (2012)

    MATH  Google Scholar 

  25. Crespi-Reghizzi, S., Mandrioli, D.: A decidability theorem for a class of vector-addition systems. Inf. Process. Lett. 3(3), 78–80 (1975)

    Article  MathSciNet  Google Scholar 

  26. de San Pedro, J., Cortadella, J.: Mining structured Petri nets for the visualization of process behavior. In: 31st ACM Symposium on Applied Computing, pp. 839–846, Pisa (2016)

  27. Desel, J., Esparza, J.: Free Choice Petri Nets, vol. 40, p. 242. Cambridge Tracts in Theoretical Computer Science, Cambridge (1995)

    Book  Google Scholar 

  28. Dijkstra, E.W.: Hierarchical ordering of sequential processes. Acta Inf. 1(2), 115–138 (1971)

    Article  MathSciNet  Google Scholar 

  29. Ehrenfeucht, A., Rozenberg, G.: Partial 2-structures, part I: basic notions and the representation problem, and part II: state spaces of concurrent systems. Acta Inf. 27(4), 315–368 (1990)

    Article  Google Scholar 

  30. Erofeev, E., Barylska, K., Mikulski, Ł., Piątkowski, M.: Generating all minimal Petri net unsolvable binary words. In: Proceedings of the Prague Stringology Conference, pp. 33–46 (2016). See http://www.stringology.org/event/

  31. Hopkins, R.P.: Distributable nets. Applications and theory of Petri nets 1990. In: Rozenberg, G. (ed.) Advances of Petri Nets 1991, LNCS, vol. 524, pp. 161–187. Springer, Berlin (1991)

    Chapter  Google Scholar 

  32. Keller, R.M.: A fundamental theorem of asynchronous parallel computation. In: Parallel Processing, LNCS, vol. 24, pp. 102–112. Springer, Berlin (1975)

    Chapter  Google Scholar 

  33. Khachiyan, L.: Selected works. Moscow Center for Mathematical Continuous Education. ISBN 978-5-94057-509-2, 519 pages (2009) (in Russian)

  34. Kondratyev, A., Cortadella, J., Kishinevsky, M., Pastor, E., Roig, O., Yakovlev, A.: Checking signal transition graph implementability by symbolic BDD traversal. In: Proc. European Design and Test Conference, pp. 325–332, Paris (1995)

  35. Landweber, L.H., Robertson, E.L.: Properties of conflict-free and persistent Petri nets. JACM 25(3), 352–364 (1978)

    Article  MathSciNet  Google Scholar 

  36. Murata, T.: Petri nets: properties, analysis and applications. Proc. IEEE 77, 541–580 (1989)

    Article  Google Scholar 

  37. Petri, C.A.: Concurrency. In: Brauer, W. (ed.) Proc. of the Advanced Course on General Net Theory of Processes and Systems, Hamburg, LNCS, vol. 84, pp. 251–260. Springer, Berlin (1980)

    Google Scholar 

  38. Reisig, W.: Petri Nets. EATCS Monographs on Theoretical Computer Science, vol. 4. Springer, Berlin (1985)

    Google Scholar 

  39. Schlachter, U. et al.: https://github.com/CvO-Theory/apt (2013–2017)

  40. Teruel, E., Colom, J.M., Silva, M.: Choice-free Petri nets: a model for deterministic concurrent systems with bulk services and arrivals. IEEE Trans. Syst. Man Cybern. Part A 27–1, 73–83 (1997)

    Article  Google Scholar 

  41. van Glabbeek, R.J., Goltz, U., Schicke-Uffmann, J.-W.: On distributability of Petri nets—(extended abstract). In: Birkedal, L. (ed.) Proc. FoSSaCS 2012 (Held as Part of ETAPS), LNCS, vol. 7213, pp. 331–345. Springer, Berlin (2012)

Download references

Acknowledgements

We are indebted to the reviewers for valuable comments.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Uli Schlachter.

Additional information

Supported by DFG (German Research Foundation) through Grant Be 1267/15-1 ARS (Algorithms for Reengineering and Synthesis).

Appendices

Keller’s theorem

The notion of a residual sequence, defined next, captures the subtraction of one sequence from another one “as much as possible”.

Definition 16

(Residues) Suppose that \(\tau ,\sigma \in T^*\). The (left) residue of \(\tau \) with respect to \(\sigma \), denoted by \(\tau {\mathop {-}\limits ^{\bullet }}\sigma \), arises from cancelling successively in \(\tau \) the leftmost occurrences of all symbols from \(\sigma \), read from left to right. Inductively: \(\tau {\mathop {-}\limits ^{\bullet }}\varepsilon =\tau \); \(\tau {\mathop {-}\limits ^{\bullet }}t=\tau \) if \(t\notin supp (\tau )\); \(\tau {\mathop {-}\limits ^{\bullet }}t=\) the sequence obtained by erasing the leftmost t in \(\tau \) if \(t\in supp (\tau )\); and \(\tau {\mathop {-}\limits ^{\bullet }}(t\sigma )=(\tau {\mathop {-}\limits ^{\bullet }}t){\mathop {-}\limits ^{\bullet }}\sigma \).

For example, \(acbcacbc{\mathop {-}\limits ^{\bullet }}abbcb=cacc\) and \(abbcb{\mathop {-}\limits ^{\bullet }}acbcacbc=b\). In terms of Parikh vectors, Definition 16 directly yields the following consequence (where function \(\min \) is extended componentwise to vectors):

Corollary 6

(Parikh vectors of residues) For \(\tau ,\sigma \in T^*\), \(\varPsi (\sigma )-\varPsi (\sigma {\mathop {-}\limits ^{\bullet }}\tau )=\varPsi (\tau )-\varPsi (\tau {\mathop {-}\limits ^{\bullet }}\sigma )=\min (\varPsi (\sigma ),\varPsi (\tau ))\).

E.g., \(\varPsi (acbcacbc){-}\varPsi (acbcacbc{\mathop {-}\limits ^{\bullet }}abbcb){=}\varPsi (abbcb){-}\varPsi (abbcb{\mathop {-}\limits ^{\bullet }}acbcacbc){=}\varPsi (abbc)\).

Theorem 9

(Keller [32]) Let \((S,T,\rightarrow ,\imath )\) be a deterministic, persistent lts. Let \(\tau \) and \(\sigma \) be two label sequences enabled at some state s. Then \(\tau (\sigma {\mathop {-}\limits ^{\bullet }}\tau )\) and \(\sigma (\tau {\mathop {-}\limits ^{\bullet }}\sigma )\) are also enabled at s. Furthermore, the state reached after \(\tau (\sigma {\mathop {-}\limits ^{\bullet }}\tau )\) equals the state reached after \(\sigma (\tau {\mathop {-}\limits ^{\bullet }}\sigma )\).

Two nice little applications of this result are the following proofs.

Proof

(of Proposition 1) Let \(s,s',s''\in S\) and \(s[\alpha \rangle s'\wedge s[\alpha '\rangle s''\wedge \varPsi (\alpha ){=}\varPsi (\alpha ')\); we need to prove \(s'=s''\) (see Definition 5). Theorem 9 (applicable by determinism and persistence) yields \(s[\alpha \rangle s'[\alpha '{\mathop {-}\limits ^{\bullet }}\alpha \rangle q\wedge s[\alpha '\rangle s''[\alpha {\mathop {-}\limits ^{\bullet }}\alpha '\rangle q\). By \(\varPsi (\alpha ){=}\varPsi (\alpha ')\), both \(\alpha {\mathop {-}\limits ^{\bullet }}\alpha '\) and \(\alpha '{\mathop {-}\limits ^{\bullet }}\alpha \) equal the empty sequence \(\varepsilon \), entailing \(s'=q=s''\). \(\square \)

Proof

(of Lemma 1) By the premise, we have \(r[\kappa \alpha \rangle s\) and \(r[\alpha \rangle s\). Theorem 9 yields both \(s[\alpha {\mathop {-}\limits ^{\bullet }}(\kappa \alpha )\rangle q\) and \(s[(\kappa \alpha ){\mathop {-}\limits ^{\bullet }}\alpha \rangle q\), for some state q. By \(\varPsi (\alpha )\le \varPsi (\kappa \alpha )\), the sequence \(\alpha {\mathop {-}\limits ^{\bullet }}(\kappa \alpha )\) is empty, and thus, \(s=q\). Therefore, defining \(\kappa '=(\kappa \alpha ){\mathop {-}\limits ^{\bullet }}\alpha \), we get \(s[\kappa '\rangle s\). Clearly, \(\varPsi (\kappa ')=\varPsi (\kappa )\), ending the proof. \(\square \)

Proof of Proposition 4

(\(\Rightarrow \)): Obvious since the distance-path property requires that we have distance-paths for any pair of states \(s'\in [s\rangle \), hence also for \(s'\in [\imath \rangle \).

(\(\Leftarrow \)): We assume that for all \(s\in S\), there is a path \(\imath [\alpha \rangle s\) such that \(\varPsi (\alpha )=\Delta _{s}\), and we need to show that we have distance-paths for any pair of states \(s'\in [s\rangle \), and not only when \(s=\imath \).

Let \({\mathcal P}=\{\varUpsilon _1,\ldots ,\varUpsilon _n\}\). We shall proceed by contradiction and assume that there are two states \(s,s'\in S\) such that \(s'\in [s\rangle \) and the distance between them is not realised. By \(s'\in [s\rangle \), there is a short path \(s[\gamma \rangle s'\), and because this path does not realise the distance, \(\varPsi (\gamma )\ge \varTheta \) for at least one Parikh vector \(\varTheta \in {\mathcal P}\). We consider such a counterexample with the smallest possible \(\gamma \) over the entire lts (see Fig. 17).

Since a subpath of a short path is itself short, without loss of generality we may assume that for some labels \(u,v\in T\), \(\gamma =u\delta v\) with \(\varPsi (\gamma )(u)=\varTheta (u)\), \(\varPsi (\gamma )(v)=\varTheta (v)\) and, for no \(\varTheta '\in {\mathcal P}\), \(\varPsi (\gamma )\ge \varTheta +\varTheta '\) (otherwise, we can find a smaller counterexample by suppressing a prefix and/or a suffix).

We may assume that \(\imath [\alpha \rangle s\) with \(\Delta _s=\varPsi (\alpha )\) and \(\imath [\beta \rangle s'\) with \(\Delta _{s'}=\varPsi (\beta )\), and we know that \(\varPhi \not \le \Delta _s\) and \(\varPhi \not \le \Delta _{s'}\) for all \(\varPhi \in {\mathcal P}\), as well as that

$$\begin{aligned} \Delta _{s'}=\varPsi (\alpha \gamma )\,{\text {mod}}\,{\mathcal P}=\Delta _s+\varPsi (\gamma )-\varTheta -\sum _{\varPhi \in {\mathcal P}} k_\varPhi \cdot \varPhi \end{aligned}$$
(12)

for some natural numbers \(k_\varPhi \). By \(\Delta _s=\varPsi (\alpha )\) and \(\Delta _{s'}=\varPsi (\beta )\), and by Corollary 6, this yields \(\varPsi (\beta {\mathop {-}\limits ^{\bullet }}\alpha )=\varPsi (\alpha {\mathop {-}\limits ^{\bullet }}\beta )+\varPsi (\gamma )-\varTheta -\sum _{\varPhi \in {\mathcal P}} k_\varPhi \cdot \varPhi \).

If \(\Delta _{s'}\not \le \Delta _{s}\), by Keller’s theorem we have \(s[\beta {\mathop {-}\limits ^{\bullet }}\alpha \rangle \tilde{s}\) for some state \(\tilde{s}\in S\), \(\beta {\mathop {-}\limits ^{\bullet }}\alpha \) being nonempty. Since \(\varPsi (\beta )\le \varPsi (\alpha )+\varPsi (\gamma )\), we have that \(\varPsi (\beta {\mathop {-}\limits ^{\bullet }}\alpha )\le \varPsi (\gamma )\) and, by Keller’s theorem again, \(\tilde{s}[\gamma {\mathop {-}\limits ^{\bullet }}(\beta {\mathop {-}\limits ^{\bullet }}\alpha )\rangle s'\), where \(\varPsi ((\beta {\mathop {-}\limits ^{\bullet }}\alpha )(\gamma {\mathop {-}\limits ^{\bullet }}(\beta {\mathop {-}\limits ^{\bullet }}\alpha )))=\varPsi (\gamma )\), so that the path \(s[\beta {\mathop {-}\limits ^{\bullet }}\alpha \rangle \tilde{s}[\gamma {\mathop {-}\limits ^{\bullet }}(\beta {\mathop {-}\limits ^{\bullet }}\alpha )\rangle s'\) is as short as \(\gamma \), but it starts with labels from \(\beta \) not needed to get \(\varTheta \), since \(\varPsi (\gamma {\mathop {-}\limits ^{\bullet }}(\beta {\mathop {-}\limits ^{\bullet }}\alpha ))=\varPsi (\gamma )-\varPsi (\beta {\mathop {-}\limits ^{\bullet }}\alpha ) \ge \varTheta \). As a consequence, we can construct a shorter counterexample by dropping \(\beta {\mathop {-}\limits ^{\bullet }}\alpha \) in front of \(\gamma {\mathop {-}\limits ^{\bullet }}(\beta {\mathop {-}\limits ^{\bullet }}\alpha )\) [see Fig. 17(l.h.s.)].

Fig. 17
figure 17

We may have neither \(\Delta _{s'}\not \le \Delta _{s}\) (l.h.s.) nor \(\Delta _{s'}\le \Delta _{s}\) (r.h.s.)

Thus we may assume that \(\Delta _{s'}\le \Delta _{s}\), and still by Keller’s theorem we have that \(s'[\alpha {\mathop {-}\limits ^{\bullet }}\beta \rangle s\). Now, let us consider the path \(s[u\delta \rangle s''[v\rangle s'\). There is a path \(\imath [\tau \rangle s''\) with

$$\begin{aligned} \varPsi (\tau )=\Delta _{s''}=\varPsi (\alpha u \delta )\,{\text {mod}}\,{\mathcal P}=\Delta _{s'}+\varTheta -\varPsi (v)\ge \Delta _s \end{aligned}$$

The first and second equality come from the fact that \(\tau \) realises the distance between \(\imath \) and \(s''\). The third equality is justified by first observing [from (12) by subtracting \(\varPsi (v)\) on both sides] that

$$\begin{aligned} \varPsi (\alpha u\delta )=\varPsi (\beta )+\varTheta +\sum _{\varPhi \in {\mathcal P}} k_\varPhi \cdot \varPhi -\varPsi (v) \end{aligned}$$

and then taking the modulo on both sides. Moreover, \(\Delta _{s'}=\varPsi (\tau v)\,{\text {mod}}\,{\mathcal P}\le \Delta _{s''}+\varPsi (v)\). Hence, with Keller again, there is a path \(s'[\nu \rangle s''\) with \(\varPsi (\nu )=\varTheta -\varPsi (v)\), so that there is a loop around \(s'\) with Parikh vector \(\varTheta \). Now, since loops can be transported Parikh-equivalently by Lemma 1, there is a loop around \(s[\mu \rangle s\) with Parikh vector \(\varTheta \) too. And again by Keller’s theorem, there is a path from \(s[\gamma {\mathop {-}\limits ^{\bullet }}\mu \rangle s'\) from s to \(s'\) with Parikh vector \(\varPsi (\gamma )-\varTheta \), contradicting the shortness of \(\gamma \) [see Fig. 17(r.h.s.)].

We can thus conclude that there is no counterexample to our claim, that each short path is a distance-path and that the distance-path property is valid for any pair of reachable states.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Best, E., Devillers, R. & Schlachter, U. Bounded choice-free Petri net synthesis: algorithmic issues. Acta Informatica 55, 575–611 (2018). https://doi.org/10.1007/s00236-017-0310-9

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00236-017-0310-9

Navigation