Investigating a file transfer protocol using CSP and B

In this paper a file transmission protocol specification is developed using the combination of two formal methods: CSP and B. The aim is to demonstrate that it is possible to integrate two well established formal methods whilst maintaining their individual advantages. We discuss how to compositionally verify the specification and ensure that it preserves some abstract properties. We also discuss how the structure of the specification follows a particular style which may be generally applicable when modelling other protocols using this combination .

[1]  Patrick Behm,et al.  MÉTÉOR : An Industrial Success in Formal Development , 1998, B.

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

[3]  Leslie Lamport,et al.  The ``Hoare Logic'' of CSP, and All That , 1984, TOPL.

[4]  Jim Woodcock,et al.  An Electronic Purse: Specification, Refinement and Proof , 2000 .

[5]  Adele Goldberg,et al.  Smalltalk-80 - the interactive programming environment , 1984 .

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

[7]  Frits W. Vaandrager,et al.  Proof-Checking a Data Link Protocol , 1994, TYPES.

[8]  Tommaso Bolognesi,et al.  Tableau methods to describe strong bisimilarity on LOTOS processes involving pure interleaving and enabling , 1994, FORTE.

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

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

[11]  Augusto Sampaio,et al.  Refinement of actions in Circus , 2002, Refine.

[12]  Natarajan Shankar,et al.  Experiments in Theorem Proving and Model Checking for Protocol Verification , 1996, FME.

[13]  Steve A. Schneider,et al.  CSP theorems for communicating B machines , 2005, Formal Aspects of Computing.

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

[15]  Marc Frappier,et al.  How to verify dynamic properties of information systems , 2004 .

[16]  John Derrick,et al.  Refinement and verification of concurrent systems specified in Object-Z and CSP , 1997, First IEEE International Conference on Formal Engineering Methods.

[17]  C. A. R. Hoare,et al.  Communicating Sequential Processes (Reprint) , 1983, Commun. ACM.

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

[19]  Louis Mussat,et al.  Specification and Design of a Transmission Protocol by Successive Refinements Using B1 , 1997 .

[20]  Marten van Sinderen,et al.  Specification Styles in Distributed Systems Design and Verification , 1991, Theor. Comput. Sci..

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

[22]  Radu Mateescu,et al.  Formal Description and Analysis of a Bounded Retransmission Protocol , 1996 .

[23]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[24]  C. A. R. Hoare,et al.  Notes on Communicating Sequential Systems , 1986 .

[25]  Martín Abadi,et al.  Composing specifications , 1989, TOPL.

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

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

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