© 1993 by British Computer Society
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
Guaranteeing Unpredictability

1 University of Southampton, Southampton SO9 5NH, UK, 2 University of Bath, Bath BA2 7AY, UK
Many descriptions have been published of lightweight process models for specific physical and virtual machines. On the other hand, relatively little attention has been paid to the problem of defining a model which is adequate for serious programming yet can be realized on a wide variety of architectures and maintain the semantic model across those architectures. Programming language support for concurrency models does not always address the handling or propagation of errors, nor provision for event-based programming. In this paper, we describe a model which does deal with these issues, and we present the realisation of this model in a modern object-oriented language (EuLisp). Particular attention is drawn to the contract with the programmer is architecture independence is to be assured. Hence the sentiment expressed in the title: we provide a programming model which both accommodates and delivers non-determinism on diverse platforms, and which enables the programmer to work effectively in the presence of that non-determinism.
Received April 1993. revised September 1993.
* University of Southampton, Southampton SO9 5NH, UK
University of Bath, Bath BA2 7AY, UK