Results 1 -
6 of
6
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.
Providing User-Oriented Support for Software Development by Formal Methods
- In Proceedings of 6th Int. Workshop on CASE
, 1992
"... Existing tools for software development by formal methods lack user-oriented properties necessary to their effective use in software engineering. We propose a strategy for overcoming these deficiencies by interposing a user-oriented front-end editor between the user and the formal method tool itself ..."
Abstract
-
Cited by 4 (4 self)
- Add to MetaCart
Existing tools for software development by formal methods lack user-oriented properties necessary to their effective use in software engineering. We propose a strategy for overcoming these deficiencies by interposing a user-oriented front-end editor between the user and the formal method tool itself. We demonstrate the feasibility of this approach by adapting an existing generic language-based editor to provide a frontend to an existing theorem prover. To cater for the full range of structures which arise in formal methods, we propose to define a generic model of formal method documents and to develop a corresponding front-end editor for such documents which is capable of real-time interaction with a corresponding variety of tools supporting formal methods. 1 Introduction Software development by formal methods must be seen as an advanced form of computer-aided software engineering. Development by such methods involves an overwhelming amount of technical and managerial detail in gener...
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...
Object Organisation in Software Environments for Formal Methods
- PROC. OF THE 4TH INTERNATIONAL JOINT CONFERENCE ON THE THEORY AND PRACTICE OF SOFTWARE DEVELOPMENT (TAPSOFT '93
, 1993
"... Software development by formal methods involves an overwhelming amount of technical and managerial detail. Systematic organisation of this information in a method's support environment is an important engineering concern. In this paper, we introduce a model for object organisation in software envir ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Software development by formal methods involves an overwhelming amount of technical and managerial detail. Systematic organisation of this information in a method's support environment is an important engineering concern. In this paper, we introduce a model for object organisation in software environments for formal methods, with particular emphasis on easy construction, modification, review and reuse of software objects. We demonstrate how the model can be instantiated to individual methodologies to obtain the object organisation architectures for their support environments.
Incorporating Constructive Tools. . .
- In Proc. of 7th Australian Software Engineering Conference
, 1993
"... As a uniform front-end user interface, a generic language-based editor should have the capability to incorporate both analytic and constructive back-end tools. In this paper, we analyse the requirements of, and propose a strategy for, integrating constructive tools into a generic language-based e ..."
Abstract
- Add to MetaCart
As a uniform front-end user interface, a generic language-based editor should have the capability to incorporate both analytic and constructive back-end tools. In this paper, we analyse the requirements of, and propose a strategy for, integrating constructive tools into a generic language-based editor. The major issues addressed include definition of software documents containing tool contributions, real-time consistency checking of such documents, communication and synchronisation between the editor and constructive tools. We demonstrate the feasibility of this approach by integrating a theorem prover into the enhanced generic editor. To cater for the full range of representation and integration requirements of both analytic and constructive tools, we propose to define a generic model of software documents and to develop a corresponding front-end editor for such documents which is capable of real-time interaction with these tools. 1 Introduction Software development tools ...

