A formal software development approach using refinement calculus
- 21 Downloads
The advantage of COOZ (Complete Object-Oriented Z) is to specify large scale software, but it does not support refinement calculus. Thus its application is confined for software development. Including refinement calculus into COOZ overcomes its disadvantage during design and implementation. The separation between the design and implementation for structure and notation is removed as well. The the software can be developed smoothly in the same frame. The combination of COOZ and refinement calculus can build object-oriented frame, in which the specification in COOZ is refined stepwise to code by calculus. In this paper, the development model is established, which is based on COOZ and refinement calculus. Data refinement is harder to deal with in a refinement tool than ordinary algorithmic refinement, since data refinement usually has to be done on a large program component at once. As to the implementation technology of refinement calculus, the data refinement calculator is constructed and an approach for data refinement which is based on data refinement calculus and program window inference is offered.
Keywordsformal development method refinement calculus formal specification object-oriented
Unable to display preview. Download preview PDF.
- de Bakker J Wet al. (eds.) InProc. REX Workshop on Stepwise Refinement on Distributed Systems, Lecture Notes in Computer Science 430, Springer-Verlag, 1989.Google Scholar
- Jones C B, Shaw R C, Denvir T (eds.). In5th Refinement Workshop in Computing, Springer-Verlag, 1992.Google Scholar
- Back R J R. On the correctness of refinement in program development [dissertation]. Report A-1978-4. Department of Computer Science, University of Helsinki, 1978.Google Scholar
- Back R J R, von Wright J. Refinement calculus, Part I: Sequential programs. InREX Workshop for Refinement of Distributed Systems, Lecture Notes in Computer Science 430, Nijmegen, The Netherlands, Springer-Verlag, 1989.Google Scholar
- Spivey J M. The Z Notation: A Reference Manual. Prentice-Hall, International Series in Computer Science, 2nd Edition, 1992.Google Scholar
- Stepeney Set al. More powerful Z data refinement. InZUM’98: The Z Formal Specification Notation, 11th International Conference of Z Users, Bowen J P, Hinchey M G (eds.), September 1998, Proceedings, Lecture Notes in Computer Science 1493, Springer-Verlag, 1998.Google Scholar
- Nellson D S. From Z to C: Illustration of a rigorous development method [dissertation]. PRG-79, Oxford University, Computing Laboratory, February, 1990.Google Scholar
- King S. Z and the refinement calculus. In VDM and Z — Formal Methods in Software Development, Bjørner Det al. (eds.), Lecture Notes in Computer Science 428, VDM-Europe, Springer-Verlag, 1990, pp. 164–188. Also published as a Technical Monograph PRG-79, Oxford University, Computing Laboratory, February, 1990.Google Scholar
- Morgan C C. Programming from Specifications. Prentice-Hall, International Series in Computer Science, 2nd Edition, 1994.Google Scholar
- J. von Wright. A lattice-theoretical base for program refinement [dissertation]. Abo Akademi University, SF-20500 Turku, Finland, Sept., 1990.Google Scholar
- Rimvydas Ruksenas. A tool for data refinement. Technical Report, TUCS — Turku Centre for Computer Science, Number TUCS-TR-119, August, 1997.Google Scholar