© 1980 by British Computer Society
Dynamic resource allocation and supervision with the programming language MODULA
Department of Computer Science, University of York, Heslington, UK
The programming language MODULA was designed by Wirth to be suitable for programming in areas previously the preserve of Assembly code. Examples of these areas are process control systems, computerised laboratory equipment and input/output device drivers. Experiments with MODULA have shown that the language is quite successful for coding single programs that run on dedicated computer systems, but that it is less successful in applications that require dynamic resource management, both of storage and of processor time.
In this paper we define extensions to MODULA that enable the language to be used for the coding of storage allocators and process supervisors. At the same time an exception handling mechanism is introduced for the convenient handling of the error situations that arise during such programming. The exception handling mechanism turns out to have other uses, such as variable initialisation and process exit code. The consequences of an exception handling mechanism suitable for interactions between processes are examined.
Finally, some estimate is made of the further complexity introduced into an existing simple language, both into its definition and into the compiler. Possible areas of use are mentioned.
Received December 1978.
* Department of Computer Science, University of York, Heslington, York Y01 5DD