Simulating the Gries/Dijkstra design process
Abstract
Software design processes are investigated using a three-part approach. For a design method of interest, walkthroughs are first performed on a number of small problems. Second, a simulation program is constructed which duplicates the design produced by the walkthroughs. Third, a process program is constructed that supports human application of the method. This program is being pursued for the formal design process developed by Dijkstra and Gries. (E.W. Dijkstra, 1975, 1976; D. Gries, 1981). This method takes as input a pre- and post-condition specification written in predicate logic and through a sequence of steps transforms it into an algorithm written using guarded commands. A simulation program is described for this process that is based on a library of cliches describing solutions to common programming problems. A prototype implementation was constructed in Prolog and used to generate a number of example designs.>