A Methodology for Algorithm Development Through Schema Transformations
M. N. Muralidharan · CERN Document Server (European Organization for Nuclear Research) · 1982
A programming methodology based on schema transformations is presented. Such an approach is a logical outcome of recent developments in program manipulating systems. Concurrent development of algorithms and their proofs of correctness is a significant feature of the proposed methodology. As the development process begins with an abstract schema, it is often possible to derive several related end algorithms in a single development process. This has implications in both the economics of software development and the understanding and teaching of algorithms. The initial schematic specification (a skeleton algorithm schema), the intermediate and final algorithm schemata are all expressed in Darlington's first-order recursion equation language exploiting set-theoretic constructs. A set of transformation rules together with a set of reduction rules for set expressions is then used to successively transform the schematic specification into different algorithm schemata. Most of the transformations are applications of a small number of common rewriting rules.