Archives

  • 2018-07
  • 2018-10
  • 2018-11
  • 2019-04
  • 2019-05
  • 2019-06
  • 2019-07
  • 2019-08
  • 2019-09
  • 2019-10
  • 2019-11
  • 2019-12
  • 2020-01
  • 2020-02
  • 2020-03
  • 2020-04
  • 2020-05
  • 2020-06
  • 2020-07
  • 2020-08
  • 2020-09
  • 2020-10
  • 2020-11
  • 2020-12
  • 2021-01
  • 2021-02
  • 2021-03
  • 2021-04
  • 2021-05
  • 2021-06
  • 2021-07
  • 2021-08
  • 2021-09
  • 2021-10
  • 2021-11
  • 2021-12
  • 2022-01
  • 2022-02
  • 2022-03
  • 2022-04
  • 2022-05
  • 2022-06
  • 2022-07
  • 2022-08
  • 2022-09
  • 2022-10
  • 2022-11
  • 2022-12
  • 2023-01
  • 2023-02
  • 2023-03
  • 2023-04
  • 2023-05
  • 2023-06
  • 2023-07
  • 2023-08
  • 2023-09
  • 2023-10
  • 2023-11
  • 2023-12
  • 2024-01
  • 2024-02
  • 2024-03
  • To overcome the drawbacks of

    2020-08-04

    To overcome the drawbacks of previous techniques in small satellite applications, we propose a generic high-performance and low-overhead SCFC technique named bipartite graph-based control flow checking (BGCFC). BGCFC partitions the target program into basic blocks and builds its control flow graph as previous techniques.10, 11, 12, 13, 14, 15 A conventional basic block consists of a cluster of instructions, and the illegal jump can start from or end at any instruction of the basic block. So illegal branches, start from or end at the beginning, inside and end of the basic block are different. To simplify illegal branches, BGCFC transforms the control flow graph into an equivalent bipartite graph by splitting each basic block into two sub-blocks, so that only Probenecid synthesis illegal branches between sub-blocks need to be handled. BGCFC employs a bitmap to store the predecessors of each basic block in the corresponding bits as SCFC and RSCFC. However, because usually one basic block has only a few predecessors, storing all basic blocks in a single bitmap causes most bits in the bitmap wasted. Hence, BGCFC only stores the predecessors of the basic block with multiple predecessors into the bitmap to reduce the length. Furthermore, to increase the storage density of the bitmap, BGCFC assigns IDs to predecessors of each basic block as consecutive as possible. Along with the execution of the target program, BGCFC does check at each sub-blocks by merely performing XOR, AND, SUB and SHIFT operations, which are the fastest among the instruction set and ubiquitous in processors. BGCFC inherits the advantages of SCFC, RSCFC and CFCSS, and overcomes their shortages. As a result, BGCFC is not only capable of detecting all inter-node CFEs with low time and memory overhead, but also generic among arbitrary COTS processors, and independent of any specific hardware. Consequently, BGCFC is applicable and useful in COTS-based small satellites.
    Bipartite graph
    Algorithm for CFC
    Error detection rate and overhead evaluation
    Test results and discussion For verifying the proof in Probenecid synthesis from the perspective of practice, this section brings tests and analysis based on the onboard computer (OBC) of the in-service ZDPS-1A pico-satellite, which are researched and developed by our institute. The OBC utilizes an 8-bit 8052-compatible Harvard architecture COTS processor ADuC841 from Analog Devices, which contains a 2KB random access memory (RAM) for data storage and a 64KB read only memory (ROM) for code storage. The program code is executed in the ROM directly. ADuC841 is a simple controller and lacks the specific hardware for calculation, such as multipliers. One of the successive products of ZPDS-1A utilizes a more powerful 32-bit COTS digital signal processor (DSP) TMS320C6747 from Texas Instruments, which features the Harvard architecture too. TMS320C6747 equips various controllers, multipliers and signal processing units; aggregates is much more powerful than ADuC841. However, we still choose the ADuC841 instead of TMS320C6747 as the test bench based on the following reasons. Firstly, the main purpose of this paper is to supply a generic high-performance and low-overhead SCFC techniques for COTS-based small satellites, not just limited to our own products. However, TMS320C6747 is powerful and may hide the shortages of the propose method, because not all processors in small satellites are as powerful as TMS320C6747. Secondly, according to the survey,1, 23 mainstream small satellites adopted Harvard architecture processors, such as ARM, PIC controller, DSP etc. ADuC841 is generally less powerful than them, so if BGCFC is verified to be applicable for ADuC841, then we believe it will be generally adequate for most processors of mainstream small satellites. Thirdly, ZDPS-1A has successfully fulfilled all the missions and been functionally well in aerospace for more than three years, so we believe the OBC of ZDPS-1A is reliable and it will not introduce extra unsafe factors to affect the accuracy of test results. Finally yet importantly, the goal of BGCFC is to extend the lifecycle of the small satellites in real projects, not only limited to the academic research.