40 Years of Computing at Newcastle

Department Technical Report Series No. 545

Practical Exception Handling and Resolution in Concurrent Programs

A. Romanovsky.

University of Newcastle upon Tyne. 1996.

Abstract

The paper discusses how atomic actions based on forward error recovery in the form of concurrent exception handling and resolution can be programmed within standard conventional languages (Ada and Ada95). We express the main characteristics of the general atomic action scheme in terms of these languages and discuss a set of templates (skeletons) and programmers' conventions which would allow to program atomic actions within Ada and Ada95. We offer an approach to implementing a resolution procedure (function) and outline other approaches. The scheme is very flexible in that it gives an opportunity for programmers to use any sort of the resolution procedure. We introduce a general concept of self-checking programming, which allows to have the kind of failure assumption necessary for simplifying the atomic action support, and discuss how it can be applied (to Ada, in particular). It is shown how this approach helps to solve the deserter process problem. We outline the main improvements which can be made in the scheme when Ada95 is used. Naturally, our scheme relies on the peculiarities of Ada and Ada95. We believe that this paper discusses important practical questions because it seems unlikely that an existing practical language will have concurrent exception handling of the level sufficient for supporting atomic actions based on forward error recovery.
Department Technical Report Series - 1996
Department Technical Report Series Index
Contents Page - 40 Years of Computing at Newcastle
Technical Report Abstract No. 545, 30 June 1997