Introducing Backward Refinement into B
- First Online:
The B Method exploits a direct first-order wp predicate-transformer formulation of downward simulation to generate its proof obligations for a refinement, so B’s notion of refinement is restricted to that of forward refinement. Therefore some refinements we would intuitively recognise as valid cannot be proved so in B. While relational formulations of upward simulation abound in the refinement literature, the only predicate-transformer formulations proposed hitherto have been higher-order ones quantified over all postconditions, which cannot be conveniently exploited by the B Method. Here, we propose a new first-order predicate-transformer formulation of upward simulation suitable to be adopted by B for backward refinement.
Unable to display preview. Download preview PDF.
- J.-R. Abrial. The B-Book: Assigning Programs to Meanings. Cambridge University Press, 1996.Google Scholar
- W.-P. de Roever and K. Engelhardt. Data Refinement: Model-Oriented Proof Methods and their Comparison. Number 47 in Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, 1998.Google Scholar
- E.W. Dijkstra. A Discipline of Programming. Prentice-Hall International, 1976.Google Scholar
- Wim H. Hesselink. Programs, Recursion and Unbounded Choice. Number 27 in Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, 1992.Google Scholar
- C.A.R. Hoare, He Jifeng, and J.W. Sanders. Data refinement refined. Number 213 in Lecture Notes in Computer Science, pages 187–196. Springer-Verlag, 1986.Google Scholar
- C.C. Morgan. Programming from Specifications (2nd edn). Prentice Hall International, 1994.Google Scholar
- K. Robinson. Reconciling axiomatic and model-based specifications using the B Method. In Jonathan P. Bowen, Steve Dunne, Andy Galloway, and Steve King, editors, ZB2000: Formal Specification and Development in B and Z, number 1878 in Lecture Notes in Computer Science, pages 95–106. Springer, 2000.CrossRefGoogle Scholar
- Steve Schneider. The B Method: an introduction. Cornerstones of Computing. Palgrave, 2001.Google Scholar
- J.M. Spivey. The Z Notation: a Reference Manual (2nd edn). Prentice Hall, 1992.Google Scholar
- Susan Stepney, David Cooper, and Jim Woodcock. More powerful Z data refinement: pushing the state of the art in industrial refinement. In Jonathan P. Bowen, Andreas Fett, and Michael G. Hinchey, editors, ZUM’ 98: The Z Formal Specification Notation, 11th International Conference of Z Users, Berlin, September,1998, Proceedings, number 1493 in Lecture Notes in Computer Science, pages 284–307. Springer, 1997.Google Scholar
- J. Woodcock and J. Davies. Using Z: Specification, Refinement and Proof. Prentice Hall, 1996.Google Scholar
- J.C.P. Woodcock and Carroll Morgan. Refinement of state-based concurrent systems. In Dines Bjørner, C. A. R. Hoare, and Hans Langmaack, editors, VDM’ 90, VDM and Z — Formal Methods in Software Development, Third International Symposium of VDM Europe, Kiel, FRG, April 17–21, 1990, Proceedings, number 428 in Lecture Notes in Computer Science, pages 340–351. Springer, 1990.Google Scholar