Error recovery in asynchronous systems
IEEE Transactions on Software Engineering
Atomic actions for fault-tolerance using CSP
IEEE Transactions on Software Engineering
Design of reliable software in distributed systems using the conversation scheme
IEEE Transactions on Software Engineering - Special issue on reliability and safety in real-time process control
Atomic actions in concurrent systems
Atomic actions in concurrent systems
Programming atomic actions in Ada
ACM SIGAda Ada Letters
Real-time systems and their programming languages
Real-time systems and their programming languages
Concurrency in Ada
Reliability Issues in Computing System Design
ACM Computing Surveys (CSUR)
Monitors: an operating system structuring concept
Communications of the ACM
Exception handling: issues and a proposed notation
Communications of the ACM
Communications of the ACM
Operating system principles
Fault Tolerance: Principles and Practice
Fault Tolerance: Principles and Practice
An Overview of the Arjuna Distributed Programming System
IEEE Software
On Programming Atomic Actions in Ada 95
Ada-Europe '97 Proceedings of the 1997 Ada-Europe International Conference on Reliable Software Technologies
A program structure for error detection and recovery
Operating Systems, Proceedings of an International Symposium
Process structuring, synchronization, and recovery using atomic actions
Proceedings of an ACM conference on Language design for reliable software
Fault Tolerance in Concurrent Object-Oriented Software through Coordinated Error Recovery
FTCS '95 Proceedings of the Twenty-Fifth International Symposium on Fault-Tolerant Computing
On distribution of coordinated atomic actions
ACM SIGOPS Operating Systems Review
Multi-μ: an Ada 95 based architecture for fault tolerance support of real-time systems
Proceedings of the 1998 annual ACM SIGAda international conference on Ada
Synchronizing group transaction with rendezvous in a distributed Ada environment
SAC '98 Proceedings of the 1998 ACM symposium on Applied Computing
Except for exception handling …
ACM SIGAda Ada Letters - Exception handling for a 21st century programming language proceedings
Implementing exceptions in open multithreaded transactions based on Ada 95 exceptions
ACM SIGAda Ada Letters - Exception handling for a 21st century programming language proceedings
Implementing transactions using Ada exceptions: which features are missing?
ACM SIGAda Ada Letters - Exception handling for a 21st century programming language proceedings
Action-oriented exception handling in cooperative and competitive concurrent object-oriented systems
Advances in exception handling techniques
An Incremental RecoveryCache Supporting Sotware Fault Tolerance
Ada-Europe '99 Proceedings of the 1999 Ada-Europe International Conference on Reliable Software Technologies
Action-Oriented Exception Handling in Cooperative and Competitive Concurrent Object-Oriented Systems
Advances in Exception Handling Techniques (the book grow out of a ECOOP 2000 workshop)
Transactions are back---but are they the same?
ACM SIGACT News
Modelling remote concurrency with Ada: case study of symmetric non-deterministic rendezvous
Ada-Europe'07 Proceedings of the 12th international conference on Reliable software technologies
The application of compile-time reflection to software fault tolerance using ada 95
Ada-Europe'05 Proceedings of the 10th Ada-Europe international conference on Reliable Software Technologies
Compositional Petri net models of advanced tasking in Ada-95
Computer Languages
Hi-index | 0.00 |
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.