Font Size: a A A

Research On Software-based Fault Tolerance Techniques For Aerospace Applications At Source Code Level

Posted on:2015-12-30Degree:MasterType:Thesis
Country:ChinaCandidate:X K MengFull Text:PDF
GTID:2308330479479489Subject:Computer technology
Abstract/Summary:PDF Full Text Request
Aerospace software runs in harsh space environments, and its reliability is severely affected by transient faults caused by the radiation of high energetic particles. To solve the problem, fault-tolerant technologies have been proposed and studied. By different implementations, fault-tolerant technologies can be classified into two main types, hardware-implemented technology and software-implemented technology. Compared with the hardware-implemented technology, software-implemented technology does not need to alter or re-design hardware architecture. Therefore it gets widespread attention because of the advantages of low cost, flexible configuration and short development life cycle and Software-implemented fault-tolerant technologies can be applied on process level, thread level, source-code level and instruction level. In this thesis, our study concentrates on software-implemented fault-tolerant technology on source-code level. The main work is as follows:1. We propose a set of data flow error detection methods on source-code level with low overhead. We study the lightweight reliability-optimization technology, executable assertions and configurable fault-tolerant based on critical data analysis. For lightweight reliability-optimization technology, we propose a fault-masking method based on the ranges of variables and an equivalent transformation method of program segment. The application of these two methods can improve the program’s own fault-tolerant ability with no decrease and even increase of the performance. For executable assertion technology, we propose a method of finding invariants about variables or loop structures and a general idea of invariant-checking of these structures. For configurable fault-tolerant technology, we propose a customizable method of evaluating the variables’ s criticality and establish a variable priority system for protection. 2. We propose a new control-flow error detection method, SLCED, at source-code level. SLCED can detect the control-flow error of inter-functions, inter-blocks and intra-blocks. The algorithm is featured by modifying the parameters to store the labels in the parameter stack, which can detect the control-flow errors occured in recursive calls and nested calls. In addition, SLCED’s is hierarchically designed with exellent configurablity in inter-functions and intra-functions respectively. It provides several configurable optimizing approaches by adopting the suitable detecting algorism of intra-functions, tuning the granularity of the program blocks, and analyzing the criticality of each function. 3. We reinforce the key code of control system from a certain model Spacecraft. Besides, we design and implement the fault injection tool FIDS based on debug server to carry out fault injection experiments and performance overheadexperiments. The results of performance overhead experimental show that the average time overhead is 50.4%, while the average memory overhead is 201.9%. The results of fault injection experiments show that the methods proposed by this thesis can improve the reliability by 41% on average, and the effect is obvious.
Keywords/Search Tags:Transient fault, Software fault tolerance, Source code level, Error detection, Fault injection
PDF Full Text Request
Related items