Variable dynamic real-time monitoring and injection method and system
By parsing the variable symbol table of the target code and using direct memory address access technology, the real-time performance and security issues of aero-engine control software were solved, achieving fully automated variable monitoring and injection, and improving debugging efficiency and security.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHINA AERONAUTICAL CONTROL SYST RES INST
- Filing Date
- 2025-11-28
- Publication Date
- 2026-04-24
AI Technical Summary
Existing aircraft engine control software debugging tools suffer from a contradiction between real-time performance and intrusiveness, insufficient observation flexibility, and safety and compliance deficiencies, failing to meet the requirements of highly secure embedded systems.
By parsing the variable symbol table of the target code, fully automatic mapping and direct memory address access are achieved, supporting real-time observation and dynamic modification of arbitrary variables. Combined with a dedicated monitoring communication protocol package, the system's real-time performance and security are ensured.
It achieves non-intrusive real-time compatibility, fully automated symbol table parsing, supports bidirectional dynamic operation and security isolation, improves debugging efficiency and security, is suitable for multi-variable monitoring scenarios, and reduces fault diagnosis costs.
Smart Images

Figure CN121919092A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of aero-engine control software, and in particular to a method and system for dynamic real-time monitoring and injection of variables. Background Technology
[0002] In aero-engine FADEC (Full Authority Digital Engine Control System), dynamic monitoring and injection of variables are core requirements for ensuring the reliability of control software and debugging complex logic. However, existing technologies have the following key limitations:
[0003] The conflict between real-time performance and intrusiveness: Traditional debugging tools (such as JTAG) require interrupting the program or inserting code, leading to a decrease in system real-time performance. Aero-engine control requires microsecond-level response, and existing tools are prone to causing control interruptions or data loss, making it impossible to achieve "zero-interference" observation.
[0004] Insufficient observation flexibility: Existing methods only support predefined variables; extensions require code recompilation, making it difficult to dynamically observe arbitrary global variables. For example, adding a new variable requires modifying the source code, a cumbersome process that is difficult to adapt to rapid iteration needs. Symbol table resolution relies on manual intervention: Variable names, data types, and address mappings need to be manually maintained or resolved using source code tools (such as GDB), which is inefficient and prone to errors. The number of variables in aero-engine systems is enormous, and manual configuration is insufficient to meet the demands.
[0005] Safety and Compliance Deficiencies: Avionics systems must comply with the DO-178C standard, requiring traceable functional verification. Existing technologies lack access control, making them susceptible to misuse and modification of critical variables, potentially leading to system malfunctions or safety hazards. For example, unrestricted debugging interfaces may cause abnormal control parameters, threatening flight safety.
[0006] In summary, existing technologies cannot meet the requirements of high-security embedded systems in terms of real-time performance, flexibility, automation, and security. There is an urgent need for a non-intrusive, fully automated variable monitoring and injection method with access control to ensure system determinism and debugging efficiency. Summary of the Invention
[0007] Purpose of the Invention: The purpose of this invention is to provide a method and system for dynamic real-time monitoring and injection of variables; it enables fully automatic mapping of global variables by parsing the variable symbols of the target code, combined with direct memory address access, to support real-time observation and dynamic modification of any variable without modifying the control software source code or reducing the system's real-time performance, providing a highly reliable solution for real-time online debugging and fault injection testing of aviation control software.
[0008] Technical solution: The variable dynamic real-time monitoring and injection method of the present invention includes the following steps:
[0009] S1. Using tools, based on the target code of the control software, parse out the variable symbol table, including variable name, data type, and data length;
[0010] S2. The user selects the variables to be monitored or injected, or chooses the memory address to be directly accessed, based on the prompts from the software tool.
[0011] S3. Based on the user operation in step S2, the tool software generates a dedicated monitoring communication protocol packet and sends it to the control software through the monitoring port.
[0012] S4. The control software receives communication data from the monitoring port and performs parsing operations.
[0013] S5. If the monitoring switch is "enabled" and the data packet is complete, then read and write operations are performed based on the variable information, and the read data is sent to the tool through the monitoring port.
[0014] Furthermore, step S5 includes monitoring the switch to be in the "enabled" state and checking whether the received data is a complete data packet.
[0015] Furthermore, if the received data is a complete data packet, variable information, including data address, data type length, and read / write direction, is parsed from the data packet.
[0016] Furthermore, for the write direction, data is injected into memory based on variable information.
[0017] Furthermore, for the read direction, data is read from memory based on the variable information.
[0018] Furthermore, for the read direction, the read data is sent out through the monitoring port.
[0019] The variable dynamic real-time monitoring and injection system of the present invention includes:
[0020] The control software module is used to parse the variable symbol table, including variable name, data type, and data length, based on the target code of the control software using tools.
[0021] The receiving monitoring module is used to select variables that need to be monitored or injected, or to select memory addresses that need to be directly accessed, based on the prompts from the tool software.
[0022] The monitoring protocol module is used to generate dedicated monitoring communication protocol packets based on user operations and send them to the control software through the monitoring port.
[0023] The data parsing module is used to control the software to receive communication data from the monitoring port and perform parsing operations. If the monitoring switch is "enabled" and the data packet is complete, it performs read and write operations based on the variable information and sends the read data to the tool through the monitoring port.
[0024] Beneficial effects: Compared with the prior art, the present invention has the following significant advantages:
[0025] (1) Non-intrusive real-time compatibility: Through direct memory address access and symbol table mapping technology, variable observation and injection functions are realized without modifying the source code of the control software or increasing the system operating overhead, ensuring that the real-time performance of the aviation control software is not affected, and solving the system jitter problem caused by interruption of operation or insertion of probes in traditional debugging tools;
[0026] (2) Fully automated symbol table parsing and precise mapping: Based on the target code, the fully automated variable symbol table parsing technology can accurately identify variable names, data types and storage lengths, eliminate the tedious process and potential errors of manually configuring variable addresses, and significantly improve debugging efficiency and accuracy. It is especially suitable for multi-variable monitoring scenarios in complex aerospace embedded systems.
[0027] (3) Two-way dynamic operation and safety isolation mechanism: It supports variable observation and dynamic modification functions at the same time. Developers can monitor the fluctuation of key parameters in real time and quickly verify the robustness of control logic by injecting abnormal values. The built-in activation switch and monitoring range limitation function can effectively prevent the risk of system loss of control caused by unauthorized operation or misoperation, which meets the requirements of aviation safety critical system for operation traceability.
[0028] (4) High reliability of communication and authentication compliance: Through dedicated monitoring communication protocol packets and data integrity verification mechanisms, the real-time transmission reliability of injected commands and observation data is ensured;
[0029] (5) Cross-platform universality and engineering application value: The method does not depend on specific hardware or compilers and can be adapted to various aviation embedded architectures. It provides a unified online debugging toolchain for engine control and flight control system safety, which significantly reduces the cost and development cycle of field fault diagnosis. Attached Figure Description
[0030] Figure 1 This is a flowchart of the present invention. Detailed Implementation
[0031] The technical solution of the present invention will be further described below with reference to the accompanying drawings.
[0032] The purpose of this invention is to address the interference of variable monitoring and injection functions on real-time operation in safety-critical embedded systems such as aero-engine control systems, and to propose a non-intrusive dynamic monitoring and injection method. This method achieves fully automatic mapping of global variables by parsing the variable symbol table of the target code. Combined with direct memory address access technology, it supports real-time observation and dynamic modification of arbitrary variables without modifying the control software source code or degrading system real-time performance, providing a highly reliable solution for real-time online debugging and fault injection testing of aero-control software.
[0033] like Figure 1 As shown, the variable dynamic real-time monitoring and injection method of the present invention includes the following steps:
[0034] Step 1: Using tools, based on the target code of the control software, parse out the variable symbol table, including variable name, data type, and data length; for example, variable A is a 32-bit floating-point number, address 0x00008000, length 4 bytes; variable B is a 16-bit signed integer, address 0x00008004, length 2 bytes; variable C is a 16-bit unsigned integer, address 0x00008006, length 2 bytes.
[0035] Step 2: The user selects the variables to be monitored or injected, or the memory addresses to be directly accessed, according to the prompts of the software tool. For example, this includes (variable A, 32-bit floating-point number, address 0x00008000, length 4 bytes, read operation), (direct memory operation, 16-bit signed integer, address 0x00008004, length 2 bytes, read operation), (variable C, 16-bit unsigned integer, address 0x00008006, length 2 bytes, write operation, to be written to 0x1122).
[0036] Step 3: Based on the user's operation in Step 2, the tool generates a dedicated monitoring communication protocol packet and sends it to the control software through the monitoring port.
[0037] Step 4: The control software receives communication data from the monitoring port and performs parsing operations.
[0038] Step 5: If the monitoring switch is "enabled" and the data packet is complete, then perform read and write operations based on the variable information, and send the read data to the tool through the monitoring port.
[0039] The monitoring switch is in the "enabled" state, and it checks whether the received data is a complete data packet. If the received data is a complete data packet, variable information, including data address, data type length, and read / write direction, is parsed from the data packet. For the write direction, data is injected into memory according to the variable information. For the read direction, data is read from memory according to the variable information; for the read direction, the read data is sent out through the monitoring port.
[0040] The variable dynamic real-time monitoring and injection system of the present invention includes:
[0041] The control software module is used to parse the variable symbol table, including variable name, data type, and data length, based on the target code of the control software using tools.
[0042] The receiving monitoring module is used to select variables that need to be monitored or injected, or to select memory addresses that need to be directly accessed, based on the prompts from the tool software.
[0043] The monitoring protocol module is used to generate dedicated monitoring communication protocol packets based on user operations and send them to the control software through the monitoring port.
[0044] The data parsing module is used to control the software to receive communication data from the monitoring port and perform parsing operations. If the monitoring switch is "enabled" and the data packet is complete, it performs read and write operations based on the variable information and sends the read data to the tool through the monitoring port.
Claims
1. A method for dynamic real-time monitoring and injection of variables, characterized in that, Includes the following steps: S1. Using tools, based on the target code of the control software, parse out the variable symbol table, including variable name, data type, and data length; S2. The user selects the variables to be monitored or injected, or chooses the memory address to be directly accessed, based on the prompts from the software tool. S3. Based on the user operation in step S2, the tool software generates a dedicated monitoring communication protocol packet and sends it to the control software through the monitoring port. S4. The control software receives communication data from the monitoring port and performs parsing operations. S5. If the monitoring switch is "enabled" and the data packet is complete, then read and write operations are performed based on the variable information, and the read data is sent to the tool through the monitoring port.
2. The variable dynamic real-time monitoring and injection method according to claim 1, characterized in that, Step S5 includes monitoring the switch to be in the "enabled" state and checking whether the received data is a complete data packet.
3. The variable dynamic real-time monitoring and injection method according to claim 2, characterized in that, If the received data is a complete data packet, the variable information, including the data address, data type length, and read / write direction, is parsed from the data packet.
4. The variable dynamic real-time monitoring and injection method according to claim 3, characterized in that, For write operations, data is injected into memory based on variable information.
5. The variable dynamic real-time monitoring and injection method according to claim 3, characterized in that, For the read direction, data is read from memory based on the variable information.
6. The method for dynamic real-time monitoring and injection of variables according to claim 3, characterized in that, For the read direction, the read data is sent out through the monitoring port.
7. A variable dynamic real-time monitoring and injection system, implemented by any one of claims 1-6, characterized in that, include: The control software module is used to parse the variable symbol table, including variable name, data type, and data length, based on the target code of the control software using tools. The receiving monitoring module is used to select variables that need to be monitored or injected, or to select memory addresses that need to be directly accessed, based on the prompts from the tool software. The monitoring protocol module is used to generate dedicated monitoring communication protocol packets based on user operations and send them to the control software through the monitoring port. The data parsing module is used to control the software to receive communication data from the monitoring port and perform parsing operations. If the monitoring switch is "enabled" and the data packet is complete, it performs read and write operations based on the variable information and sends the read data to the tool through the monitoring port.