|
|
The proposed research presents a novel concept to avoid faults in complex software. Many techniques in the past were invented to detect and avoid faults in software, but they are suffering from many problems such as being time consuming, having high requirements and lack of generalization etc. The proposed model suggests a single Fault Tolerating Block (FTB) which resides independently and acts with the execution of crucial or marked codes only. The overall architecture of the proposed FTB is shown in Figure 1.
The FTB is connected to the backup systems and points where faults may occur. The FTB receives outputs from various modules that are fault prone and sends them signals to continue when no faults have occurred and to stop when one has been detected. In case of a failure, the FTB engages the backup systems. The FTB itself is composed of slices. The architecture of the slices is detailed in figure 2. ![]() Each slice of the FTB consists of four modules. They are:
![]() Each slice is connected to a Point where Faults are Expected (PFE) and to a backup system in case the device or modules at that point fails and is specific to each PFE. Different PFEÆs are connected to different slices in the FTB. In a slice, the monitor checks all the inputs and outputs at a PFE and ensures that they (the inputs and outputs) will not cause in any faults to occur. In case a fault is detected, it engages the backup system. The Valid State Table has the entire set of valid states that may be entered from the PFE. The Valid State Table is a read-only module and may not written into at any point during software execution. The Repair Module calls and carries-out the necessary functions that would repair the PFE once a fault is detected. The Reset module resets the monitor and the repair modules and brings them to an initial state at which it is known with definite certainty that the two are in a fault-free state. The following advantages and results are noted from the initial simulation:
|