Practical exception handling and resolution in concurrent programs

  • Authors:
  • Alexander Romanovsky

  • Affiliations:
  • Computing Department, University of Newcastle upon Tune, NE1 7RU, Newcastle upon Tyne, UK

  • Venue:
  • Computer Languages
  • Year:
  • 1997

Quantified Score

Hi-index 0.00

Visualization

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 Ada 95). We express the main characteristics of the general atomic action scheme in terms of these languages and discuss a set of templates and programmers' conventions which would allow the programming of atomic actions within Ada and Ada 95. 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 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 Ada 95 is used. 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.