Abstract
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.
The work described here was partially funded by the UK DTI project “B User Trials” (IED4/1/2182)
Preview
Unable to display preview. Download preview PDF.
References
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.
J Bridge, An Introduction To Model Theory, Oxford University Press. 1973
B. Carre et al, SPARK Ada Course Notes. Program Validation Limited. 1992.
PROgram Development by SPECification and TRAnsformation Volume 1 Methodology PROSPECTRA Report M.1.1S3-R-55.3 March 1990
Program Validation Ltd., The Dynamic Semantics of SPARK Ada. Program Validation Ltd, 1993.
Program Validation Ltd., The Static Semantics of SPARK Ada. Program Validation Ltd, 1993.
RAISE Language Group, The RAISE Specification Language, Prentice HaQ International Ltd, 1992.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Storey, A.C., Haughton, H.P. (1994). A strategy for the production of verifiable code using the B Method. In: Naftalin, M., Denvir, T., Bertran, M. (eds) FME '94: Industrial Benefit of Formal Methods. FME 1994. Lecture Notes in Computer Science, vol 873. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58555-9_104
Download citation
DOI: https://doi.org/10.1007/3-540-58555-9_104
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-58555-8
Online ISBN: 978-3-540-49031-9
eBook Packages: Springer Book Archive