CSP theorems for communicating B machines

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.

[1]  J. Bryan Scattergood The semantics and implementation of machine-readable CSP , 1998 .

[2]  Jim Woodcock,et al.  The Semantics of Circus , 2002, ZB.

[3]  Jim Davies,et al.  Recursion induction for real-time processes , 1993, Formal Aspects of Computing.

[4]  Michael J. Butler,et al.  ProB: A Model Checker for B , 2003, FME.

[5]  Michael J. Butler,et al.  Combining CSP and B for Specification and Property Verification , 2005, FM.

[6]  Clemens Fischer CSP-OZ: a combination of object-Z and CSP , 1997 .

[7]  Dominique Cansell,et al.  Refinement and Reachability in EventB , 2005, ZB.

[8]  Helen Treharne,et al.  Composing Speciications Using Communication , 2003 .

[9]  Steve Schneider The B-method - an introduction , 2001, The cornerstones of computing series.

[10]  Ernst-Rüdiger Olderog,et al.  Specification and (property) inheritance in CSP-OZ , 2005, Sci. Comput. Program..

[11]  Steve A. Schneider,et al.  Concurrent and Real-time Systems: The CSP Approach , 1999 .

[12]  Steve A. Schneider,et al.  Communicating B Machines , 2002, ZB.

[13]  Michael J. Butler,et al.  csp2B: A Practical Approach to Combining CSP and B , 1999, Formal Aspects of Computing.

[14]  Andrew William Roscoe,et al.  The Theory and Practice of Concurrency , 1997 .

[15]  Steve A. Schneider,et al.  Composing Specifications Using Communication , 2003, ZB.

[16]  Carroll Morgan,et al.  Of wp and CSP , 1990 .

[17]  Helen Treharne Combining control executives and software specifications , 2000 .

[18]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[19]  W. H. J. Feijen,et al.  Beauty Is Our Business: A Birthday Salute to Edsger W.Dijkstra , 1990 .

[20]  Marc Frappier,et al.  Proving Event Ordering Properties for Information Systems , 2003, ZB.

[21]  Andrew William Roscoe A mathematical theory of communicating processes , 1982 .

[22]  Jim Woodcock,et al.  A Concurrent Language for Refinement , 2001, IWFM.