Farrow, Paul Frederick
(1988)
Logic, dependencies and specification engineering.
*University of Southampton, Doctoral Thesis*.

## Abstract

In chapter one we begin with a historical summary of the iterative programming paradigm. This leads on to a discussion of the properties of notations; we evaluate predicate calculus for each given property. Four classifications of program synthesis techniques are briefly discussed. The closing sections describe three classifications of current specification languages. Chapter two describes a new perspective on what it is to prove theorems. For propositional calculus we describe an encoding for a particular form of resolution proof space that can be used to determine the existence or not of a proof in that space. In chapter three we present a specification notation and synthesis algorithm for a rudimentary equational theory of four computable functions over one dimensional vectors. The specifications are expressed in the form of preconditions and postconditions, and the synthesis algorithm attempts to formulate an algorithm for them that both utilises parallelism and satisfies total correctness. In chapter four we present a transformational synthesis algorithm for a class of specifications expressed in first-order logic for specification of functions where the output is defined only in terms of the inputs. We also present a specification refinement methodology that can be used to refine a specification into a form suitable for synthesis. An inherent weakness of the standard verification techniques is discussed in the context of verifying programs that are classified as `safety-critical'.

This record has no associated files available for download.

## More information

## Identifiers

## Catalogue record

## Export record

## Contributors

## Download statistics

Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.