Session D2: Fault tolerant parallel software

Abstract We consider the problem of defining and, most important, of using, the backward error recovery technique, in a concurrent (and distributed) Ada program. The best known backward error recovery technique for concurrent programs is the conversation, the implementation of which is presented in the first part of the paper. However, the conversation scheme can be insufficient for implementing non determinism and for satisfying certain fault tolerant requirements. In the second part of the paper, we analyze well-known programming paradigms, such as the dinining philosophers and the producer-consumer. A number of problems are pointed out, which require an extension of the conversation scheme and the integration with other fault tolerance mechanisms, in order to reach a higher degree of reliability.