1. A remote data processing system including a hardware component, comprising: a data receiver for receiving a data message; a remote software module arranged to receive the data message from the data receiver, the remote software module including at least a first stage software component cascaded with a second stage software component; and a fault detector coupled to the data receiver and further connected before and after the first software stage component and connected before and after the second software stage component to detect a fault in the remote software module by detecting whether the data message flows from the data receiver to and through the first stage software component, the second stage software component, or both.