Verifying Controlled Components
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.
- [But00]Butler, M.: csp2B: A practical approach to combining CSP and B. Formal Aspects of Computing 12 (2000)Google Scholar
- [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
- [For97]Formal Systems (Europe) Ltd. Failures-Divergences Refinement: FDR2 Manual (1997)Google Scholar
- [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
- [Ros97]Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice-Hall, Englewood Cliffs (1997)Google Scholar
- [Sca98]Scattergood, B.: The Semantics and Implementation of Machine-Readable CSP. D. Phil thesis, Oxford University (1998)Google Scholar
- [Sch99]Schneider, S.A.: Concurrent and Real-time Systems: The CSP approach. Wiley, Chichester (1999)Google Scholar
- [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
- [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
- [Tre00]Treharne, H.E.: Combining control executives and software specifications. PhD thesis, Royal Holloway, University of London (2000)Google Scholar
- [WC01]Woodcock, J.C.P., Cavalcanti, A.L.C.: A concurrent language for refinement. In: 5th Irish Workshop on Formal Methods (2001)Google Scholar