Abstract
Atomic actions are an important dynamic structuring technique that aid the construction of fault-tolerant concurrent systems. Although they were developed some years ago, none of the well-known commercially-available programming languages directly support their use. This paper summarizes software fault tolerance techniques for concurrent systems, evaluates the Ada 95 programming language from the perspective of its support for software fault tolerance, and shows how Ada 95 can be used to implement software fault tolerance techniques. In particular, it shows how packages, protected objects, requeue, exceptions, asynchronous transfer of control, tagged types, and controlled types can be used as building blocks from which to construct atomic actions with forward and backward error recovery, which are resilient to deserter tasks and task abortion.
Original language | English |
---|---|
Pages (from-to) | 107-123 |
Number of pages | 17 |
Journal | IEEE Transactions on Software Engineering |
Volume | 23 |
Issue number | 2 |
DOIs | |
Publication status | Published - Feb 1997 |
Bibliographical note
Copyright © 1997 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE.Keywords
- software fault tolerance
- atomic actions
- Ada 95
- exception handling
- recovery blocks
- conversations
- CONVERSATION SCHEME
- MONITORS
- SYSTEM