Abstract
Deals with the problem of reliability in a hardware/software system. More specifically it deals with the strategy used to achieve reliability in a particular hardware/software system built by the author and his colleagues. Rather than dealing with the myriad details of the reliability aspects of this system, the paper focuses on the design philosophy which aims at keeping the system operational even though the underlying hardware may be malfunctioning. This philosophy is essentially an extension of the `modular' programming methodology to include dynamic error detection and recovery.