Abstract Data Types and Program Design
Manoochehr Azmoodeh · 1990
A computer program (at an assembly-language level) can be informally defined as a sequence of instructions for a computer to perform a particular task. The exact form and sequencing of the instructions for a given task depend largely on the underlying architecture of a computer (physical machine). Writing a computer program therefore requires decisions on how to represent the task to be achieved in terms of the constructs of the architecture. However, more often than not, the formulation of a task as a specification is very different from its representation in terms of the architectural-level instructions. Such a disparity between these two levels of programming implies a considerable intellectual and organisational effort to produce a correct program for a task. In most cases, however, the organisational details are numerous and they become difficult to handle. To reduce the amount of such detailed organisational activity, we can define ‘idealised’ architectures on top of the machine architecture, and in this way we will provide a new framework for programmers so that they can express their requirements more easily and effectively. In this chapter we shall briefly discuss the main components of a program using an ‘assembly-language’-level architecture, and then describe a more idealised architecture which would accommodate higher-level constructs for certain programming elements: operation, control and data. The effect of using the new higher-level architecture is the removal of unnecessary details, which can be dealt with at a later stage in program development. These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.