Results 1 -
3 of
3
A Tool for Developing Correct Programs By Refinement
- PROC. BCS 7TH REFINEMENT WORKSHOP
, 1996
"... The refinement calculus for the development of programs from specifications is well suited to mechanised support. We review the requirements for tool support of refinement as gleaned from our experience with a number of existing refinement tools, and report on the design and implementation of a ..."
Abstract
-
Cited by 13 (4 self)
- Add to MetaCart
The refinement calculus for the development of programs from specifications is well suited to mechanised support. We review the requirements for tool support of refinement as gleaned from our experience with a number of existing refinement tools, and report on the design and implementation of a new tool to support refinement based on these requirements. The main features of the new tool are close integration of refinement and proof in a single tool (the same mechanism is used for both), good management of the refinement context, an extensible theory base that allows the tool to be adapted to new application domains, and a flexible user interface.
A Review of Existing Refinement Tools
- 15TH INTERNATIONAL CONFERENCE ON PATTERN RECOGNITION, ICPR2000
, 1994
"... This report examines the requirements for a support tool for the stepwise refinement of program specifications to program code using the refinement calculus. This calculus, which was developed independently by Back, Morgan and Morris, is described briefly and the requirements for a tool to support t ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
This report examines the requirements for a support tool for the stepwise refinement of program specifications to program code using the refinement calculus. This calculus, which was developed independently by Back, Morgan and Morris, is described briefly and the requirements for a tool to support the major roles of refinement are outlined. These broad requirements are expanded to identify more specific functionality, and some existing tools are compared within this functional framework. After a general comparison, five selected case studies are described, which are used for a more detailed and specific comparison. The results of these comparisons are then classified to identify common and distinctive features of the two major tools. Finally the results obtained are summarized in terms of consequences for the generic program refinement tool project.
A Language of Refinements
, 1994
"... The refinement calculus is a formal technique for the development of programs which are provably correct with respect to their specifications. A formal language is presented for the description of program development using the refinement calculus. The language provides an abstract representation of ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
The refinement calculus is a formal technique for the development of programs which are provably correct with respect to their specifications. A formal language is presented for the description of program development using the refinement calculus. The language provides an abstract representation of the overall program development, reflecting its tree-like structure. The language is used for recording developments in the refinement editor -- an automated tool supporting the refinement calculus. 1 Introduction Formal techniques of program development [1, 2, 12, 14, 17] have the potential to revolutionise the way in which programs are constructed. The formalization of the process of program development brings with it the benefits of rigour, and increases confidence in the program's correctness. These formal methods also provide a history of the program's development from the initial specification. This is an important aspect, but one which is often overlooked. Our method applies to progra...

