Skip to main content
Log in

Interactive tool support for CSP || B consistency checking

  • Original Article
  • Published:
Formal Aspects of Computing

Abstract

CSP || B is an integration of two well known formal notations: CSP and B. It provides a method for modelling systems with both complex state (described in B machines) and control flow (described as CSP processes). Consistency checking within this approach verifies that a controller process never calls a B operation outside its precondition. Otherwise the behaviour of the operation cannot be predicted. In previous work, this check was carried out by manually decomposing the model before preprocessing the CSP processes to perform a hand-written weakest precondition proof. In this paper, a framework is described that mechanises consistency checking in a theorem prover and removes the need for preprocessing. This work is based on an existing PVS embedding of the CSP traces model, but it is extended by introducing a notion of state so that the interaction between processes and machines can be analysed. Numerous rules have been defined (and proved) which enable consistency checking and decomposition via PVS proof. These rules also formally justify the relaxation of previous constraints on CSP || B architectures, thereby widening the scope of CSP || B modelling. The PVS embedding and rules presented in this paper are not only applicable to CSP || B specifications, but to other combined approaches which use a non-blocking semantics for the state-based operations.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Abrial JR (1996) The B book: assigning programs to meanings. Cambridge University Press, Cambridge

    MATH  Google Scholar 

  2. Bodeveix JP, Filali M, Munoz C (1999) A formalization of the B method in Coq and PVS. In: FM’99 World Congress on formal methods. Springer, Heidelberg

  3. Bramble MP (2004) Investigating the consistency of combined specifications. MPhil, Royal Holloway, University of London

  4. Butler MJ (1992) A CSP approach to action systems. DPhil, Computer Laboratory, Oxford University

  5. Butler M, Leuschel M (2005) Combining CSP and B for specification and property verification. In: Fitzgerald J, Hayes I, Tarlecki A (eds) Proceedings of formal methods

  6. Cavalcanti A, Sampaio A, Woodcock J (2002) Refinement of actions in circus. In: REFINE’02, FME Workshop, Copenhagen

  7. Dutertre B, Schneider S (1997) Embedding CSP in PVS: an application to authentication protocols. In: TPHOL’97. Springer, Heidelberg

  8. Evans N, Treharne H (2005) Investigating a file transfer protocol using CSP and B. In: Software and System Modelling Special Issue of St. Eve workshop

  9. Evans N, Treharne H (2005) Linking semantic models to support CSP || B consistency checking. In: Proceedings of the 5th International Workshop on Automated Verification of Critical Systems, Vol 145. ENTCS

  10. Evans N, Treharne H, Laleau R, Frappier M (2004) How to verify dynamic properties of an information system. In: software engineering and formal methods. IEEE, New York

  11. Hoare CAR (1985) Communicating sequential processes. Prentice–Hall, Englewood Cliffs

    MATH  Google Scholar 

  12. Jensen T (1994) Abstract interpretation over algebraic data types. In: Proceedings of 5th IEEE international conference on computer languages. IEEE Press, New York

  13. Morgan CC (1990) Of wp and CSP. In: Feijen WHJ, van Gasteren AJM, Gries D, Misra J (eds) Beauty is our business: a birthday salute to Edsger W. Dijkstra. Springer, Heidelberg

    Google Scholar 

  14. Munoz C (1999) Rushby JM structural embedding: mechanization with method. In: FM’99 World congress on formal methods. Springer, Heidelberg

  15. Owre S, Rushby JM, Shankar N (1992) PVS: a prototype verification system. In: Proceedings of 11th international conference on automated deduction (CADE), LNAI 607. Springer, Heidelberg

  16. Owre S, Shankar N (1993) Abstract datatypes in PVS. Technical report SRI-CSL-93-9R, Computer Science Laboratory, SRI International, Menlo Park, CA (extensively revised in 1997)

  17. Owre S, Shankar N, Rushby JM (2001) PVS language reference. Reference manual, version 2.4. SRI International, Menlo Park

  18. Pratten C (1995) An introduction to proving AMN specifications with PVS. In: Proceedings of Z twenty years on—what is its future

  19. Roscoe AW (1998) The theory and practice of concurrency. Prentice–Hall, Englewood Cliffs

    Google Scholar 

  20. Schneider S (2001) The B method: an introduction. Palgrave

  21. Schneider S (1999) Concurrent and real-time systems: the CSP approach. Wiley, London

    Google Scholar 

  22. Shankar N, Owre S, Rushby JM, Stringer-Calvert DWJ (2001) PVS prover guide. Reference manual, version 2.4. SRI International, Menlo Park

  23. Schneider S, Treharne H (2002) Communicating B machines. In: ZB2002, LNCS 2272. Springer, Heidelberg

  24. Schneider S, Treharne H (2005) CSP theorems for communicating B machines. In formal aspects of computing, Vol 17, Number 4. Springer, Heidelberg

    Google Scholar 

  25. Smith G, Derrick J (1997) Refinement and verification of concurrent systems specified in object-Z and CSP. In ICFEM’97. IEEE Computer Society, New York

    Google Scholar 

  26. Treharne H (2000) Controlling software specifications. PhD Thesis, Royal Holloway, University of London

    Google Scholar 

  27. Treharne H, Schneider S (1999) Using a process algebra to control B operations. In: IFM99. Springer, Heidelberg

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Neil Evans.

Additional information

R. Lazic, R. Nagarajan and J. C. P. Woodcock

Rights and permissions

Reprints and permissions

About this article

Cite this article

Evans, N., Treharne, H. Interactive tool support for CSP || B consistency checking. Form Asp Comp 19, 277–302 (2007). https://doi.org/10.1007/s00165-007-0034-7

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-007-0034-7

Keywords

Navigation