Constructing and Refining Modules in a Type Theory

Ahmed, Shahad N (1994) Constructing and Refining Modules in a Type Theory. PhD thesis, University of Glasgow.

Full text available as:
[thumbnail of 10992296.pdf] PDF
Download (7MB)

Abstract

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.

Item Type: Thesis (PhD)
Qualification Level: Doctoral
Additional Information: Adviser: Joseph Morris
Keywords: Computer science
Date of Award: 1994
Depositing User: Enlighten Team
Unique ID: glathesis:1994-74674
Copyright: Copyright of this thesis is held by the author.
Date Deposited: 27 Sep 2019 17:14
Last Modified: 27 Sep 2019 17:14
URI: https://theses.gla.ac.uk/id/eprint/74674

Actions (login required)

View Item View Item

Downloads

Downloads per month over past year