ERODE: A Tool for the Evaluation and Reduction of Ordinary Differential Equations

  • Luca Cardelli
  • Mirco Tribastone
  • Max Tschaikowski
  • Andrea Vandin
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10206)


We present ERODE, a multi-platform tool for the solution and exact reduction of systems of ordinary differential equations (ODEs). ERODE supports two recently introduced, complementary, equivalence relations over ODE variables: forward differential equivalence yields a self-consistent aggregate system where each ODE gives the cumulative dynamics of the sum of the original variables in the respective equivalence class. Backward differential equivalence identifies variables that have identical solutions whenever starting from the same initial conditions. As back-end ERODE uses the well-known Z3 SMT solver to compute the largest equivalence that refines a given initial partition of ODE variables. In the special case of ODEs with polynomial derivatives of degree at most two (covering affine systems and elementary chemical reaction networks), it implements a more efficient partition-refinement algorithm in the style of Paige and Tarjan. ERODE comes with a rich development environment based on the Eclipse plug-in framework offering: (i) seamless project management; (ii) a fully-featured text editor; and (iii) importing-exporting capabilities.


  1. 1.
    Aldini, A., Bravetti, M., Gorrieri, R.: A process-algebraic approach for the analysis of probabilistic noninterference. JCS 12(2), 191–245 (2004)CrossRefGoogle Scholar
  2. 2.
    Aoki, M.: Control of large-scale dynamic systems by aggregation. IEEE Trans. Autom. Control 13(3), 246–253 (1968)CrossRefGoogle Scholar
  3. 3.
    Apache Commons Mathematics Library.
  4. 4.
    Blinov, M.L., Faeder, J.R., Goldstein, B., Hlavacek, W.S.: Bionetgen: software for rule-based modeling of signal transduction based on the interactions of molecular domains. Bioinformatics 20(17), 3289–3291 (2004)CrossRefGoogle Scholar
  5. 5.
    Bortolussi, L., Hillston, J., Latella, D., Massink, M.: Continuous approximation of collective system behaviour: a tutorial. Perform. Eval. 70(5), 317–349 (2013)CrossRefGoogle Scholar
  6. 6.
    Bortolussi, L., Lanciani, R.: Model checking Markov population models by central limit approximation. In: Joshi, K., Siegle, M., Stoelinga, M., D’Argenio, P.R. (eds.) QEST 2013. LNCS, vol. 8054, pp. 123–138. Springer, Heidelberg (2013). doi:10.1007/978-3-642-40196-1_9 CrossRefGoogle Scholar
  7. 7.
    Buchholz, P.: Exact and ordinary lumpability in finite Markov Chains. J. Appl. Probab. 31(1), 59–75 (1994)MathSciNetCrossRefMATHGoogle Scholar
  8. 8.
    Cardelli, L.: Morphisms of reaction networks that couple structure to function. BMC Syst. Biol. 8(1), 84 (2014)CrossRefGoogle Scholar
  9. 9.
    Cardelli, L., Tribastone, M., Tschaikowski, M., Vandin, A.: Forward and backward bisimulations for chemical reaction networks. In: CONCUR (2015)Google Scholar
  10. 10.
    Cardelli, L., Tribastone, M., Tschaikowski, M., Vandin, A.: Comparing chemical reaction networks: a categorical and algorithmic perspective. In: LICS (2016)Google Scholar
  11. 11.
    Cardelli, L., Tribastone, M., Tschaikowski, M., Vandin, A.: Efficient syntax-driven lumping of differential equations. In: Chechik, M., Raskin, J.-F. (eds.) TACAS 2016. LNCS, vol. 9636, pp. 93–111. Springer, Heidelberg (2016). doi:10.1007/978-3-662-49674-9_6 CrossRefGoogle Scholar
  12. 12.
    Cardelli, L., Tribastone, M., Tschaikowski, M., Vandin, A.: Symbolic computation of differential equivalences. In: POPL (2016)Google Scholar
  13. 13.
    Danos, V., Feret, J., Fontana, W., Harmer, R., Krivine, J.: Abstracting the differential semantics of rule-based models: exact and automated model reduction. In: LICS, pp. 362–381 (2010)Google Scholar
  14. 14.
    Danos, V., Laneve, C.: Formal molecular biology. Theoret. Comput. Sci. 325(1), 69–110 (2004)MathSciNetCrossRefMATHGoogle Scholar
  15. 15.
    Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008). doi:10.1007/978-3-540-78800-3_24 CrossRefGoogle Scholar
  16. 16.
    Derisavi, S., Hermanns, H., Sanders, W.H.: Optimal state-space lumping in Markov chains. Inf. Process. Lett. 87(6), 309–315 (2003)MathSciNetCrossRefMATHGoogle Scholar
  17. 17.
    Erhard, F., Friedel, C.C., Zimmer, R.: FERN - a Java framework for stochastic simulation and evaluation of reaction networks. BMC Bioinform. 9(1), 356 (2008)CrossRefGoogle Scholar
  18. 18.
    Feret, J., Danos, V., Krivine, J., Harmer, R., Fontana, W.: Internal coarse-graining of molecular systems. Proc. Nat. Acad. Sci. 106(16), 6453–6458 (2009)CrossRefGoogle Scholar
  19. 19.
    Feret, J., Henzinger, T., Koeppl, H., Petrov, T.: Lumpability abstractions of rule-based systems. Theoret. Comput. Sci. 431, 137–164 (2012)MathSciNetCrossRefMATHGoogle Scholar
  20. 20.
    Fisher, J., Henzinger, T.A.: Executable cell biology. Nat. Biotechnol. 25(11), 1239–1249 (2007)CrossRefGoogle Scholar
  21. 21.
  22. 22.
    Gillespie, D.T.: Exact stochastic simulation of coupled chemical reactions. J. Phys. Chem. 81(25), 2340–2361 (1977)CrossRefGoogle Scholar
  23. 23.
    Gupta, V., Jagadeesan, R., Panangaden, P.: Approximate reasoning for real-time probabilistic processes. Log. Methods Comput. Sci. 2(1), 1–23 (2006)Google Scholar
  24. 24.
    Hayden, R.A., Bradley, J.T.: A fluid analysis framework for a Markovian process algebra. Theor. Comput. Sci. 411(22–24), 2260–2297 (2010)MathSciNetCrossRefMATHGoogle Scholar
  25. 25.
    Iacobelli, G., Tribastone, M.: Lumpability of fluid models with heterogeneous agent types. In: DSN, pp. 1–11 (2013)Google Scholar
  26. 26.
    Iacobelli, G., Tribastone, M., Vandin, A.: Differential bisimulation for a Markovian process algebra. In: Italiano, G.F., Pighizzini, G., Sannella, D.T. (eds.) MFCS 2015. LNCS, vol. 9234, pp. 293–306. Springer, Heidelberg (2015). doi:10.1007/978-3-662-48057-1_23 CrossRefGoogle Scholar
  27. 27.
    Iwasa, Y., Andreasen, V., Levin, S.: Aggregation in model ecosystems. I. Perfect aggregation. Ecol. Model. 37(3–4), 287–302 (1987)CrossRefMATHGoogle Scholar
  28. 28.
    Jovanović, D., Moura, L.: Solving non-linear arithmetic. In: Gramlich, B., Miller, D., Sattler, U. (eds.) IJCAR 2012. LNCS (LNAI), vol. 7364, pp. 339–354. Springer, Heidelberg (2012). doi:10.1007/978-3-642-31365-3_27 CrossRefGoogle Scholar
  29. 29.
    Katoen, J.-P., Khattri, M., Zapreev, I.S.: A Markov reward model checker. In: QEST, pp. 243–244 (2005)Google Scholar
  30. 30.
    Kowal, M., Tschaikowski, M., Tribastone, M., Schaefer, I.: Scaling size and parameter spaces in variability-aware software performance models. In: ASE (2015)Google Scholar
  31. 31.
    Larsen, K.G., Skou, A.: Bisimulation through probabilistic testing. Inf. Comput. 94(1), 1–28 (1991)MathSciNetCrossRefMATHGoogle Scholar
  32. 32.
    Li, G., Rabitz, H.: A general analysis of exact lumping in chemical kinetics. Chem. Eng. Sci. 44(6), 1413–1430 (1989)CrossRefGoogle Scholar
  33. 33.
    Paige, R., Tarjan, R.: Three partition refinement algorithms. SIAM J. Comput. 16(6), 973–989 (1987)MathSciNetCrossRefMATHGoogle Scholar
  34. 34.
    Pierro, A., Hankin, C., Wiklicky, H.: Quantitative relations and approximate process equivalences. In: Amadio, R., Lugiez, D. (eds.) CONCUR 2003. LNCS, vol. 2761, pp. 508–522. Springer, Heidelberg (2003). doi:10.1007/978-3-540-45187-7_33 CrossRefGoogle Scholar
  35. 35.
    Regev, A., Shapiro, E.: Cellular abstractions: cells as computation. Nature 419(6905), 343–343 (2002)CrossRefGoogle Scholar
  36. 36.
    Sneddon, M.W., Faeder, J.R., Emonet, T.: Efficient modeling, simulation and coarse-graining of biological complexity with NFsim. Nat. Methods 8(2), 177–183 (2011)CrossRefGoogle Scholar
  37. 37.
    Tribastone, M., Gilmore, S., Hillston, J.: Scalable differential analysis of process algebra models. IEEE Trans. Softw. Eng. 38(1), 205–219 (2012)CrossRefGoogle Scholar
  38. 38.
    Tschaikowski, M., Tribastone, M.: Exact fluid lumpability for markovian process algebra. In: Koutny, M., Ulidowski, I. (eds.) CONCUR 2012. LNCS, vol. 7454, pp. 380–394. Springer, Heidelberg (2012). doi:10.1007/978-3-642-32940-1_27 CrossRefGoogle Scholar
  39. 39.
    Tschaikowski, M., Tribastone, M.: A unified framework for differential aggregations in Markovian process algebra. J. Log. Algebr. Meth. Program. 84(2), 238–258 (2015)MathSciNetCrossRefMATHGoogle Scholar
  40. 40.
    Tschaikowski, M., Tribastone, M.: Approximate reduction of heterogenous nonlinear models with differential hulls. IEEE Trans. Autom. Control 61, 1099–1104 (2016)MathSciNetCrossRefGoogle Scholar
  41. 41.
    Valmari, A., Franceschinis, G.: Simple O(m logn) time Markov chain lumping. In: Esparza, J., Majumdar, R. (eds.) TACAS 2010. LNCS, vol. 6015, pp. 38–52. Springer, Heidelberg (2010). doi:10.1007/978-3-642-12002-2_4 CrossRefGoogle Scholar
  42. 42.
    van Breugel, F., Worrell, J.: Approximating, computing behavioural distances in probabilistic transition systems. Theoret. Comput. Sci. 360(1–3), 373–385 (2006)MathSciNetCrossRefMATHGoogle Scholar
  43. 43.
    Vandin, A., Tribastone, M.: Quantitative abstractions for collective adaptive systems. In: Bernardo, M., Nicola, R., Hillston, J. (eds.) SFM 2016. LNCS, vol. 9700, pp. 202–232. Springer, Heidelberg (2016). doi:10.1007/978-3-319-34096-8_7 Google Scholar
  44. 44.
    Voit, E.O.: Biochemical systems theory: a review. ISRN Biomath. 2013, 53 (2013)CrossRefMATHGoogle Scholar

Copyright information

© Springer-Verlag GmbH Germany 2017

Authors and Affiliations

  • Luca Cardelli
    • 1
  • Mirco Tribastone
    • 2
  • Max Tschaikowski
    • 2
  • Andrea Vandin
    • 2
  1. 1.Microsoft Research & University of OxfordOxfordUK
  2. 2.IMT School for Advanced Studies LuccaLuccaItaly

Personalised recommendations