Two complementary techniques have evolved for providing software fault tolerance: forward error recovery and backward error recovery. A basic problem in designing backward error recovery capabilities in distributed program is to coordinate the recovery activities of cooperating processes in executing processors without using common storage for cooperation.
In this thesis, we propose a language construct for supporting backward error recovery in a distributed programming language called DP (Distributed Processes) to construct fault-tolerant distributed programs. This language construct uses a centralized-control construct called an A-Conversation (asynchronous conversation) to support different recovery schemes. To use the A-Conversation in real-time distributed programming environment practically, the A-Conversation is then translated into DP primitives.