Flynn, Sharon (1997) A refinement calculus for expressions. PhD thesis, University of Glasgow.
Full text available as:
PDF (scanned version of the original print thesis)
Download (6MB) |
Abstract
This thesis describes a calculus intended for the refinement of expressions, in particular the calculus provides a framework for the formal derivation of executable expressions from initial specifications. The approach taken follows and extends the work of Back, Morris and Morgan on the refinement calculus for imperative style programs. We contribute to the area by providing a refinement calculus of expressions with a simple semantics and support for the formulation and development of specifications in parts. We take the view that a refinement calculus consists of: a specification language, which usually includes constructs which are non-executable, but is a "super-language" of a programming language; a refinement relation between specifications, which possesses particular properties necessary for the refinement of specifications in a stepwise and piecewise manner; and a set of laws determining how such refinements may proceed. We describe a simple functional language of expressions which includes features for undefinedness, non-determinism and partiality. The added constructs allow the easy formulation of expressive and abstract specifications, giving maximum freedom to the implementor. The issue of methods to structure large specifications is addressed through the concept of partiality. We provide support for the construction of specifications in parts, together with operations to compose partial specifications to form the whole. We also consider how the state and exception monads, used to hide imperative features in pure functional programs, might be used similarly to structure specifications. A refinement relation between specifications is defined. A set of laws suitable for the manipulation and refinement of expressions is proposed. The expression language is given a simple denotational semantics, using powerdomain structures to capture non-determinism. This semantics allows the easy and intuitive formal definition of refinement, using the Smyth ordering for powerdomains, and facilitates the construction of the proofs of the proposed laws for the calculus.
Item Type: | Thesis (PhD) |
---|---|
Qualification Level: | Doctoral |
Keywords: | Computer programs. |
Subjects: | Q Science > QA Mathematics > QA75 Electronic computers. Computer science |
Colleges/Schools: | College of Science and Engineering > School of Computing Science |
Supervisor's Name: | Morris, Joe |
Date of Award: | 1997 |
Depositing User: | Enlighten Team |
Unique ID: | glathesis:1997-71756 |
Copyright: | Copyright of this thesis is held by the author. |
Date Deposited: | 17 May 2019 09:31 |
Last Modified: | 05 Sep 2022 15:41 |
Thesis DOI: | 10.5525/gla.thesis.71756 |
URI: | https://theses.gla.ac.uk/id/eprint/71756 |
Actions (login required)
View Item |
Downloads
Downloads per month over past year