Combining CSP and B for Specification and Property Verification

  • Michael Butler
  • Michael Leuschel
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3582)


ProB is a model checking tool for the B Method. In this paper we present an extension of ProB that supports checking of specifications written in a combination of CSP and B. We explain how the notations are combined semantically and give an overview of the implementation of the combination. We illustrate the benefit that appropriate use of CSP, in conjunction with our tool, gives to B developments both for specification and for verification purposes.


B-Method Tool Support Model Checking Animation Logic Programming Constraints 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abrial, J.-R.: The B-Book. Cambridge University Press, Cambridge (1996)zbMATHCrossRefGoogle Scholar
  2. 2.
    Abrial, J.-R., Mussat, L.: Introducing dynamic constraints in B. In: Bert, D. (ed.) B 1998. LNCS, vol. 1393, p. 83. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  3. 3.
    U. B-Core (UK) Limited, Oxon. B-Toolkit, On-line manual, 1999. Available at,
  4. 4.
    Butler, M.J.: csp2B: A Practical Approach to Combining CSP and B. Formal Asp. Comput. 12(3), 182–198 (2000)zbMATHCrossRefGoogle Scholar
  5. 5.
    Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (1999)Google Scholar
  6. 6.
    Fischer, C.: CSP-OZ: A combination of Object-Z and CSP. In: Bowmann, H., Derrick, J. (eds.) Formal Methods for Open Object-Based Distributed Systems (FMOODS 1997), pp. 423–438. Chapman & Hall, Boca Raton (1997)Google Scholar
  7. 7.
    Formal Systems (Europe) Ltd. Failures-Divergence Refinement — FDR2 User ManualGoogle Scholar
  8. 8.
    Hartel, P., Butler, M., Currie, A., Henderson, P., Leuschel, M., Martin, A., Smith, A., Ultes-Nitsche, U., Walters, B.: Questions and answers about ten formal methods. In: Proc. 4th Int. Workshop on Formal Methods for Industrial Critical Systems, Trento, Italy (July 1999)Google Scholar
  9. 9.
    Hoare, C.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)zbMATHGoogle Scholar
  10. 10.
    Leuschel, M.: Design and implementation of the high-level specification language CSP(LP) in Prolog. In: Ramakrishnan, I.V. (ed.) PADL 2001. LNCS, vol. 1990, pp. 14–28. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  11. 11.
    Leuschel, M., Butler, M.: ProB: A Model Checker for B.. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) FME 2003. LNCS, vol. 2805, pp. 855–874. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  12. 12.
    Leuschel, M., Turner, E.: Visualizing larger states spaces in ProB. In: Treharne, H., King, S., C. Henson, M., Schneider, S. (eds.) ZB 2005. LNCS, vol. 3455, pp. 6–23. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  13. 13.
    Mahony, B.P., Dong, S.: Blending Object-Z and Timed CSP: An introduction to TCOZ. In: 20th International Conference on Software Engineering (ICSE 1998), pp. 95–104 (1998)Google Scholar
  14. 14.
    Mota, A., Sampaio, A.: Model-checking CSP-Z: strategy, tool support and industrial application. Sci. Comput. Program. 40(1), 59–96 (2001)zbMATHCrossRefGoogle Scholar
  15. 15.
    Roscoe, A.: The Theory and Practice of Concurrency. Prentice-Hall, Englewood Cliffs (1998)Google Scholar
  16. 16.
    Scattergood, J.B.: Tools for CSP and Timed-CSP. PhD thesis, Oxford University (1997)Google Scholar
  17. 17.
    Schneider, S., Treharne, H.: Verifying controlled components. In: Boiten, E.A., Derrick, J., Smith, G.P. (eds.) IFM 2004. LNCS, vol. 2999, pp. 87–107. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  18. 18.
    Smith, G.: A semantic integration of Object-Z and CSP for the specification of concurrent systems. In: Fitzgerald, J.S., Jones, C.B., Lucas, P. (eds.) FME 1997. LNCS, vol. 1313, pp. 62–81. Springer, Heidelberg (1997)Google Scholar
  19. 19.
    Steria, F.: Aix-en-Provence. Atelier B, User and Reference Manuals(1996), Available at,
  20. 20.
    Woodcock, J., Cavalcanti, A.: The semantics of Circus. In: Bert, D., P. Bowen, J., C. Henson, M., Robinson, K. (eds.) B 2002 and ZB 2002. LNCS, vol. 2272, pp. 184–203. Springer, Heidelberg (2002)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Michael Butler
    • 1
  • Michael Leuschel
    • 1
    • 2
  1. 1.School of Electronics and Computer ScienceUniversity of Southampton, HighfieldSouthamptonUK
  2. 2.Institut für InformatikHeinrich-Heine Universität DüsseldorfDüsseldorf

Personalised recommendations