JANI: Quantitative Model and Tool Interaction

  • Carlos E. Budde
  • Christian Dehnert
  • Ernst Moritz Hahn
  • Arnd Hartmanns
  • Sebastian Junges
  • Andrea Turrini
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10206)

Abstract

The formal analysis of critical systems is supported by a vast space of modelling formalisms and tools. The variety of incompatible formats and tools however poses a significant challenge to practical adoption as well as continued research. In this paper, we propose the Jani model format and tool interaction protocol. The format is a metamodel based on networks of communicating automata and has been designed for ease of implementation without sacrificing readability. The purpose of the protocol is to provide a stable and uniform interface between tools such as model checkers, transformers, and user interfaces. Jani uses the Json data format, inheriting its ease of use and inherent extensibility. Jani initially targets, but is not limited to, quantitative model checking. Several existing tools now support the verification of Jani models, and automatic converters from a diverse set of higher-level modelling languages have been implemented. The ultimate purpose of Jani is to simplify tool development, encourage research cooperation, and pave the way towards a future competition in quantitative model checking.

References

  1. 1.
    Agut, D.E.N., van Beek, D.A., Rooda, J.E.: Syntax and semantics of the compositional interchange format for hybrid systems. J. Log. Algebr. Program. 82(1), 1–52 (2013)MathSciNetCrossRefMATHGoogle Scholar
  2. 2.
    Alur, R., Henzinger, T.A.: Reactive modules. FMSD 15(1), 7–48 (1999)Google Scholar
  3. 3.
    Amparore, E.G.: A new greatSPN GUI for GSPN editing and CSLTA model checking. In: Norman, G., Sanders, W. (eds.) QEST 2014. LNCS, vol. 8657, pp. 170–173. Springer, Heidelberg (2014). doi:10.1007/978-3-319-10696-0_13 Google Scholar
  4. 4.
    Babiak, T., Blahoudek, F., Duret-Lutz, A., Klein, J., Křetínský, J., Müller, D., Parker, D., Strejček, J.: The Hanoi omega-automata format. In: Kroening, D., Păsăreanu, C.S. (eds.) CAV 2015. LNCS, vol. 9206, pp. 479–486. Springer, Heidelberg (2015). doi:10.1007/978-3-319-21690-4_31 CrossRefGoogle Scholar
  5. 5.
    Barrett, C., Fontaine, P., Tinelli, C.: The SMT-LIB standard: version 2.5. Technical report, Department of Computer Science, The University of Iowa (2015). www.smt-lib.org
  6. 6.
    van Beek, D.A., Fokkink, W.J., Hendriks, D., Hofkamp, A., Markovski, J., van de Mortel-Fronczak, J.M., Reniers, M.A.: CIF 3: model-based engineering of supervisory controllers. In: Ábrahám, E., Havelund, K. (eds.) TACAS 2014. LNCS, vol. 8413, pp. 575–580. Springer, Heidelberg (2014). doi:10.1007/978-3-642-54862-8_48 CrossRefGoogle Scholar
  7. 7.
    Behrmann, G., David, A., Larsen, K.G., Håkansson, J., Pettersson, P., Yi, W., Hendriks, M.: UPPAAL 4.0. In: QEST, pp. 125–126. IEEE CS (2006)Google Scholar
  8. 8.
    Beyer, D.: Software verification and verifiable witnesses (report on SV-COMP 2015). In: Baier, C., Tinelli, C. (eds.) TACAS 2015. LNCS, vol. 9035, pp. 401–416. Springer, Heidelberg (2015). doi:10.1007/978-3-662-46681-0_31 Google Scholar
  9. 9.
    Bohnenkamp, H.C., D’Argenio, P.R., Hermanns, H., Katoen, J.-P.: MODEST: a compositional modeling formalism for hard and softly timed systems. IEEE TSE 32(10), 812–830 (2006)Google Scholar
  10. 10.
    Bolognesi, T., Brinksma, E.: Introduction to the ISO specification language LOTOS. Comput. Netw. 14, 25–59 (1987)Google Scholar
  11. 11.
    Bray, T.: The JavaScript Object Notation (JSON) data interchange format. RFC 7159, RFC Editor, March 2014. rfc-editor.org/rfc/rfc7159.txt
  12. 12.
    Budde, C.E., D’Argenio, P.R., Monti, R.E.: Compositional construction of importance functions in fully automated importance splitting. In: VALUETOOLS, ICST (2016)Google Scholar
  13. 13.
    Courtney, T., Gaonkar, S., Keefe, K., Rozier, E., Sanders, W.H.: Möbius 2.3: an extensible tool for dependability, security, and performance evaluation of large and complex system models. In: DSN, pp. 353–358. IEEE CS (2009)Google Scholar
  14. 14.
    D’Argenio, P.R., Katoen, J.-P.: A theory of stochastic systems part I: stochastic automata. Inf. Comput. 203(1), 1–38 (2005)CrossRefMATHGoogle Scholar
  15. 15.
    D’Argenio, P.R., Lee, M.D., Monti, R.E.: Input/Output stochastic automata - compositionality and determinism. In: Fränzle, M., Markey, N. (eds.) FORMATS 2016. LNCS, vol. 9884, pp. 53–68. Springer, Cham (2016). doi:10.1007/978-3-319-44878-7_4 CrossRefGoogle Scholar
  16. 16.
    Dehnert, C., Junges, S., Jansen, N., Corzilius, F., Volk, M., Bruintjes, H., Katoen, J.-P., Ábrahám, E.: PROPhESY: a PRObabilistic ParamEter SYnthesis tool. In: Kroening, D., Păsăreanu, C.S. (eds.) CAV 2015. LNCS, vol. 9206, pp. 214–231. Springer, Heidelberg (2015). doi:10.1007/978-3-319-21690-4_13 CrossRefGoogle Scholar
  17. 17.
    Dehnert, C., Junges, S., Katoen, J.-P., Volk, M.: The probabilistic model checker Storm (extended abstract). CoRR abs/1610.08713 (2016)Google Scholar
  18. 18.
    van Dijk, T., Hahn, E.M., Jansen, D.N., Li, Y., Neele, T., Stoelinga, M., Turrini, A., Zhang, L.: A comparative study of BDD packages for probabilistic symbolic model checking. In: Li, X., Liu, Z., Yi, W. (eds.) SETTA 2015. LNCS, vol. 9409, pp. 35–51. Springer, Heidelberg (2015). doi:10.1007/978-3-319-25942-0_3 CrossRefGoogle Scholar
  19. 19.
    Eclipse Foundation: Eclipse Modeling Framework (EMF). eclipse.org/modeling/emf. Accessed 27 Jan 2016
  20. 20.
    Eisentraut, C., Hermanns, H., Katoen, J.-P., Zhang, L.: A semantics for every GSPN. In: Colom, J.-M., Desel, J. (eds.) PETRI NETS 2013. LNCS, vol. 7927, pp. 90–109. Springer, Heidelberg (2013). doi:10.1007/978-3-642-38697-8_6 CrossRefGoogle Scholar
  21. 21.
    Eisentraut, C., Hermanns, H., Zhang, L.: On probabilistic automata in continuous time. In: LICS, pp. 342–351. IEEE CS (2010)Google Scholar
  22. 22.
    Feng, Y., Hahn, E.M., Turrini, A., Zhang, L.: QPMC: a model checker for quantum programs and protocols. In: Bjørner, N., de Boer, F. (eds.) FM 2015. LNCS, vol. 9109, pp. 265–272. Springer, Heidelberg (2015). doi:10.1007/978-3-319-19249-9_17 CrossRefGoogle Scholar
  23. 23.
    Fette, I., Melnikov, A.: The WebSocket protocol. RFC 6455, RFC Editor, December 2011. rfc-editor.org/rfc/rfc6455.txt
  24. 24.
    Fränzle, M., Hahn, E.M., Hermanns, H., Wolovick, N., Zhang, L.: Measurability and safety verification for stochastic hybrid systems. In: HSCC, pp. 43–52. ACM (2011)Google Scholar
  25. 25.
    Fritzson, P.: Modelica - a cyber-physical modeling language and the OpenModelica environment. In: IWCMC, pp. 1648–1653. IEEE (2011)Google Scholar
  26. 26.
    Garavel, H., Lang, F., Mateescu, R., Serwe, W.: CADP 2011: a toolbox for the construction and analysis of distributed processes. STTT 15(2), 89–107 (2013)CrossRefMATHGoogle Scholar
  27. 27.
    Gordon, A.D., Henzinger, T.A., Nori, A.V., Rajamani, S.K.: Probabilistic programming. In: FOSE, pp. 167–181. ACM (2014)Google Scholar
  28. 28.
    Hahn, E.M., Hartmanns, A.: A comparison of time- and reward-bounded probabilistic model checking techniques. In: Fränzle, M., Kapur, D., Zhan, N. (eds.) SETTA 2016. LNCS, vol. 9984, pp. 85–100. Springer, Heidelberg (2016). doi:10.1007/978-3-319-47677-3_6 CrossRefGoogle Scholar
  29. 29.
    Hahn, E.M., Hartmanns, A., Hermanns, H., Katoen, J.-P.: A compositional modelling and analysis framework for stochastic hybrid systems. FMSD 43(2), 191–232 (2013)MATHGoogle Scholar
  30. 30.
    Hahn, E.M., Li, G., Schewe, S., Turrini, A., Zhang, L.: Lazy probabilistic model checking without determinisation. In: CONCUR, vol. 42. LIPIcs, pp. 354–367. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik (2015)Google Scholar
  31. 31.
    Hahn, E.M., Li, Y., Schewe, S., Turrini, A., Zhang, L.: IscasMc: a web-based probabilistic model checker. In: Jones, C., Pihlajasaari, P., Sun, J. (eds.) FM 2014. LNCS, vol. 8442, pp. 312–317. Springer, Heidelberg (2014). doi:10.1007/978-3-319-06410-9_22 CrossRefGoogle Scholar
  32. 32.
    Hahn, E.M., Schewe, S., Turrini, A., Zhang, L.: A simple algorithm for solving qualitative probabilistic parity games. In: Chaudhuri, S., Farzan, A. (eds.) CAV 2016. LNCS, vol. 9780, pp. 291–311. Springer, Heidelberg (2016). doi:10.1007/978-3-319-41540-6_16 Google Scholar
  33. 33.
    Hartmanns, A., Hermanns, H.: The Modest Toolset: an integrated environment for quantitative modelling and verification. In: Ábrahám, E., Havelund, K. (eds.) TACAS 2014. LNCS, vol. 8413, pp. 593–598. Springer, Heidelberg (2014). doi:10.1007/978-3-642-54862-8_51 CrossRefGoogle Scholar
  34. 34.
    Hartmanns, A., Hermanns, H.: Explicit model checking of very large MDP using partitioning and secondary storage. In: Finkbeiner, B., Pu, G., Zhang, L. (eds.) ATVA 2015. LNCS, vol. 9364, pp. 131–147. Springer, Heidelberg (2015). doi:10.1007/978-3-319-24953-7_10 CrossRefGoogle Scholar
  35. 35.
    Hartmanns, A., Hermanns, H., Bungert, M.: Flexible support for time and costs in scenario-aware dataflow. In: EMSOFT, pp. 3:1–3:10. ACM (2016)Google Scholar
  36. 36.
    Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Upper Saddle River (1985)MATHGoogle Scholar
  37. 37.
    Holzmann, G.J.: The model checker SPIN. IEEE TSE 23(5), 279–295 (1997)Google Scholar
  38. 38.
    ISO 15909-2:2011. High-level Petri nets – Part 2: Transfer format (2011)Google Scholar
  39. 39.
    Kant, G., Laarman, A., Meijer, J., van de Pol, J., Blom, S., van Dijk, T.: LTSmin: high-performance language-independent model checking. In: Baier, C., Tinelli, C. (eds.) TACAS 2015. LNCS, vol. 9035, pp. 692–707. Springer, Heidelberg (2015). doi:10.1007/978-3-662-46681-0_61 Google Scholar
  40. 40.
    Katoen, J.-P., Gretz, F., Jansen, N., Kaminski, B.L., Olmedo, F.: Understanding probabilistic programs. In: Meyer, R., Platzer, A., Wehrheim, H. (eds.) Correct System Design. LNCS, vol. 9360, pp. 15–32. Springer, Heidelberg (2015). doi:10.1007/978-3-319-23506-6_4 CrossRefGoogle Scholar
  41. 41.
    Katoen, J.-P., Zapreev, I.S., Hahn, E.M., Hermanns, H., Jansen, D.N.: The ins and outs of the probabilistic model checker MRMC. Perform. Eval. 68(2), 90–104 (2011)CrossRefGoogle Scholar
  42. 42.
    Keefe, K., Sanders, W.H.: Möbius shell: a command-line interface for Möbius. In: Joshi, K., Siegle, M., Stoelinga, M., D’Argenio, P.R. (eds.) QEST 2013. LNCS, vol. 8054, pp. 282–285. Springer, Heidelberg (2013). doi:10.1007/978-3-642-40196-1_24 CrossRefGoogle Scholar
  43. 43.
    Kwiatkowska, M., Norman, G., Parker, D.: PRISM 4.0: verification of probabilistic real-time systems. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 585–591. Springer, Heidelberg (2011). doi:10.1007/978-3-642-22110-1_47 CrossRefGoogle Scholar
  44. 44.
    Kwiatkowska, M., Norman, G., Parker, D.: The PRISM benchmark suite. In: QEST, pp. 203–204. IEEE CS (2012)Google Scholar
  45. 45.
    Kwiatkowska, M., Norman, G., Segala, R., Sproston, J.: Automatic verification of real-time systems with discrete probability distributions. TCS 282(1), 101–150 (2002)MathSciNetCrossRefMATHGoogle Scholar
  46. 46.
    L’Ecuyer, P., Le Gland, F., Lezaud, P., Tuffin, B.: Splitting techniques. In: Rare Event Simulation using Monte Carlo Methods, pp. 39–61. Wiley, Ltd. (2009)Google Scholar
  47. 47.
    Leino, K.R.M., Rümmer, P.: A polymorphic intermediate verification language: design and logical encoding. In: Esparza, J., Majumdar, R. (eds.) TACAS 2010. LNCS, vol. 6015, pp. 312–327. Springer, Heidelberg (2010). doi:10.1007/978-3-642-12002-2_26 CrossRefGoogle Scholar
  48. 48.
    Marsan, M.A., Balbo, G., Conte, G., Donatelli, S., Franceschinis, G.: Modelling with Generalized Stochastic Petri Nets, 1st edn. Wiley, New York (1994)MATHGoogle Scholar
  49. 49.
    McIver, A., Morgan, C.: Abstraction, Refinement and Proof for Probabilistic Systems. Monographs in Computer Science. Springer, New York (2005)MATHGoogle Scholar
  50. 50.
    Milner, R.: A Calculus of Communicating Systems. LNCS, vol. 92. Springer, Heidelberg (1980)MATHGoogle Scholar
  51. 51.
    Molnár, G.: js-schema website. molnarg.github.io/js-schema. Accessed 28 Jan 2016
  52. 52.
    Puterman, M.L.: Markov Decision Processes: Discrete Stochastic Dynamic Programming. Wiley, New York (1994)CrossRefMATHGoogle Scholar
  53. 53.
    Quatmann, T., Dehnert, C., Jansen, N., Junges, S., Katoen, J.-P.: Parameter synthesis for Markov models: faster than ever. In: Artho, C., Legay, A., Peled, D. (eds.) ATVA 2016. LNCS, vol. 9938, pp. 50–67. Springer, Heidelberg (2016). doi:10.1007/978-3-319-46520-3_4 CrossRefGoogle Scholar
  54. 54.
    Sanner, S.: Relational dynamic influence diagram language (RDDL): Language description (2010). http://users.cecs.anu.edu.au/~ssanner/IPPC_2011/RDDL.pdf
  55. 55.
    Stöcker, J., Lang, F., Garavel, H.: Parallel processes with real-time and data: the ATLANTIF intermediate format. In: Leuschel, M., Wehrheim, H. (eds.) IFM 2009. LNCS, vol. 5423, pp. 88–102. Springer, Heidelberg (2009). doi:10.1007/978-3-642-00255-7_7 CrossRefGoogle Scholar
  56. 56.
    Theelen, B.D., Geilen, M., Basten, T., Voeten, J., Gheorghita, S.V., Stuijk, S.: A scenario-aware data flow model for combined long-run average and worst-case performance analysis. In: MEMOCODE, pp. 185–194. IEEE CS (2006)Google Scholar
  57. 57.
    Villén-Altamirano, M., Villén-Altamirano, J.: The rare event simulation method RESTART: efficiency analysis and guidelines for its application. In: Kouvatsos, D.D. (ed.) Network Performance Engineering. LNCS, vol. 5233, pp. 509–547. Springer, Heidelberg (2011). doi:10.1007/978-3-642-02742-0_22 CrossRefGoogle Scholar

Copyright information

© Springer-Verlag GmbH Germany 2017

Authors and Affiliations

  • Carlos E. Budde
    • 1
  • Christian Dehnert
    • 2
  • Ernst Moritz Hahn
    • 3
  • Arnd Hartmanns
    • 4
  • Sebastian Junges
    • 2
  • Andrea Turrini
    • 3
  1. 1.Universidad Nacional de CórdobaCórdobaArgentina
  2. 2.RWTH Aachen UniversityAachenGermany
  3. 3.State Key Laboratory of Computer Science, Institute of SoftwareChinese Academy of SciencesBeijingChina
  4. 4.University of TwenteEnschedeThe Netherlands

Personalised recommendations