Verifying Controlled Components

  • Steve Schneider
  • Helen Treharne
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2999)


Recent work on combining CSP and B has provided ways of describing systems comprised of components described in both B (to express requirements on state) and CSP (to express interactive and controller behaviour). This approach is driven by the desire to exploit existing tool support for both CSP and B, and by the need for compositional proof techniques. This paper is concerned with the theory underpinning the approach, and proves a number of results for the development and verification of systems described using a combination of CSP and B. In particular, new results are obtained for the use of the hiding operator, which is essential for abstraction. The paper provides theorems which enable results obtained (possibly with tools) on the CSP part of the description to be lifted to the combination. Also, a better understanding of the interaction between CSP controllers and B machines in terms of non-discriminating and open behaviour on channels is introduced, and applied to the deadlock-freedom theorem. The results are illustrated with a toy lift controller running example.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [But00]
    Butler, M.: csp2B: A practical approach to combining CSP and B. Formal Aspects of Computing 12 (2000)Google Scholar
  2. [EST03]
    Evans, N., Schneider, S.A., Treharne, H.E.: Investigating a file transmission protocol using CSP and B. In: proceedings of ST.EVE workshop (2003)Google Scholar
  3. [FL03]
    Frappier, M., Laleau, R.: Proving event ordering properties for information systems. In: Bert, D., P. Bowen, J., King, S. (eds.) ZB 2003. LNCS, vol. 2651, pp. 421–436. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  4. [For97]
    Formal Systems (Europe) Ltd. Failures-Divergences Refinement: FDR2 Manual (1997)Google Scholar
  5. [Mor90]
    Morgan, C.C.: Of wp and CSP. In: Feijen, W.H.J., van Gasteren, A.J.M., Gries, D., Misra, J. (eds.) Beauty is our Business: a birthday salute to Edsger J. Dijkstra, Springer, Heidelberg (1990)Google Scholar
  6. [Ros97]
    Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice-Hall, Englewood Cliffs (1997)Google Scholar
  7. [Sca98]
    Scattergood, B.: The Semantics and Implementation of Machine-Readable CSP. D. Phil thesis, Oxford University (1998)Google Scholar
  8. [Sch99]
    Schneider, S.A.: Concurrent and Real-time Systems: The CSP approach. Wiley, Chichester (1999)Google Scholar
  9. [SD01]
    Smith, G., Derrick, J.: Specification, refinement and verification of concurrent systems - an integration of Object-Z and CSP. Formal Methods in System Design 18(3) (2001)Google Scholar
  10. [ST02a]
    Schneider, S., Treharne, H.: CSP theorems for communicating B machines. Technical Report CSD-TR-02-05, Royal Holloway, University of London (2002)Google Scholar
  11. [ST02b]
    Schneider, S.A., Treharne, H.E.: Communicating B machines. In: Bert, D., P. Bowen, J., C. Henson, M., Robinson, K. (eds.) B 2002 and ZB 2002. LNCS, vol. 2272, p. 416. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  12. [Tre00]
    Treharne, H.E.: Combining control executives and software specifications. PhD thesis, Royal Holloway, University of London (2000)Google Scholar
  13. [TSB03]
    Treharne, H.E., Schneider, S.A., Bramble, M.: Combining specifications using communication. In: Bert, D., P. Bowen, J., King, S. (eds.) ZB 2003. LNCS, vol. 2651, pp. 58–78. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  14. [WC01]
    Woodcock, J.C.P., Cavalcanti, A.L.C.: A concurrent language for refinement. In: 5th Irish Workshop on Formal Methods (2001)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Steve Schneider
    • 1
  • Helen Treharne
    • 1
  1. 1.Department of Computer ScienceRoyal Holloway, University of London 

Personalised recommendations