Abstract
The development of formal specifications may benefit from prototyping activities. The production of an executable model for a given description helps bridging the gap between this specification and the corresponding reality. The KIDS/VDM system, based on the KIDS environment, provides these prototyping facilities for the model-based specification language of VDM. This paper illustrates its use in the specification of a bank transfer operation. The specification process starts from an abstract specification and details it by a series of refinements of either the control flow or the data structures. The case study shows how animation may be helpful at several stages of the process. It favours the dialog between the specifier and his customer and helps assessing the correspondence between the description and the actual problem. It also convinces the specifier of the validity of his refinements before he fulfills the necessary proof obligations.
Similar content being viewed by others
References
Andrews, D., Bruun, H., Hansen, B., Larsen, P., Plat, N. et al. 1995, Information Technology—Programming Languages, their environments and system software interfaces—Vienna Development Method-Specification Language Part 1: Base language, ISO.
Barclays Bank PLC,. 1991, The Barclays code of business banking, Barclays Bank, Commercial Banking Division.
Bicarregui, J. C., Fitzgerald, J. S., Lindsay, P. A., Moore, R. and Ritchie, B. 1994, Proof in VDM: A Practitioner's Guide, FACIT, Springer-Verlag.
Bowen, J. and Stavridou, V. 1992, Safety-critical systems, formal methods and standards, Technical Report PRG-TR-5-92, Oxford University Computing Laboratory.
Chung, L., Nixon, B. and Yu, E. 1995, Using non-functional requirements to systematically support change, RE '95-Second IEEE international symposium on Requirements Engineering.
Craigen, D., Gerhart, S. and Ralston, T. 1993, An international survey of industrial applications of formal methods, Technical Report NISTGCR 93/626, U.S. National Institute of Standards and technology.
Elmstrom, R., Larsen, P. G. and Lassen, P. B. 1994, The IFAD VDM-SL toolbox: a practical approach to formal specifications, ACM SIGPLAN Notices 29(9), 77-80.
Hayes, I. J. and Jones, C. B. 1989, Specifications are not (necessarily) executable, IEE, Software Engineering Journal 4(6), 320-338.
Hekmatpour, S. and Ince, D. 1988, Software prototyping, formal methods and VDM, Addison-Wesley.
Henderson, P. 1986, Functional programming, formal specification, and rapid prototyping, IEEE Transactions on Software Engineering 12(2), 241-250.
Jones, C. B. 1990, Systematic Software Development Using VDM (Secon Edition), Prentice-Hall, London.
Jones, C., Jones, K., Lindsay, P. and Moore, R. 1991, Mural: A Formal Development Support System, Springer-Verlag.
Kans, A. and Hayton, C. 1994, Using ABC to prototype VDM specifications, ACM SIGPLAN Notices 29(1), 27-37.
Larsen, P. G. 1994, Response to ”the formal specification of safety requirements for storing explosives”, Formal Aspects of Computing 6(5), 565-568.
Ledru, Y. 1994, Proof-based development of specifications with KIDS/VDM, in M. Naftalin, T. Denvir and M. Bertran (eds), FME'94: Industrial Benefit of Formal Methods, Vol. 873 of Lecture Notes in Computer Science, Springer-Verlag, pp. 214-232.
Ledru, Y. 1996, Using KIDS as a tool support for VDM, Proceedings of the 18th International Conference on Software Engineering, IEEE Computer Society Press.
Ledru, Y. and Liégeois, M.-H. 1991, Integrating REFINE prototypes in a VDM development framework, in B. Möller (ed.), Proceedings of the IFIP TC2 Working conference on Constructing Programs from Specifications, North-Holland, pp. 243-265.
Ledru, Y. and Liégeois, M.-H. 1992, Prototyping VDM specifications with KIDS, Proceedings of the 7th Knowledge-Based Software Engineering Conference, IEEE Computer Society Press, pp. 50-59.
Mukherjee, P. 1995, Computer-aided validation of formal specifications, IEE, Software Engineering Journal pp. 133-140.
Smith, D. 1990, KIDS: a semi-automatic program development system, IEEE Transactions on Software Engineering—Special Issue on formal Methods 16(9), 1024-1043.
Smith, D., Kotik, G. and Westfold, S. 1985, Research on Knowledge-Based Software Environments at Kestrel Institute, IEEE Transactions on Software Engineering 11(11), 1278-1295.
Spivey, J. 1992, The Z notation-A Reference Manual (Second Edition), Prentice Hall.
Terwilliger, R. B. and Campbell, R. H. 1989, ENCOMPASS: An environment for the incremental development of software, The Journal of Systems and Software 10, 41-53.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Ledru, Y. Specification and Animation of a Bank Transfer using KIDS/VDM. Automated Software Engineering 4, 33–51 (1997). https://doi.org/10.1023/A:1008603612253
Issue Date:
DOI: https://doi.org/10.1023/A:1008603612253