A battle-oriented intelligent design method for fault-tolerant capability of embedded software
By identifying the fault modes of military embedded software and implementing multi-level fault-tolerant design, combined with knowledge graph technology, the problem of lacking systematic fault-tolerant design in existing technologies is solved, thereby improving the reliability and stability of the software in real combat environments.
Patent Information
- Application Number
- CN202611285237.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-24
- Publication Date
- 2026-11-06
AI Technical Summary
Existing military embedded software lacks a systematic and comprehensive fault-tolerant design method and fails to fully integrate with actual combat needs, resulting in insufficient fault tolerance in actual combat.
By identifying fault modes, multi-level fault-tolerant design is carried out by combining mission profiles, battlefield environment and interconnection relationships, and a knowledge graph is constructed to provide fault-tolerant design criteria, including fault-tolerant design at the mission level, environment level, interface level and code level.
It realizes the practical application and intelligence of embedded software fault tolerance capabilities, and improves the reliability and stability of software in complex environments.
Smart Images

Figure CN123048272A_ABST
Abstract
Description
Technical fields: This invention relates to the field of software fault-tolerant design technology, and in particular to an intelligent design method for embedded software fault tolerance capabilities oriented towards practical application. Background technology: Current military embedded software suffers from poor robustness and fault tolerance, urgently requiring the development of fault-tolerant software design to improve reliability. Current fault-tolerant software design primarily utilizes Failure Mode and Effects Analysis (FMEA) and Failure Count Analysis (FCA), combined with software reliability design principles. However, this approach lacks a systematic and comprehensive fault-tolerant design methodology. Furthermore, it focuses solely on software faults themselves, neglecting practical operational requirements, resulting in insufficient consideration of real-world factors and a significant gap in fault tolerance capabilities during actual combat. Therefore, making embedded software fault-tolerant design technology more practical, comprehensive, and intelligent is one of the key technologies of this project.
[0001] Therefore, there is an urgent need for a practical, intelligent design method for fault-tolerant embedded software, which would help solve the technical problem of the lack of fault-tolerant design methods in existing technologies. Summary of the Invention: In one embodiment, the present invention provides an intelligent design method for fault tolerance capability of embedded software oriented towards practical application. It identifies fault modes, performs fault tolerance design at different levels, extracts features, and finally constructs a knowledge graph to provide a fault tolerance design method, which helps to solve the technical problem of lacking fault tolerance design methods in the prior art.
[0002] The intelligent method for embedded software fault tolerance, geared towards practical application, includes: Fault modes are identified through practical software fault mode identification. Based on the identified fault modes, fault tolerance design is implemented at different levels; Based on the fault-tolerant design, the software fault-tolerant design criteria are extracted, and the structured failure modes and unstructured design criteria are integrated and managed. The characteristics of the fault-tolerant design criteria are extracted into entities, and domain terms are identified and managed. Entities, relationships, and attributes are extracted, and a knowledge graph is constructed in combination with user information.
[0003] In one embodiment, software fault mode recognition for practical application includes software fault mode recognition analysis oriented towards mission profiles, software fault mode recognition analysis oriented towards battlefield environment, and software fault mode recognition analysis oriented towards cross-linking relationships.
[0004] In one embodiment, the failure modes obtained from the practical software failure mode identification include: The task-oriented software fault mode identification and analysis technology identifies possible fault modes from the perspectives of task function, task logic, and task timing relationship based on the established embedded software task profile and the characteristics of embedded software and typical combat mission scenarios. The software failure mode identification and analysis technology for battlefield environments considers failure modes that may be caused by random performance degradation due to environmental influences, as well as failure modes related to network status and operating platform caused by electromagnetic interference, network attacks, and equipment damage. The software fault mode recognition and analysis technology oriented towards cross-linking relationships identifies fault modes from the aspects of control constraints, time constraints, and interface data constraints, targeting the interaction relationships between cross-linking device interfaces, between software within the system, and between software and hardware.
[0005] In one embodiment, the failure mode score of the mission function is a top-down decomposition of combat missions, analyzing the failure modes of typical underlying functions, including initialization processing, interruption processing, data processing, and computation processing.
[0006] In one embodiment, the software failure mode recognition analysis for battlefield environment analyzes failure modes that cause random performance degradation in target detection distance, detection probability, detection error, and trajectory stability due to terrain, hydrology, and meteorological parameters in the battlefield environment, and identifies and analyzes failure modes of software operation in terms of network status and operating platform caused by electromagnetic interference, network attacks, and equipment damage.
[0007] In one embodiment, the different levels include tasks, environment, interface, and code.
[0008] In one embodiment, the fault-tolerant design based on the identified fault modes at different levels includes: Software task-level fault-tolerant design based on task profile: Based on the task profile and the identified fault modes, fault-tolerant design is carried out on typical task functions, task logic and task timing relationships in a distributed manner. The software environment-level fault-tolerant design method based on the battlefield environment is designed to tolerate transient faults in software operation caused by the battlefield environment. Software interface-level fault-tolerant design methods based on cross-linking relationships include software-to-software interface fault-tolerant design, software-to-hardware interface fault-tolerant design, AC equipment interface fault-tolerant design, and distributed software fault monitoring and fault-tolerant design. Based on standard requirements, a software code-level fault-tolerant design method is used to formulate a software code fault-tolerant design criterion selection strategy according to predetermined specifications.
[0009] In one embodiment, the software task-level fault-tolerant design based on task profiles, according to the task profiles and identified fault modes, includes the following: The task functionality is designed with fault tolerance based on the task input, output, and fault modes of the task functionality. Fault-tolerant design for task logic addresses fault tolerance in tasks, including task migration, task relationship logic, and task fault propagation. The task timing fault tolerance design is designed to address the real-time constraints and task execution constraints of embedded software tasks.
[0010] In one embodiment, the software environment-level fault-tolerant design method based on the battlefield environment performs fault-tolerant design for transient faults in software operation caused by the battlefield environment, including fault-tolerant design for faults such as transient performance degradation of detection and sensing capabilities, fault-tolerant design for faults such as single-event flip, single-event latch-up and single-event burnout of CPU and memory, and fault-tolerant design for instantaneous network connectivity or transmission errors.
[0011] In one embodiment, after the steps of extracting software fault-tolerant design criteria based on the fault-tolerant design, integrating and managing structured failure modes and unstructured design criteria, extracting entities, identifying and managing domain terms for the fault-tolerant design criteria features, extracting entities, relationships, and attributes, and constructing a knowledge graph in conjunction with user information, the method further includes: Based on software fault-tolerant knowledge graphs, we conduct fault-tolerant knowledge graph association search, knowledge matching, and knowledge reasoning technologies to form an intelligent recommendation method based on fault-tolerant design principles of knowledge graphs and semantic understanding. Attached image description: Figure 1 This is a schematic diagram of the architecture of an intelligent design method for fault-tolerant embedded software oriented towards practical application, as described in one embodiment of the present invention. Detailed implementation method: In response to the poor robustness and fault tolerance of military embedded software and the failure of current software fault tolerance design methods to fully consider practical factors, this study develops a fault mode identification and analysis technology for military embedded software, a multi-level fault tolerance design method for military embedded software, and a software fault tolerance knowledge graph construction and intelligent recommendation technology, so as to make embedded software fault tolerance design technology more practical, comprehensive, and intelligent.
[0012] Figure 1 This is a schematic diagram of the architecture of an intelligent design method for fault-tolerant embedded software oriented towards practical application, according to one embodiment of the present invention. Figure 1 As shown, in one embodiment, the present invention provides a practical intelligent design method for embedded software fault tolerance, the practical intelligent design method for embedded software fault tolerance includes: Fault modes are identified through practical software fault mode identification. Based on the identified fault modes, fault tolerance design is implemented at different levels; Based on the fault-tolerant design, the software fault-tolerant design criteria are extracted, and the structured failure modes and unstructured design criteria are integrated and managed. The characteristics of the fault-tolerant design criteria are extracted into entities, and domain terms are identified and managed. Entities, relationships, and attributes are extracted, and a knowledge graph is constructed in combination with user information.
[0013] In one embodiment, software fault mode recognition for practical application includes software fault mode recognition analysis oriented towards mission profiles, software fault mode recognition analysis oriented towards battlefield environment, and software fault mode recognition analysis oriented towards cross-linking relationships.
[0014] In one embodiment, the failure modes obtained from the practical software failure mode identification include: The task-oriented software fault mode identification and analysis technology identifies possible fault modes from the perspectives of task function, task logic, and task timing relationship based on the established embedded software task profile and the characteristics of embedded software and typical combat mission scenarios. The software failure mode identification and analysis technology for battlefield environments considers failure modes that may be caused by random performance degradation due to environmental influences, as well as failure modes related to network status and operating platform caused by electromagnetic interference, network attacks, and equipment damage. The software fault mode recognition and analysis technology oriented towards cross-linking relationships identifies fault modes from the aspects of control constraints, time constraints, and interface data constraints, targeting the interaction relationships between cross-linking device interfaces, between software within the system, and between software and hardware.
[0015] In one embodiment, the failure mode score of the mission function is a top-down decomposition of combat missions, analyzing the failure modes of typical underlying functions, including initialization processing, interruption processing, data processing, and computation processing.
[0016] In one embodiment, the software failure mode recognition analysis for battlefield environment analyzes failure modes that cause random performance degradation in target detection distance, detection probability, detection error, and trajectory stability due to terrain, hydrology, and meteorological parameters in the battlefield environment, and identifies and analyzes failure modes of software operation in terms of network status and operating platform caused by electromagnetic interference, network attacks, and equipment damage.
[0017] In one embodiment, the different levels include tasks, environment, interface, and code.
[0018] In one embodiment, the fault-tolerant design based on the identified fault modes at different levels includes: Software task-level fault-tolerant design based on task profile: Based on the task profile and the identified fault modes, fault-tolerant design is carried out on typical task functions, task logic and task timing relationships in a distributed manner. The software environment-level fault-tolerant design method based on the battlefield environment is designed to tolerate transient faults in software operation caused by the battlefield environment. Software interface-level fault-tolerant design methods based on cross-linking relationships include software-to-software interface fault-tolerant design, software-to-hardware interface fault-tolerant design, AC equipment interface fault-tolerant design, and distributed software fault monitoring and fault-tolerant design. Based on standard requirements, a software code-level fault-tolerant design method is used to formulate a software code fault-tolerant design criterion selection strategy according to predetermined specifications.
[0019] In one embodiment, the software task-level fault-tolerant design based on task profiles, according to the task profiles and identified fault modes, includes the following: The task functionality is designed with fault tolerance based on the task input, output, and fault modes of the task functionality. Fault-tolerant design for task logic addresses fault tolerance in tasks, including task migration, task relationship logic, and task fault propagation. The task timing fault tolerance design is designed to address the real-time constraints and task execution constraints of embedded software tasks.
[0020] In one embodiment, the software environment-level fault-tolerant design method based on the battlefield environment performs fault-tolerant design for transient faults in software operation caused by the battlefield environment, including fault-tolerant design for faults such as transient performance degradation of detection and sensing capabilities, fault-tolerant design for faults such as single-event flip, single-event latch-up and single-event burnout of CPU and memory, and fault-tolerant design for instantaneous network connectivity or transmission errors.
[0021] In one embodiment, after the steps of extracting software fault-tolerant design criteria based on the fault-tolerant design, integrating and managing structured failure modes and unstructured design criteria, extracting entities, identifying and managing domain terms for the fault-tolerant design criteria features, extracting entities, relationships, and attributes, and constructing a knowledge graph in conjunction with user information, the method further includes: Based on software fault-tolerant knowledge graphs, we conduct fault-tolerant knowledge graph association search, knowledge matching, and knowledge reasoning technologies to form an intelligent recommendation method based on fault-tolerant design principles of knowledge graphs and semantic understanding.
[0022] Software Fault Mode Recognition and Analysis for Practical Application Military embedded software faces various real-world scenario elements in actual combat, including battlefield environments, interconnected environments, and operational scenarios. Fault mode identification and analysis cannot be limited to the software's own functions and modules; it must also consider the mission profile, battlefield environment, and interconnected relationships within the context of actual combat. Combat-oriented software fault mode identification and analysis techniques include mission profile-based techniques, battlefield environment-based techniques, and interconnected relationship-based techniques.
[0023] (1) Task-oriented software fault mode identification analysis Based on the established embedded software task profile, and combined with the characteristics of embedded software and typical combat mission scenarios, potential failure modes are identified from three aspects: typical task functions, task logic, and task timing relationships. Specifically, the failure mode score for task functions is mainly based on a top-down decomposition of combat tasks, analyzing failure modes of typical underlying functions, including initialization processing, interrupt handling, data processing, and computation processing. For task logic, failure modes are identified through logical approximations of task processing, such as functional logic, decision conditions, branch paths, and redundancy switching. Finally, failure modes are identified based on functional operation timing, task timing states, and state transition conditions.
[0024] (2) Software Fault Mode Recognition Analysis for Battlefield Environment Software failure mode identification and analysis for battlefield environments mainly considers the failure modes that may be caused by environmental influences. On the one hand, it identifies and analyzes failure modes caused by terrain, hydrology, and meteorological parameters in the battlefield environment, which cause random performance degradation in target detection distance, detection probability, detection error, and trajectory stability. On the other hand, it identifies and analyzes failure modes caused by electromagnetic interference, network attacks, and equipment damage, which affect the network status and operating platform of the software.
[0025] (3) Software Fault Mode Recognition Analysis Oriented to Cross-linking Relationships Software fault mode identification analysis based on cross-linking relationships mainly targets the interaction relationships between interfaces of cross-linking devices, between software within the system, and between software and hardware, identifying fault modes from aspects such as control constraints, time constraints, and interface data constraints.
[0026] Multi-level fault-tolerant design for military embedded software Improving the reliability of military embedded software requires multi-level and comprehensive fault-tolerant design. Based on the identified fault modes, we need to carry out software mission-level fault-tolerant design based on mission profiles, software environment-level fault-tolerant design based on battlefield environment, interface-level fault-tolerant design based on cross-linking relationships, and code-level fault-tolerant design based on standard requirements to enhance the fault tolerance capability of military embedded software.
[0027] (1) Software task-level fault-tolerant design based on task profile Based on the task profile and identified fault modes, fault-tolerant designs are implemented for typical task functions, task logic, and task timing relationships. Fault-tolerant designs for task functions are implemented based on fault modes related to task inputs, outputs, and functionalities to ensure task function reliability. Fault-tolerant designs for task logic address fault tolerance in tasks, including inter-task migration, task relationship logic, and fault propagation, improving task logic reliability. Fault-tolerant designs for task timing address real-time constraints and task execution constraints in embedded software, improving task timing reliability.
[0028] (2) Software environment-level fault-tolerant design based on battlefield environment The software environment-level fault-tolerant design based on the battlefield environment mainly addresses the fault tolerance design for transient faults in software operation caused by the battlefield environment. This includes: fault tolerance design for faults such as transient performance degradation of detection and sensing capabilities; fault tolerance design for faults such as single-event flips, single-event latch-ups, and single-event burnouts of CPU and memory; and fault tolerance design for transient network connectivity interruptions or transmission errors.
[0029] (3) Software interface-level fault-tolerant design based on cross-linking relationship Based on the interconnectivity of embedded software and related fault modes, fault-tolerant design of communication interfaces is implemented, including fault-tolerant design of interfaces between software, between software and hardware, between communication devices, and distributed software fault monitoring and fault tolerance design. Interface fault tolerance ensures the input / output fault tolerance capability of individual nodes; simultaneously, the fault tolerance capability of the entire system is enhanced by leveraging the sharing of system resources in a distributed architecture and the interaction between fault-tolerant software on each node.
[0030] (4) Software code-level fault-tolerant design based on standard requirements Based on the established GJB8114 C / C++ Language Programming Safety Subset and GJB / Z 102A Military Software Security Design Guidelines, a strategy for selecting software code fault tolerance design criteria is formulated, taking into account factors such as software type, criticality, and functional characteristics. Code standards or design criteria are implemented during software code design and coding implementation to improve code reliability.
[0031] Software Fault-Tolerant Knowledge Graph Construction and Criterion-Based Intelligent Recommendation Based on practical software fault mode identification analysis and multi-level fault-tolerant software design, we extract software fault-tolerant design criteria, establish the correlation between fault modes, software characteristics, and fault-tolerant design criteria, form a fault-tolerant knowledge graph, and adopt an intelligent recommendation method for fault-tolerant design criteria to improve the intelligence level of embedded software fault-tolerant design.
[0032] (1) Feature extraction of software fault-tolerant design criteria Based on the multi-level fault-tolerant design method of software, the fault-tolerant design criteria are extracted, and the structured failure modes and unstructured design criteria are integrated and managed. The characteristics of the fault-tolerant design criteria are extracted by entity extraction, domain term identification and management, and knowledge elements such as entities, relationships and attributes are extracted.
[0033] (2) Construction of software fault-tolerant knowledge graph A software fault-tolerant knowledge graph is constructed by combining manual rules, expert experience summaries, and machine learning. Manual visualization tools are used to organize and design the graph patterns, and a mapping-based construction method is used to build the graph from structured data. For unstructured data, weakly supervised learning is used to construct the knowledge graph. Through methods such as connection, fusion, and tracing, multi-dimensional associations are built based on semantic relationships, including software features, failure modes, failure causes, and fault-tolerant design criteria, forming an embedded software fault-tolerant design knowledge graph.
[0034] (3) Intelligent recommendation of software fault-tolerant design principles Based on a software fault-tolerant knowledge graph, we conduct fault-tolerant knowledge graph association search, knowledge matching, and knowledge reasoning technologies to form an intelligent recommendation method for fault-tolerant design principles based on knowledge graphs and semantic understanding. Users input fault phenomena or software characteristics, and the system automatically finds the most matching fault causes from the knowledge graph through semantic understanding, and displays fault-tolerant design measures, thereby improving the intelligence level of fault-tolerant design.
[0035] A fault-tolerant design method for military embedded software oriented towards actual combat is proposed. It focuses on software failure modes in actual combat and conducts comprehensive software fault-tolerant design from multiple levels such as task level, environment level, interface level, and code level. Furthermore, it utilizes knowledge graph technology to improve the intelligence level of fault-tolerant design.
[0036] First, conduct software failure mode identification analysis for practical application, and identify possible failure modes by combining practical elements.
[0037] Military embedded software in actual combat cannot be analyzed solely from the perspective of its own functions and modules. It must also take into account various combat scenario elements such as the battlefield environment, the interconnection environment, and the combat scenario. Software failure mode recognition analysis technology for actual combat includes software failure mode recognition analysis technology oriented towards mission profile, software failure mode recognition analysis technology oriented towards interconnection relationship, and software failure mode recognition analysis technology oriented towards interconnection relationship.
[0038] The mission profile-based software fault mode identification and analysis technology, based on the established embedded software mission profile and combined with the characteristics of embedded software and typical combat mission scenarios, identifies potential fault modes from three aspects: typical mission functions, mission logic, and mission timing relationships. Regarding mission functions, fault mode scores are primarily derived from a top-down decomposition of combat missions, analyzing fault modes of typical underlying functions, including initialization processing, interrupt handling, data processing, and computation processing. Regarding mission logic, fault modes are identified through logical approximations of mission processing, such as functional logic, decision conditions, branch paths, and redundancy switching. Regarding mission timing, fault mode identification is performed based on functional operation timing, mission timing states, and state transition conditions.
[0039] Software failure mode identification and analysis (FMDA) technology for battlefield environments considers failure modes caused by random performance degradation due to environmental influences, as well as failure modes affecting network status and operating platforms due to electromagnetic interference, cyberattacks, and equipment damage. On one hand, it identifies and analyzes failure modes caused by random performance degradation due to terrain, hydrology, and meteorological parameters in the battlefield environment, affecting target detection distance, detection probability, detection error, and trajectory stability. On the other hand, it identifies and analyzes failure modes affecting network status and operating platforms due to electromagnetic interference, cyberattacks, and equipment damage.
[0040] Software fault mode identification and analysis (FMO) technology, oriented towards interconnection relationships, primarily targets the interaction relationships between interfaces of interconnected devices, between software within the system, and between software and hardware. It identifies fault modes from aspects such as control constraints, time constraints, and interface data constraints. For the "external interface model," software fault mode and impact analysis is conducted according to the following steps: identifying potential causes of software failure from the perspective of external input / output interface data, including categories such as abnormal data values, abnormal communication processes, abnormal device status, illegal operation behavior, and large-scale concurrent data processing.
[0041] Then, based on the identified failure modes, multi-level software fault tolerance design is carried out from the aspects of task, environment, interface, and code. Improving the reliability of military embedded software requires multi-level and comprehensive fault-tolerant design. Based on the identified fault modes, we need to carry out software mission-level fault-tolerant design based on mission profiles, software environment-level fault-tolerant design based on battlefield environment, interface-level fault-tolerant design based on cross-linking relationships, and code-level fault-tolerant design based on standard requirements to enhance the fault tolerance capability of military embedded software.
[0042] ① Software task-level fault-tolerant design based on task profile: Based on the task profile and the identified fault modes, fault-tolerant design is carried out on typical task functions, task logic and task timing relationships.
[0043] The task functionality is designed with fault tolerance based on fault modes in terms of task input, output, and task functions to ensure the reliability of task functions. A software task-level fault-tolerant design method based on task profiles is used to design fault tolerance for typical task functions, task logic, and task timing relationships. Fault causes are identified from categories such as functional concurrency conflicts, complex data combinations, functional serial anomalies, device call conflicts, actuators not responding to software control commands, and hardware / software control timing errors. Based on the fault causes, combined with the hierarchical relationships of the functions to be analyzed and the corresponding output interfaces, the abnormal output data that the fault causes may lead to is analyzed. Examples include stopped output data, timed-out output data, and erroneous output data. The software fault impact analysis process is the same as the interface data analysis process. Based on the fault impact level, system designers and software developers jointly decide whether to add control measures for functional combination conflicts and hardware / software coupling conflicts. Based on the fault causes, from the functional logic perspective, system designers and software developers jointly determine whether to add protective control measures or design-based control measures for software functional items and their hierarchical relationships. Relevant fault-tolerant design strategies are proposed from the perspectives of functional concurrency, functional seriality, and hardware / software coupling.
[0044] Fault-tolerant design of task logic addresses the migration between tasks, the logical relationships between tasks, and the propagation of task faults, thereby improving the reliability of task logic. From a functional logic perspective, potential causes of software failures are identified, including invalid operation processes, illegal decision conditions, and abnormal branch paths. Combining the execution logic of the function under analysis with its corresponding output interface, the abnormal output data that may result from the fault causes is analyzed. Examples include stopped output data, timed-out output data, and erroneous output data. The software fault impact analysis process is the same as the interface data analysis process. Based on the fault impact level, system designers and software developers jointly decide whether to add control measures for abnormal functional logic faults; based on the fault cause, from a functional logic perspective, system designers and software developers jointly determine whether to add protective control measures or design-based control measures for software functional items; the control measures implemented at the software level propose fault-tolerant design strategies related to functional logic from the perspectives of functional logic, decision conditions, branch paths, and redundancy switching.
[0045] Task timing fault-tolerant design addresses the real-time constraints and execution constraints of embedded software tasks, improving task timing reliability. It identifies potential software failure causes from the perspectives of working states and state transitions, including categories such as illegal operation timing, working state switching, and undefined scenarios. Combining the working state mode to be analyzed with the corresponding output interface, it analyzes the abnormal output data that may result from the failure causes. Examples include stopped output data, timed-out output data, and erroneous output data. Control measures are determined based on the software failure causes and their impact levels. Based on the failure impact level, system designers and software developers jointly decide whether to add control measures for state-related failures; based on the failure cause, whether to add protective or design-based control measures for the software's working state mode; and relevant fault-tolerant design strategies can be proposed from the perspectives of state transition conditions and state transition paths.
[0046] ② The software environment-level fault-tolerant design method based on the battlefield environment mainly focuses on fault-tolerant design for transient faults in software operation caused by the battlefield environment.
[0047] Operational environment modeling considers the impact of the actual combat geographical environment on troop deployment and detection equipment. It comprehensively considers the impact of terrain, hydrology, and meteorological parameters on the detection range, detection probability, detection error, and trajectory stability of detection equipment. Electromagnetic interference, network attacks, and the external environment also affect the internal network status. System battle damage and operating platform failures are also internal fault constraints. Software environment-level fault-tolerant design based on the battlefield environment mainly addresses fault tolerance design for transient faults in software operation caused by the battlefield environment. This includes fault tolerance design for faults such as transient performance degradation of detection and sensing capabilities, fault tolerance design for faults such as CPU and memory single-event flips, single-event latch-ups, and single-event burnouts, and fault tolerance design for transient network connectivity interruptions or transmission errors.
[0048] Because transient faults are characterized by their instantaneous impact, strong randomness, and extremely low probability of recurrence, the fundamental principle of transient fault tolerance is redundant computation. Based on the Sphere of Replication (SoR), error detection can be accomplished in three steps: input data copying, redundant computation, and output data comparison. Upon entering the SoR, the input data needs to be copied in some form. Redundant computation can be further divided into spatial redundancy and temporal redundancy: spatial redundancy refers to redundant computation being executed concurrently on different components, while temporal redundancy refers to computation being executed serially multiple times. Upon leaving the SoR, the output data needs to be compared to ensure correctness. If the comparison results differ, it indicates that at least one redundant computation has failed. After an error is detected, the error handling process takes appropriate error recovery measures. Therefore, the SoR represents the logical region of system fault tolerance, indicating the boundaries of error detection and tolerance. Errors are confined to the SoR. For transient faults, software fault tolerance can implement redundant computation at different levels, such as instruction level, high-level language level, thread level, and process level.
[0049] ④ Software interface-level fault-tolerant design methods based on cross-linking relationships include software-to-software interface fault-tolerant design, software-to-hardware interface fault-tolerant design, AC equipment interface fault-tolerant design, and distributed software fault monitoring and fault-tolerant design.
[0050] Based on the functional execution logic corresponding to the input / output interfaces to be analyzed, the abnormal output data that may result from the cause of the failure is analyzed. Examples include stopped output data, timed-out output data, and erroneous output data. For different types of failure modes, the impact on the system or the entire machine is described from the perspectives of operational safety and task completion. Simultaneously, based on the failure impact analysis results, the level of failure impact can be assessed, for example, categorized as critical, important, or general. Based on the failure impact level, system designers and software developers jointly decide whether to add control measures for illegal input / output failures; based on the cause of the failure, from the perspective of interface data, whether to add protective control measures or design-based control measures for software functional items. Capacity design strategies related to interface data are proposed from the perspectives of interface design, human-machine interface design, and redundancy design. Furthermore, the fault tolerance performance of a system in a distributed environment is closely related to the fault tolerance capability of each node. By configuring fault-tolerant software on each node to monitor and handle faults in that node, the fault tolerance capability of a single node is ensured; at the same time, by leveraging the characteristics of a distributed environment, the fault tolerance capability of the entire system is improved through resource sharing and the interaction between the fault-tolerant software of each node.
[0051] ⑤ Software code-level fault-tolerant design method based on standard requirements: Based on the established GJB8114 C / C++ language programming safety subset and GJB / Z 102A military software security design guidelines, a software code fault-tolerant design criterion selection strategy is formulated to improve the reliability of code operation, taking into account factors such as software type, criticality, and functional characteristics.
[0052] Finally, we will develop a software fault-tolerant knowledge graph and intelligent recommendation of criteria to improve the intelligence level of embedded software fault-tolerant design.
[0053] Based on a multi-level fault-tolerant design methodology for software, fault-tolerant design principles are extracted. Structured failure modes and unstructured design principles are integrated and managed. Entity extraction and domain term identification and management are performed on the features of these fault-tolerant design principles to extract knowledge elements such as entities, relationships, and attributes. A software fault-tolerant knowledge graph is constructed by combining manual rules, expert experience summaries, and machine learning. This graph establishes multi-dimensional associations between software features, failure modes, failure causes, and fault-tolerant design principles, forming an embedded software fault-tolerant design knowledge graph. Based on this knowledge graph, techniques for fault-tolerant knowledge graph association search, knowledge matching, and knowledge reasoning are developed to form an intelligent recommendation method for fault-tolerant design principles based on knowledge graphs and semantic understanding.
[0054] ① Feature extraction of software fault-tolerant design criteria Knowledge extraction techniques can extract knowledge elements such as entities, relationships, and attributes from publicly available semi-structured, unstructured, and third-party structured databases. Knowledge representation uses effective methods to represent these knowledge elements, facilitating further processing and use. Then, through knowledge fusion, ambiguities between entities, relationships, attributes, and factual objects can be eliminated, forming a high-quality knowledge base. Knowledge reasoning further mines implicit knowledge based on the existing knowledge base, enriching and expanding it. Knowledge extraction primarily targets open, linked data, typically using natural language text or multimedia content documents as input. Then, through automated or semi-automated techniques, usable knowledge units are extracted. These units mainly include three knowledge elements: entities, relationships, and attributes. Based on these, a series of high-quality factual expressions are formed, laying the foundation for the construction of the upper-level schema layer.
[0055] Entity extraction, also known as named entity learning or named entity recognition, refers to the automatic identification of named entities from raw data corpora. Since entities are the most basic elements in a knowledge graph, the completeness, accuracy, and recall of their extraction directly affect the quality of knowledge graph construction.
[0056] Semantic class extraction refers to automatically extracting information from text to construct semantic classes and establish associations between entities and semantic classes, serving as a form of standardization and abstraction at the entity level. One effective semantic class extraction method comprises three modules: parallel similarity calculation, hyponym / hypernym extraction, and semantic class generation.
[0057] Attribute extraction involves constructing an attribute list for each ontology semantic class, while attribute value extraction adds attribute values to entities within a semantic class. The extraction of attributes and attribute values together forms a complete knowledge graph dimension of entity concepts.
[0058] Relation extraction aims to solve the problem of semantic linking of entities. Basic information about a relation includes parameter types and the tuple schema that satisfies the relation.
[0059] Based on the multi-level fault-tolerant design method of software, the fault-tolerant design criteria are extracted, and the structured failure modes and unstructured design criteria are integrated and managed. The characteristics of the fault-tolerant design criteria are extracted by entity extraction, domain term identification and management, and knowledge elements such as entities, relationships and attributes are extracted.
[0060] ② Construction of Software Fault Tolerance Knowledge Graph A software fault-tolerant knowledge graph is constructed by combining manual rules, expert experience summaries, and machine learning. Manual visualization tools are used to organize and design graph patterns, and a mapping-based construction method is used to build the graph from structured data. For unstructured data, weakly supervised learning is used to construct the knowledge graph. Through methods such as connection, fusion, and tracing, multi-dimensional associations are built based on semantic relationships, including software features, failure modes, failure causes, and fault-tolerant design criteria, forming an embedded software fault-tolerant design knowledge graph. Connection enables the identification of relationships and attributes; rule engines, classification, and clustering algorithms assist business personnel in human-machine collaboration and the identification of logical reasoning. Fusion fully utilizes state-of-the-art knowledge fusion algorithms, including graph representation learning and graph neural networks, while also supporting human-machine interaction and considering the friendliness of human-machine collaboration. Tracing allows each piece of knowledge in the knowledge graph to be traced back to its original source, facilitating verification of data reliability, effective access control, and knowledge updates.
[0061] Traditional knowledge representation methods primarily use the RDF (Resource Description Framework) triples SPO (subject, predicate, object) to symbolically describe the relationships between entities. Significant progress has been made in learning technologies, particularly deep learning, which can represent the semantic information of entities as dense, low-dimensional real-valued vectors. This allows for efficient computation of entities, relationships, and their complex semantic connections in a low-dimensional space, which is of great importance for the construction, reasoning, fusion, and application of knowledge bases.
[0062] Knowledge representation, and representative models of knowledge representation learning include distance models, single-layer neural network models, bilinear models, neural tensor models, matrix factorization models, translation models, etc.
[0063] Entity relationship types can be divided into four types: 1-to-1, 1-to-N, N-to-1, and N-to-N. Complex relationships mainly refer to three types: 1-to-N, N-to-1, and N-to-N.
[0064] Knowledge fusion, through knowledge extraction, achieves the goal of obtaining entity, relation, and entity attribute information from unstructured and semi-structured data. However, due to the wide range of knowledge sources, there are problems such as uneven knowledge quality, duplication of knowledge from different data sources, and missing hierarchical structures. Therefore, knowledge fusion is necessary.
[0065] Entity alignment, also known as entity matching, entity resolution, or entity linking, is primarily used to eliminate inconsistencies such as entity conflicts and unclear referencing in heterogeneous data. It can create a large-scale unified knowledge base from the top level, helping machines understand multi-source heterogeneous data and form high-quality knowledge. Pairwise entity alignment methods: Traditional probabilistic model-based entity alignment methods mainly consider the similarity of the attributes of two entities, without considering the relationships between them. Machine learning-based entity alignment methods mainly transform the entity alignment problem into a binary classification problem. Based on whether labeled data is used, it can be divided into supervised learning and unsupervised learning. Supervised learning-based entity alignment methods can be further divided into pairwise entity alignment, clustering-based alignment, and active learning. Local collective entity alignment methods: Local collective entity alignment methods assign different weights to the attributes of an entity itself and the attributes of its related entities, and calculate the overall similarity by weighted summation. Vector space models and cosine similarity can also be used to determine the similarity of entities in a large-scale knowledge base. Global collective entity alignment methods: The similarity propagation-based collective entity alignment method is a typical collective entity alignment method. The two matched entities will also have high similarity with other entities that are directly related to them. The probabilistic model-based collective entity alignment method mainly uses statistical relation learning for calculation and inference. Commonly used methods include LDA model, CRF model, Markov logic network, etc.
[0066] Knowledge graphs can be manually constructed through manual editing or through data-driven intelligent construction, and then corrected and confirmed through a combination of quality assessment methods and manual review. For knowledge graphs built through intelligent training, manual review is conducted to retain those with higher confidence levels and discard those with lower confidence levels, effectively ensuring the quality of the knowledge.
[0067] ③ Intelligent recommendation of software fault-tolerant design principles Based on a software fault-tolerant knowledge graph, we conduct fault-tolerant knowledge graph association search, knowledge matching, and knowledge reasoning technologies to form an intelligent recommendation method for fault-tolerant design principles based on knowledge graphs and semantic understanding. Users input fault phenomena or software characteristics, and the system automatically finds the most matching fault causes from the knowledge graph through semantic understanding, and displays fault-tolerant design measures, thereby improving the intelligence level of fault-tolerant design.
[0068] Knowledge reasoning, on the other hand, further mines implicit knowledge based on the existing knowledge base, thereby enriching and expanding the knowledge base. The reasoning process often requires the support of association rules. Due to the diversity of entities, entity attributes, and relationships, it is difficult to exhaustively list all reasoning rules; some more complex reasoning rules are often manually summarized. The mining of reasoning rules mainly relies on the rich co-occurrence of entities and relationships. The objects of knowledge reasoning can be entities, entity attributes, relationships between entities, the hierarchical structure of concepts in the ontology, etc. Knowledge reasoning methods can be mainly divided into two categories: logic-based reasoning and graph-based reasoning. Logic-based reasoning mainly includes first-order predicate logic, descriptive logic, and rules. First-order predicate logic reasoning is based on propositions, which contain individuals and predicates. Individuals in logic correspond to entity objects in the knowledge base, possessing objective independence; they can be a specific instance or refer to a class. Predicates describe the properties of individuals or the relationships between individuals. Graph-based reasoning methods mainly utilize the implied information in relational paths, predicting the semantic relationships between two entities through multi-step paths in the graph. Starting from the source node, the path modeling algorithm is used to walk across the graph. If the target node can be reached, it is inferred that there is a connection between the source node and the target node.
[0069] Knowledge graph-based relational search can present the context of knowledge on a larger scale. When users search using natural language, the system uses keywords to mine the complete knowledge context from a specific node in the knowledge graph, thus providing users with more complete content and shortening the knowledge mining time. Based on precise querying using knowledge graphs, which enable fine-grained, multi-dimensional, and multi-level associations, and whose ability to understand and analyze natural language, it is possible to find the desired results very conveniently and accurately when searching for quality data of aerospace equipment at a certain stage or in a certain aspect, greatly improving search efficiency.
[0070] The failure knowledge graph constructs multi-dimensional associations of software features, faults, causes, and fault-tolerant design criteria based on semantic relationships. Through the fault attribution analysis assistant, it can quickly analyze and mine data, accelerate the analysis of association and cross-check information, and obtain the causes of abnormal equipment failures and fault-tolerant design solutions in a timely manner, so as to present the software fault-tolerant design solutions in a visualized and intelligent way.
Claims
1. A practical, application-oriented intelligent design method for embedded software fault tolerance, characterized in that, The intelligent method for embedded software fault tolerance, geared towards practical application, includes: Fault modes are identified through practical software fault mode identification. Based on the identified fault modes, fault tolerance design is implemented at different levels; Based on the fault-tolerant design, the software fault-tolerant design criteria are extracted, and the structured failure modes and unstructured design criteria are integrated and managed. The characteristics of the fault-tolerant design criteria are extracted into entities, and domain terms are identified and managed. Entities, relationships, and attributes are extracted, and a knowledge graph is constructed in combination with user information.
2. The intelligent design method for embedded software fault tolerance based on practical application as described in claim 1, characterized in that, Software failure mode recognition for practical applications includes software failure mode recognition analysis oriented towards mission profiles, software failure mode recognition analysis oriented towards battlefield environments, and software failure mode recognition analysis oriented towards interconnected relationships.
3. The intelligent design method for embedded software fault tolerance based on practical application as described in claim 2, characterized in that, The failure modes identified through the practical software failure mode identification include: The task-oriented software fault mode identification and analysis technology identifies possible fault modes from the perspectives of task function, task logic, and task timing relationship based on the established embedded software task profile and the characteristics of embedded software and typical combat mission scenarios. The software failure mode identification and analysis technology for battlefield environments considers failure modes that may be caused by random performance degradation due to environmental influences, as well as failure modes related to network status and operating platform caused by electromagnetic interference, network attacks, and equipment damage. The software fault mode recognition and analysis technology oriented towards cross-linking relationships identifies fault modes from the aspects of control constraints, time constraints, and interface data constraints, targeting the interaction relationships between cross-linking device interfaces, between software within the system, and between software and hardware.
4. The intelligent design method for embedded software fault tolerance based on practical application as described in claim 3, characterized in that, The failure mode score of the mission function is a top-down decomposition of combat missions, analyzing the failure modes of typical underlying functions, including initialization processing, interruption processing, data processing, and computation processing.
5. The intelligent design method for embedded software fault tolerance capability oriented towards practical application as described in claim 4, characterized in that, The software failure mode identification and analysis for battlefield environments identifies and analyzes failure modes that cause random performance degradation in target detection distance, detection probability, detection error, and trajectory stability due to terrain, hydrology, and meteorological parameters in the battlefield environment. It also identifies and analyzes failure modes in network status and operating platform aspects of software operation caused by electromagnetic interference, network attacks, and equipment damage.
6. The intelligent design method for embedded software fault tolerance capability oriented towards practical application as described in claim 5, characterized in that, Different levels include tasks, environments, interfaces, and code.
7. The intelligent design method for embedded software fault tolerance capability oriented towards practical application as described in claim 6, characterized in that, The fault-tolerant design based on the identified fault modes at different levels includes: Software task-level fault-tolerant design based on task profiles involves distributing fault-tolerant designs for typical task functions, task logic, and task timing relationships according to the task profiles and identified fault modes. The software environment-level fault-tolerant design method based on the battlefield environment is designed to tolerate transient faults in software operation caused by the battlefield environment. Software interface-level fault-tolerant design methods based on cross-linking relationships include software-to-software interface fault-tolerant design, software-to-hardware interface fault-tolerant design, AC equipment interface fault-tolerant design, and distributed software fault monitoring and fault-tolerant design. Based on standard requirements, a software code-level fault-tolerant design method is used to formulate a software code fault-tolerant design criterion selection strategy according to a predetermined specification.
8. The intelligent design method for embedded software fault tolerance capability oriented towards practical application as described in claim 7, characterized in that, The software task-level fault-tolerant design based on task profiles, according to the task profiles and identified fault modes, distributes fault-tolerant design for typical task functions, task logic, and task timing relationships, including: The task functionality is designed with fault tolerance based on the task input, output, and fault modes of the task functionality. Fault-tolerant design for task logic addresses fault tolerance in tasks, including task migration, task relationship logic, and task fault propagation. The task timing fault tolerance design is designed to address the real-time constraints and task execution constraints of embedded software tasks.
9. The intelligent design method for fault-tolerant embedded software oriented towards practical application as described in claim 8, characterized in that, The software environment-level fault-tolerant design method based on the battlefield environment is designed to tolerate transient faults in software operation caused by the battlefield environment. It includes fault tolerance design for faults such as transient performance degradation of detection and sensing capabilities, fault tolerance design for faults such as single-event flip, single-event latch-up and single-event burnout of CPU and memory, and fault tolerance design for instantaneous network connectivity or transmission errors.
10. The intelligent design method for fault-tolerant embedded software oriented towards practical application as described in claim 9, characterized in that, The method further includes the following steps after extracting software fault-tolerant design criteria based on the fault-tolerant design, integrating and managing structured failure modes and unstructured design criteria, extracting entities, identifying and managing domain terms for the features of the fault-tolerant design criteria, extracting entities, relationships, and attributes, and constructing a knowledge graph based on user information: Based on software fault-tolerant knowledge graphs, we conduct fault-tolerant knowledge graph association search, knowledge matching, and knowledge reasoning technologies to form an intelligent recommendation method based on fault-tolerant design principles of knowledge graphs and semantic understanding.
