Software Fault Tolerance in Concurrent Ada Programs