Abstraction and verification in Alphard
- 1 August 1977
- journal article
- Published by Association for Computing Machinery (ACM) in Communications of the ACM
- Vol. 20 (8) , 553-564
- https://doi.org/10.1145/359763.359782
Abstract
The Alphard “form” provides the programmer with a great deal of control over the implementation of abstract data types. In this paper the abstraction techniques are extended from simple data representation and function definition to the iteration statement, the most important point of interaction between data and the control structure of the language itself. A means of specializing Alphard's loops to operate on abstract entities without explicit dependence on the representation of those entities is introduced. Specification and verification techniques that allow the properties of the generators for such iterations to be expressed in the form of proof rules are developed. Results are obtained that for common special cases of these loops are essentially identical to the corresponding constructs in other languages. A means of showing that a generator will terminate is also provided.Keywords
This publication has 4 references indexed in Scilit:
- An Introduction to the Construction and Verification of Alphard ProgramsIEEE Transactions on Software Engineering, 1976
- Automatic Program Verification 4: Proof of Termination within a Weak Logic of ProgramsPublished by Defense Technical Information Center (DTIC) ,1975
- A closer look at terminationActa Informatica, 1975
- A note on the for statementBIT Numerical Mathematics, 1972