Abstract
We are investigating software design processes using a three part approach. For a design method of interest, we first perform walkthroughs on a number of small problems. Second, we construct a simulation program which duplicates the designs produced by the walkthroughs, and third, we construct a process program that supports human application of the method. We have been pursuing this program for the formal design process developed by Dijkstra and Gries. In this paper, we describe our first step towards process programming this method: ISLET, a language-oriented program/proof editor. ISLET supports simple stepwise refinement with proof by automatically generating and mechanically certifying verification conditions. In addition, through ISLET the programmer has access to a library of pre-verified cliches that can be used to create programs more easily. We have constructed a prototype implementation in Prolog and used it to generate a number of example designs.
Publisher
Association for Computing Machinery (ACM)
Reference52 articles.
1. A 15 Year Perspective on Automatic Programming
2. 4
. Curtis B. ed. Tutorial: Human Factors in Software Development (Second Edition) IEEE Computer Society Washington D.C. 1985. 4. Curtis B. ed. Tutorial: Human Factors in Software Development (Second Edition) IEEE Computer Society Washington D.C. 1985.
3. The Role of Notation and Knowledge Representation in the Determination of Programming Strategy: A Framework for Integrating Models of Programming Behavior