Skip to main content

Using the Parallel ATerm Library for Parallel Model Checking and State Space Generation

  • Chapter
  • First Online:
A Journey from Process Algebra via Timed Automata to Model Learning

Abstract

Process algebras are used to study the behaviour of parallel systems. The mCRL2 toolset has been designed to analyse process algebraic models of such systems. Given that almost any contemporary desktop computer has multiple processors on board it seems natural that a toolset to analyse parallel behaviour now also employs parallelism.

This paper gives a compact account of the recently developed parallel term library [13]; terms are used to represent almost any main concept in the mCRL2 toolset. It subsequently reports on how the library is used to make parallel implementations of the generation of state spaces and the instantiation of Parameterised Boolean Equation Systems (PBES). We show that a gain of an order of magnitude is possible using parallel processing on contemporary hardware.

Partially supported by the projects 612.001.751 (NWO, AVVA) and 00795160 (TTW, MASCOT).

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Henri Korver, Wan Fokkink and Jan Friso Groote participated also.

References

  1. ISO 8807:1989. Information processing systems - Open Systems Interconnection - LOTOS - A formal description technique based on the temporal ordering of observational behaviour (1989). ISO/IECJTC1/SC7

    Google Scholar 

  2. Blom, S., Lisser, B., van de Pol, J., Weber, M.: A database approach to distributed state space generation. Electron. Notes Theor. Comput. Sci. 198(1), 17–32 (2008)

    Article  MathSciNet  Google Scholar 

  3. Blom, S., van de Pol, J.: Distributed branching bisimulation minimization by inductive signatures. In: Brim, L., van de Pol, J. (eds.) Proceedings 8th International Workshop on Parallel and Distributed Methods in verifiCation, PDMC 2009, Eindhoven, The Netherlands, 4th November 2009, volume 14 of EPTCS, pp. 32–46 (2009)

    Google Scholar 

  4. van den Brand, M.G., de Jong, H.A., Klint, P., Olivier, P.A.: Efficient annotated terms. Softw. Pract. Experience 30(3), 259–291 (2000)

    Article  Google Scholar 

  5. Calude, C.S., Jain, S., Khoussainov, B., Li, W., Stephan, F.: Deciding parity games in quasipolynomial time. In: STOC, pp. 252–263. ACM (2017)

    Google Scholar 

  6. Cranen, S., Luttik, B., Willemse, T.A.C.: Proof graphs for parameterised Boolean equation systems. In: D’Argenio, P.R., Melgratti, H. (eds.) CONCUR 2013. LNCS, vol. 8052, pp. 470–484. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-40184-8_33

    Chapter  Google Scholar 

  7. Cranen, S., Luttik, B., Willemse, T.A.: Evidence for fixpoint logic. In: CSL, Volume 41 of LIPIcs, pp. 78–93 (2015). Schloss Dagstuhl - Leibniz-Zentrum für Informatik

    Google Scholar 

  8. van Dam, A., Ploeger, B., Willemse, T.A.C.: Instantiation for parameterised Boolean equation systems. In: Fitzgerald, J.S., Haxthausen, A.E., Yenigun, H. (eds.) ICTAC 2008. LNCS, vol. 5160, pp. 440–454. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-85762-4_30

    Chapter  Google Scholar 

  9. Engel, A.J.P.M., Feijs, L.M.G., Groote, J.F., van de Pol, J.C., Springintveld, J.: Specification, design and simulation of services and protocols for a PDA using the infra red medium. Technical report RWB-510-re-95012, Information and Software Technology, Philips research. confidential (1995)

    Google Scholar 

  10. Gao, H., Groote, J.F., Hesselink, W.H.: Lock-free dynamic hash tables with open addressing. Distrib. Comput. 18(1), 21–42 (2005). https://doi.org/10.1007/s00446-004-0115-2

    Article  MATH  Google Scholar 

  11. Gao, H., Groote, J.F., Hesselink, W.H.: Lock-free parallel and concurrent garbage collection by mark &sweep. Sci. Comput. Program. 64(3), 341–374 (2007)

    Article  MathSciNet  Google Scholar 

  12. Gazda, M., Willemse, T.A.: Zielonka’s recursive algorithm: dull, weak and solitaire games and tighter bounds. In: GandALF, Volume 119 of EPTCS, pp. 7–20 (2013)

    Google Scholar 

  13. Groote, J.F., Laveaux, M., van Spaendonck, P.H.M.: A thread-safe term library. arXiv preprint arXiv:2111.02706 (2021)

  14. Groote, J.F., Mathijssen, A., Van Weerdenburg, M., Usenko, Y.: From \(\mu \)CRL to mCRL2: motivation and outline. Electron. Notes Theor. Comput. Sci. 162, 191–196 (2006)

    Google Scholar 

  15. Groote, J.F., Mousavi, M.R.: Modeling and Analysis of Communicating Systems. MIT Press, Cambridge (2014)

    Book  Google Scholar 

  16. Groote, J.F., Ponse, A.: The syntax and semantics of \(\mu \)CRL. Technical report CS-R9076, CWI, Amsterdam (1990)

    Google Scholar 

  17. Groote, J.F., Ponse, A.: Proof theory for \(\rm \mu \)CRL: a language for processes with data. In: Andrews, D.J., Groote, J.F., Middelburg, C.A. (eds.) Semantics of Specification Languages (SoSL). WC, pp. 232–251. Springer, London (1994). https://doi.org/10.1007/978-1-4471-3229-5_13

    Chapter  Google Scholar 

  18. Groote, J.F., Sellink, M.P.A.: Confluence for process verification. Theor. Comput. Sci. 170(1–2), 47–81 (1996)

    Article  MathSciNet  Google Scholar 

  19. Groote, J.F., Willemse, T.A.C.: A checker for modal formulae for processes with data. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2003. LNCS, vol. 3188, pp. 223–239. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-30101-1_10

    Chapter  MATH  Google Scholar 

  20. Groote, J.F., Willemse, T.A.: Model-checking processes with data. Sci. Comput. Program. 56(3), 251–273 (2005)

    Article  MathSciNet  Google Scholar 

  21. Groote, J.F., Willemse, T.A.: Parameterised Boolean equation systems. Theor. Comput. Sci. 343(3), 332–369 (2005)

    Article  MathSciNet  Google Scholar 

  22. Hesselink, W.H., Groote, J.F.: Wait-free concurrent memory management by create and read until deletion (carud). Distrib. Comput. 14(1), 31–39 (2001). https://doi.org/10.1007/PL00008924

    Article  MATH  Google Scholar 

  23. Jurdziński, M.: Small progress measures for solving parity games. In: Reichel, H., Tison, S. (eds.) STACS 2000. LNCS, vol. 1770, pp. 290–301. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-46541-3_24

    Chapter  Google Scholar 

  24. Keiren, J.J., Reniers, M.A., Willemse, T.A.: Structural analysis of Boolean equation systems. ACM Trans. Comput. Logic (TOCL) 13(1), 1–35 (2012)

    Article  MathSciNet  Google Scholar 

  25. Koolen, R.P.J., Willemse, T.A.C., Zantema, H.: Using SMT for solving fragments of parameterised Boolean equation systems. In: Finkbeiner, B., Pu, G., Zhang, L. (eds.) ATVA 2015. LNCS, vol. 9364, pp. 14–30. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-24953-7_3

    Chapter  MATH  Google Scholar 

  26. Larsen, K.G.: Efficient local correctness checking. In: von Bochmann, G., Probst, D.K. (eds.) CAV 1992. LNCS, vol. 663, pp. 30–43. Springer, Heidelberg (1993). https://doi.org/10.1007/3-540-56496-9_4

    Chapter  Google Scholar 

  27. Laveaux, M., Wesselink, W., Willemse, T.A.C.: On-the-fly solving for symbolic parity games. In: Fisman, D., Rosu, G. (eds.) TACAS 2022. Lecture Notes in Computer Science, vol. 13244, pp. 137–155. Springer, Cham (2022). https://doi.org/10.1007/978-3-030-99527-0_8

    Chapter  Google Scholar 

  28. Luttik., B.: Description and formal specification of the link layer of P1394. In: International Workshop on Applied Formal Methods in System Design, pp. 43–56 (1997)

    Google Scholar 

  29. Mader, A.: Verification of modal properties using Boolean equation systems. Ph.D. thesis, Technical University Munich (1997)

    Google Scholar 

  30. Mateescu, R.: Vérification des propriétés temporelles des programmes parallèles. Ph.D thesis, Institut National Polytechnique de Grenoble (1998)

    Google Scholar 

  31. Mauw, S., Veltink, G.: A process specification formalism. Fundamenta Informaticae 13, 85–139 (1990)

    Article  Google Scholar 

  32. Nagae, Y., Sakai, M.: Reduced dependency spaces for existential parameterised Boolean equation systems (2018). arXiv preprint arXiv:1802.06496

  33. Neele, T., Willemse, T.A.C., Groote, J.F.: Solving parameterised boolean equation systems with infinite data through quotienting. In: Bae, K., Ölveczky, P.C. (eds.) FACS 2018. LNCS, vol. 11222, pp. 216–236. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-02146-7_11

    Chapter  Google Scholar 

  34. Ploeger, B., Wesselink, J.W., Willemse, T.A.: Verification of reactive systems via instantiation of parameterised Boolean equation systems. Inf. Comput. 209(4), 637–663 (2011)

    Article  MathSciNet  Google Scholar 

  35. Pol, J.: JITty: a rewriter with strategy annotations. In: Tison, S. (ed.) RTA 2002. LNCS, vol. 2378, pp. 367–370. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45610-4_26

    Chapter  Google Scholar 

  36. Rockström, A., Saracco, R.: SDL-CCITT specification and description language. IEEE Trans. Commun. 30(6), 1310–1318 (1982)

    Article  Google Scholar 

  37. ITU-T Telecommunication standardisation sector of ITU. CHILL - The ITU-T programming language. ITU-T recommendation Z.200. Technical report, International Telecommunication Union (1999)

    Google Scholar 

  38. Usenko, Y.: Linearisation in \(\mu \)CRL. Ph. D thesis, Eindhoven University of Technology (2002)

    Google Scholar 

  39. Wesselink, W., Willemse, T.A.C.: Evidence extraction from parameterised Boolean equation systems. In ARQNL@IJCAR, volume 2095 of CEUR Workshop Proceedings, pp. 86–100. CEUR-WS.org (2018)

    Google Scholar 

  40. Zielonka, W.: Infinite games on finitely coloured graphs with applications to automata on infinite trees. Theor. Comput. Sci. 200(1–2), 135–183 (1998)

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jan Friso Groote .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Groote, J.F., Jilissen, K.H.J., Laveaux, M., van Spaendonck, P.H.M., Willemse, T.A.C. (2022). Using the Parallel ATerm Library for Parallel Model Checking and State Space Generation. In: Jansen, N., Stoelinga, M., van den Bos, P. (eds) A Journey from Process Algebra via Timed Automata to Model Learning . Lecture Notes in Computer Science, vol 13560. Springer, Cham. https://doi.org/10.1007/978-3-031-15629-8_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-15629-8_16

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-15628-1

  • Online ISBN: 978-3-031-15629-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics