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.
|Copyright, Publisher and Additional Information:||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|
|Institution:||The University of York|
|Academic Units:||The University of York > Computer Science (York)|
|Depositing User:||Repository Officer|
|Date Deposited:||19 Jul 2006|
|Last Modified:||06 Feb 2017 11:56|