Use this URL to cite or link to this record in EThOS:
Title: Constructing and refining modules in a type theory
Author: Ahmed, Shahad N.
Awarding Body: University of Glasgow
Current Institution: University of Glasgow
Date of Award: 1994
Availability of Full Text:
Access from EThOS:
Access from Institution:
The need to apply formal specification and development of programs to large problems has highlighted a need for methods to support modular development. This has two aspects: the modular construction of specifications, and the implementation of modular specifications. This thesis is concerned with both these activities. The main body of work in the development of modular specifications has been carried out in the context of algebraic specification languages, and model-based languages such as Z. However, these languages fail to provide some important mechanisms for structuring specifications. Furthermore, the complex semantics of these languages lead to complicated definitions of what it means for a program to be an implementation of a specification. In this thesis, we show that Martin-Lof's Type Theory provides a framework for both the specification and implementation of program modules; and this framework addresses the shortcomings, noted above, in other specification formalisms. The basic theoretical notion underlying our approach is that a specification is a type, and that an implementation of such a specification is any element in the type. We present a module specification language, and its associated implementation language. The semantics of both the specification and implementation languages are defined in Martin-Lof's Type Theory. We define some specification building operators for our specification language, and show how modular specifications may be incrementally constructed using the specification operators. We give some laws about the specification operators and show how these laws can be used to reason about, and restructure, modular specifications. We define a notion of refinement that supports the implementation of modular specifications by systematic mathematical transformation. We give some refinement laws for refining modular specifications. We also define some operators on program modules, and show how these operators can be used to systematically implement modular specifications.
Supervisor: Not available Sponsor: Not available
Qualification Name: Thesis (Ph.D.) Qualification Level: Doctoral
EThOS ID:  DOI: Not available