A strategy for the production of verifiable code using the B Method
The purpose of this paper is to describe extensions to the B Method in order to facilitate the generation of provably correct SPARK Ada code. Two strategies are provided. Firstly, a process model for the B Method is stated that allows the semi-automatic production of refinements through the use of standard library machines. Secondly, transformation rules are given for the automatic generation of SPARK Ada code from these refinements. Finally, an overview is given of how the semantics of Abstract Machine Notation and SPARK Ada can be used in order to verify these transformation rules.
Unable to display preview. Download preview PDF.
- 1.J-R Abrial, “The B Method for Large Software Specification Design and Coding”, in (eds. Prehn S. and Toeterel H.) Proceedings of VDM '91 Vol. 2. Springer-Verlag 1991.Google Scholar
- 2.J Bridge, An Introduction To Model Theory, Oxford University Press. 1973Google Scholar
- 3.B. Carre et al, SPARK Ada Course Notes. Program Validation Limited. 1992.Google Scholar
- 4.PROgram Development by SPECification and TRAnsformation Volume 1 Methodology PROSPECTRA Report M.1.1S3-R-55.3 March 1990Google Scholar
- 5.Program Validation Ltd., The Dynamic Semantics of SPARK Ada. Program Validation Ltd, 1993.Google Scholar
- 6.Program Validation Ltd., The Static Semantics of SPARK Ada. Program Validation Ltd, 1993.Google Scholar
- 7.RAISE Language Group, The RAISE Specification Language, Prentice HaQ International Ltd, 1992.Google Scholar