M. S. Olivier. “Die Ondersteuning van Abstrakte Datatipes en Toestelle in ’n Programmeertaal”. M.Sc-verhandeling. Johannesburg, Suid-Afrika: Randse Afrikaanse Universiteit, 1985
THE SUPPORT OF ABSTRACT DATA TYPES AND DEVICES IN A PROGRAMMING LANGUAGE — SUMMARY
The peripherals of a computer system constitutes an important part of the hardware of the system. It is easy to see that there are similarities between these devices and an instance of an abstract data type — both act as encapsulated entities and are used through a well-defined interface. Objects such as RAM-disks, blur the distinction between devices and abstract data types. The concept “abstract device” is therefore defined to refer to any such encapsulated object which may only be used through its interface — the object may consist of hardware, software or a combination of both.
Objects and object oriented programming, as well as abstract data types and their support in current programming languages are examined for suitability to support abstract devices in a high-level programming language - it is argued that the usual programming language support for abstract data types provides the better solution for abstract device support.
Normal support for abstract data types are, however, not always sufficient to support abstract devices — the most important additional facility required, is the ability to support “record-based” abstract devices; a record-based abstract device is an abstract device such as a database where the information is organised in records (with a special meaning attached to certain fields of the record, e.g. key fields) and where the actual record differs from instance to instance. Since the definition of abstract devices includes the notion of abstract data types, it follows that a facility to support abstract devices will implicitly be able to support abstract data types. It is therefore necessary to extend the facilities for supporting abstract data types to support abstract devices as well.
The mathematical specification of both syntax and semantics of an abstract data type, has become an important field of study. It is consequently important to extend this aspect of abstract data types to abstract devices — the necessary additions are discussed and the mathematical specification of abstract devices is illustrated with a number of examples.
A programming language has been developed to demonstrate the facilities which may be provided to support abstract devices. The specification of abstract devices (in this programming language) is also discussed and illustrated with examples. A comprehensive example of an “intelligent” abstract device is also given.
A compiler cannot treat every instance of an abstract device like a conventional variable (although a conventional variable is, by definition, an instance of an abstract device). Since this area is the only where a compiler for a language which supports abstract devices, differs from another compiler, the internal representation of abstract devices is covered in detail.
A full specification of the above mentioned programming language is given in an appendix.
Hierdie verhandeling ondersoek die ondersteuning wat programmeertale vir toestelle behoort te bied.
Die begrip “toestel” word eerstens uitgebrei na “abstrakte toestel”, wat ’n breër veld objekte insluit as wat die geval met “toestel” is. Daarna word vasgestel watter fasiliteite in ’n programmeertaal voorsien kan word ter ondersteuning van abstrakte toestelle. Laastens word na ’n spesifieke programmeertaal (wat spesiaal vir die doel ontwikkel is) gekyk, om die ondersteuning van abstrakte toestelle in ’n programmeertaal volledig te illustreer.
Die onderwerpe wat in die onderskeie hoofstukke gedek word, is die volgende:
@mastersthesis(msc,
author={Martin S Olivier},
title={Die Ondersteuning van Abstrakte Datatipes en Toestelle in
’n Programmeertaal},
type={{M.S}c-verhandeling},
school={Randse Afrikaanse Universiteit},
address={Johannesburg, Suid-Afrika},
year={1985} )
[Publications] [Home]
Page maintained by Martin Olivier
Record refreshed: October 31, 2019