Advertisement

Compositional Model Checking Is Lively

  • Sander de Putter
  • Anton WijsEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10487)

Abstract

Compositional model checking approaches attempt to limit state space explosion by iteratively combining behaviour of some of the components in the system and reducing the result modulo an appropriate equivalence relation. For an equivalence relation to be applicable, it should be a congruence for parallel composition where synchronisations between the components may be introduced. An equivalence relation preserving both safety and liveness properties is divergence-preserving branching bisimulation (DPBB). It is generally assumed that DPBB is a congruence for parallel composition, even in the context of synchronisations between components. However, so far, no such results have been published.

This work finally proves that this is the case. Furthermore, we discuss how to safely decompose an existing LTS network in components such that the re-composition is equivalent to the original LTS network. All proofs have been mechanically verified using the Coq proof assistant.

Finally, to demonstrate the effectiveness of compositional model checking with intermediate DPBB reductions, we discuss the results we obtained after having conducted a number of experiments.

Notes

Acknowledgements

The authors would like to thank Frédéric Lang for his comments that helped to improve this paper.

References

  1. 1.
    Andersen, H.: Partial model checking. In: LICS, pp. 398–407. IEEE Computer Society Press (1995)Google Scholar
  2. 2.
    Andersen, H.: Partial model checking of modal equations: a survey. STTT 2(3), 242–259 (1999)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Baier, C., Katoen, J.P.: Principles of Model Checking. MIT Press (2008)Google Scholar
  4. 4.
    Bal, H., Epema, D., de Laat, C., van Nieuwpoort, R., Romein, J., Seinstra, F., Snoek, C., Wijshoff, H.: A medium-scale distributed system for computer science research: infrastructure for the long term. IEEE Comput. 49(5), 54–63 (2016)CrossRefGoogle Scholar
  5. 5.
    Bertot, Y., Castéran, P.: Interactive Theorem Proving and Program Development, Coq’ Art: The Calculus of Inductive Constructions. Texts in Theoretical Computer Science. Springer (2004)Google Scholar
  6. 6.
    Bloom, B.: Structural operational semantics for weak bisimulations. Theor. Comput. Sci. 146(1), 25–68 (1995)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Clarke, E.M., Emerson, E.A., Jha, S., Sistla, A.P.: Symmetry reductions in model checking. In: Hu, A.J., Vardi, M.Y. (eds.) CAV 1998. LNCS, vol. 1427, pp. 147–158. Springer, Heidelberg (1998). doi: 10.1007/BFb0028741 CrossRefGoogle Scholar
  8. 8.
    Clarke, E.M., Long, D.E., McMillan, K.L.: Compositional model checking. In: LICS, pp. 353–362. IEEE Computer Society Press, June 1989Google Scholar
  9. 9.
    Clarke, E., Grumberg, O., Peled, D.: Model Checking. The MIT Press, Cambridge (1999)Google Scholar
  10. 10.
    Cranen, S., Groote, J.F., Keiren, J.J.A., Stappers, F.P.M., de Vink, E.P., Wesselink, W., Willemse, T.A.C.: An overview of the mCRL2 toolset and its recent advances. In: Piterman, N., Smolka, S.A. (eds.) TACAS 2013. LNCS, vol. 7795, pp. 199–213. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-36742-7_15 CrossRefGoogle Scholar
  11. 11.
    Crouzen, P., Lang, F.: Smart reduction. In: Giannakopoulou, D., Orejas, F. (eds.) FASE 2011. LNCS, vol. 6603, pp. 111–126. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-19811-3_9 CrossRefGoogle Scholar
  12. 12.
    Garavel, H., Lang, F., Mateescu, R.: Compositional verification of asynchronous concurrent systems using CADP. Acta Informatica 52(4–5), 337–392 (2015)MathSciNetCrossRefzbMATHGoogle Scholar
  13. 13.
    van Glabbeek, R.J., Weijland, W.P.: Branching time and abstraction in bisimulation semantics. J. ACM 43(3), 555–600 (1996)MathSciNetCrossRefzbMATHGoogle Scholar
  14. 14.
    van Glabbeek, R., Luttik, S., Trc̆ka, N.: Computation tree logic with deadlock detection. LMCS 5(4) (2009)Google Scholar
  15. 15.
    van Glabbeek, R., Luttik, S., Trčka, N.: Branching bisimilarity with explicit divergence. Fundam. Inf. 93(4), 371–392 (2009)MathSciNetzbMATHGoogle Scholar
  16. 16.
    Groote, J.F., Wijs, A.: An \(O(m\log n)\) algorithm for stuttering equivalence and branching bisimulation. In: Chechik, M., Raskin, J.-F. (eds.) TACAS 2016. LNCS, vol. 9636, pp. 607–624. Springer, Heidelberg (2016). doi: 10.1007/978-3-662-49674-9_40 CrossRefGoogle Scholar
  17. 17.
    Groote, J., Jansen, D., Keiren, J., Wijs, A.: An \(O(m \log n)\) algorithm for computing stuttering equivalence and branching bisimulation. ACM Trans. Comput. Logic 18(2), 13:1–13:34 (2017)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    ISO/IEC: LOTOS – A Formal Description Technique Based on the Temporal Ordering of Observational Behaviour. International Standard 8807, International Organization for Standardization – Information Processing Systems – Open Systems Interconnection (1989)Google Scholar
  19. 19.
    Kozen, D.: Results on the propositional \(\mu \)-calculus. Theor. Comput. Sci. 27, 333–354 (1983)MathSciNetCrossRefzbMATHGoogle Scholar
  20. 20.
    Krimm, J.-P., Mounier, L.: Compositional state space generation from Lotos programs. In: Brinksma, E. (ed.) TACAS 1997. LNCS, vol. 1217, pp. 239–258. Springer, Heidelberg (1997). doi: 10.1007/BFb0035392 CrossRefGoogle Scholar
  21. 21.
    Lang, F.: Exp.Open 2.0: a flexible tool integrating partial order, compositional, and on-the-fly verification methods. In: Romijn, J., Smith, G., van de Pol, J. (eds.) IFM 2005. LNCS, vol. 3771, pp. 70–88. Springer, Heidelberg (2005). doi: 10.1007/11589976_6 CrossRefGoogle Scholar
  22. 22.
    Lang, F.: Refined interfaces for compositional verification. In: Najm, E., Pradat-Peyre, J.-F., Donzeau-Gouge, V.V. (eds.) FORTE 2006. LNCS, vol. 4229, pp. 159–174. Springer, Heidelberg (2006). doi: 10.1007/11888116_13 CrossRefGoogle Scholar
  23. 23.
    Lang, F.: Unpublished textual and PVS proof that branching bisimulation is a congruence for Networks of LTSs. This proof does not consider DPBB. Personal Communication (2016)Google Scholar
  24. 24.
    Maraninchi, F.: Operational and compositional semantics of synchronous automaton compositions. In: Cleaveland, W.R. (ed.) CONCUR 1992. LNCS, vol. 630, pp. 550–564. Springer, Heidelberg (1992). doi: 10.1007/BFb0084815 CrossRefGoogle Scholar
  25. 25.
    Mateescu, R., Wijs, A.: Property-dependent reductions adequate with divergence-sensitive branching bisimilarity. Sci. Comput. Program. 96(3), 354–376 (2014)CrossRefGoogle Scholar
  26. 26.
    Mazzara, M., Lanese, I.: Towards a unifying theory for web services composition. In: Bravetti, M., Núñez, M., Zavattaro, G. (eds.) WS-FM 2006. LNCS, vol. 4184, pp. 257–272. Springer, Heidelberg (2006). doi: 10.1007/11841197_17 CrossRefGoogle Scholar
  27. 27.
    Milner, R.: Communication and Concurrency. Prentice-Hall, New York (1989)zbMATHGoogle Scholar
  28. 28.
    De Nicola, R., Vaandrager, F.: Action versus state based logics for transition systems. In: Guessarian, I. (ed.) LITP 1990. LNCS, vol. 469, pp. 407–419. Springer, Heidelberg (1990). doi: 10.1007/3-540-53479-2_17 CrossRefGoogle Scholar
  29. 29.
    Pelánek, R.: BEEM: benchmarks for explicit model checkers. In: Bošnački, D., Edelkamp, S. (eds.) SPIN 2007. LNCS, vol. 4595, pp. 263–267. Springer, Heidelberg (2007). doi: 10.1007/978-3-540-73370-6_17 CrossRefGoogle Scholar
  30. 30.
    Peled, D.: Ten years of partial order reduction. In: Hu, A.J., Vardi, M.Y. (eds.) CAV 1998. LNCS, vol. 1427, pp. 17–28. Springer, Heidelberg (1998). doi: 10.1007/BFb0028727 CrossRefGoogle Scholar
  31. 31.
    de Putter, S., Wijs, A.: Verifying a verifier: on the formal correctness of an LTS transformation verification technique. In: Stevens, P., Wąsowski, A. (eds.) FASE 2016. LNCS, vol. 9633, pp. 383–400. Springer, Heidelberg (2016). doi: 10.1007/978-3-662-49665-7_23 CrossRefGoogle Scholar
  32. 32.
    Roscoe, A.: The Theory and Practice of Concurrency. Prentice-Hall (1998)Google Scholar
  33. 33.
    Spaninks, L.: An Axiomatisation for Rooted Branching Bisimulation with Explicit Divergence. Master’s thesis, Eindhoven University of Technology (2013)Google Scholar
  34. 34.
    Ulidowski, I., Phillips, I.: Ordered SOS process languages for branching and eager bisimulations. Inf. Comput. 178(1), 180–213 (2002)MathSciNetCrossRefzbMATHGoogle Scholar
  35. 35.
    Verhoef, C.: A congruence theorem for structured operational semantics with predicates and negative premises. In: Jonsson, B., Parrow, J. (eds.) CONCUR 1994. LNCS, vol. 836, pp. 433–448. Springer, Heidelberg (1994). doi: 10.1007/978-3-540-48654-1_32 CrossRefGoogle Scholar
  36. 36.
    Wijs, A.: Define, verify, refine: correct composition and transformation of concurrent system semantics. In: Fiadeiro, J.L., Liu, Z., Xue, J. (eds.) FACS 2013. LNCS, vol. 8348, pp. 348–368. Springer, Cham (2014). doi: 10.1007/978-3-319-07602-7_21 Google Scholar
  37. 37.
    Wijs, A.J.: Confluence detection for transformations of labelled transition systems. In: Proceedings of the 2nd Graphs as Models Workshop (GaM 2015). EPTCS, vol. 181, pp. 1–15. Open Publishing Association (2015)Google Scholar
  38. 38.
    Wijs, A., Engelen, L.: Efficient property preservation checking of model refinements. In: Piterman, N., Smolka, S.A. (eds.) TACAS 2013. LNCS, vol. 7795, pp. 565–579. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-36742-7_41 CrossRefGoogle Scholar
  39. 39.
    Wijs, A., Engelen, L.: REFINER: towards formal verification of model transformations. In: Badger, J.M., Rozier, K.Y. (eds.) NFM 2014. LNCS, vol. 8430, pp. 258–263. Springer, Cham (2014). doi: 10.1007/978-3-319-06200-6_21 CrossRefGoogle Scholar
  40. 40.
    Wijs, A.: Achieving discrete relative timing with untimed process algebra. In: Proceedings of the 12th Conference on Engineering of Complex Computer Systems (ICECCS 2007), pp. 35–44. IEEE Computer Society Press (2007)Google Scholar
  41. 41.
    Wijs, A.: GPU accelerated strong and branching bisimilarity checking. In: Baier, C., Tinelli, C. (eds.) TACAS 2015. LNCS, vol. 9035, pp. 368–383. Springer, Heidelberg (2015). doi: 10.1007/978-3-662-46681-0_29 Google Scholar
  42. 42.
    Wijs, A., Fokkink, W.: From \(\chi _{\mathit{t}}\) to \(\mu \)CRL: combining performance and functional analysis. In: Proceedings of the 10th Conference on Engineering of Complex Computer Systems (ICECCS 2005), pp. 184–193. IEEE Computer Society Press (2005)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Eindhoven University of TechnologyEindhovenNetherlands

Personalised recommendations