Patent Description:
Complex systems such as machines including vehicles such as aircraft, spacecraft, watercraft, motor vehicles, railed vehicles, typically include some type of performance monitoring system that records data regarding the machine performance, which includes the performance of the various systems (and subsystems) of the machine. The data include a record of certain performance events that occur during the operation of the machine. The performance monitoring system typically conducts data collection and reports all of the data collected to the user. The user then may utilize the data in determining the type of maintenance or repair, if any, that the machine may need. For example, if the data indicates that a particular mechanical or electromechanical system of the machine is malfunctioning or that the performance of one or more mechanical or electromechanical systems may contribute to a future machine failure, then the user can perform the appropriate repair on the machine at the next opportunity.

While the current systems for machine performance and fault monitoring provide the necessary data for a user to make an appropriate repair decision, it is still necessary for a user to sort through all of the data to determine the most-appropriate repair action to address a fault mode. Thus, the user must sort and interpret the data in light of the user's knowledge of the particular machine. This can be time consuming and not always result in the first performed repair action being the most appropriate repair action, particularly for complex machines like aircraft and other vehicles. For many types of machines, particularly commercial vehicles, the amount of time the vehicle is out of service is costly to the vehicle owner. As such, the longer it takes for the most-appropriate repair action to be performed for a given fault mode, the longer the vehicle will be out of service, which may be expensive to the vehicle owner if the vehicle would otherwise be in service.

Therefore, it would be desirable to have a system and method that takes into account at least some of the issues discussed above, as well as other possible issues.

<CIT> states, in accordance with its abstract, methods and apparatus are provided for analyzing a complex system that includes a number of subsystems. Each subsystem comprises at least one sensor designed to generate sensor data. Sensor data from at least one of the sensors is processed to generate binary evidence of a sensed event, and complex evidence of a sensed event. The complex evidence has more sophisticated mathematical properties than the binary evidence. The complex evidence comprises one or more of: a condition indicator (CI), a health indicator (HI), and a prognostic indicator (PI). A system fault model (SFM) is provided that defines statistical relationships between binary evidence, complex evidence, and an underlying failure mode (FM) that is occurring in the complex system. The binary evidence and the complex evidence are processed to identify failure modes taking place within one or more of the subsystems. Based on the binary evidence and the complex evidence and the SFM, diagnostic conclusions can be generated regarding adverse events that are taking place within the complex system, and prognostic conclusions can be generated regarding adverse events that are predicted to take place within the complex system.

<CIT> states, in accordance with its abstract, a safety-analysis system for a complex system such as an aircraft includes a system modeler and model-analysis system. The system modeler is configured to receive component fault-based models of respective components of which a system is composed, such as from a library of component fault-based models in storage. The component fault-based models include transfer functions expressed as fault trees each of which describes behavior of a respective component in an event of a failure of the respective component or of an external input to the component. The system modeler is also configured to assemble the component fault-based models into a system fault-based model of the system, with the system fault-based model including a transfer function expressed as an assembly of the fault trees of the component fault-based models. The model-analysis system, then, is configured to perform a safety analysis using the system fault-based model.

<CIT> states, in accordance with its abstract, a system is provided in which a causal relation model acquired according to a manufacturing process data is efficiently used and verification according to domain knowledge is easily performed. There is provided a causal relation model verification method in an information processing device which includes an input device, a display device, a processing device, and a storage device. In the method, a first step is performed in which quality data which is an evaluation result of a resulting product, monitor data which indicates a parameter in a case where the resulting product is generated, and domain knowledge which indicates a mutual relation between the quality data and the monitor data are acquired from the input device or the storage device. In addition, a second step is performed in which the processing device constructs the causal relation model which defines a relation between nodes by setting the quality data and the monitor data to the nodes, using a causal relation model construction condition, which is acquired from the input device or the storage device. In addition, a third step is performed in which at least one of a comparison processing performed by the processing device and a comparison display performed by the display device is performed on the causal relation model and the domain knowledge.

A method, a computer program product and an apparatus according to the invention are provided, respectively, in claims <NUM>, <NUM> and <NUM>. The dependent claims define further advantageous embodiments.

Example implementations of the present disclosure are directed to improved techniques for onboard diagnosis and correlation of failure data to maintenance actions, and closed-loop diagnostic model maturation for complex systems. Examples provide an onboard reasoner on an aircraft and a process for diagnosing a failure on the aircraft. Other examples provide an off-board reasoner and a process for closed-loop diagnostic model maturation in order to maintain the onboard reasoner for diagnosing failures on the aircraft.

Some examples provide a method of diagnosing a failure on an aircraft that includes aircraft systems configured to report faults to an onboard reasoner, the method comprising: receiving a fault report at an onboard computer of the aircraft that includes the onboard reasoner, from an aircraft system of the aircraft systems, the fault report indicating failed tests reported by the aircraft system; accessing, by the onboard reasoner, an onboard diagnostic causal model represented by a graph that describes known causal relationships between possible failed tests reported by the respective ones of the aircraft systems, and possible failure modes of the respective ones of the aircraft systems; diagnosing, by the onboard reasoner, a failure mode of the aircraft system or another of the aircraft systems, from the failed tests, and using a graph-theoretic algorithm and the onboard diagnostic causal model; determining a maintenance action for the failure mode; and generating, by the onboard computer, a maintenance message including at least the maintenance action.

In some examples, the onboard diagnostic causal model is represented by the graph that includes nodes connected by edges, the nodes representing the possible failed tests and the possible failure modes, and the edges indicating the known causal relationships between the possible failed tests and the possible failure modes.

In some examples, the onboard diagnostic causal model is represented by the graph that is an assembly of graphs for respective ones of the aircraft systems, the graphs reflecting fault propagation behavior within the respective ones of the aircraft systems, and the assembly reflecting fault propagation behavior across connected ones of the aircraft systems.

Some examples provide an onboard computer for diagnosing a failure on an aircraft that includes aircraft systems configured to report faults to an onboard reasoner, the onboard computer comprising memory configured to store computer-readable program code including the onboard reasoner; and processing circuitry configured to access the memory and execute the computer-readable program code to cause the apparatus to at least perform the method of any preceding example implementation, or any combination of any preceding example implementations.

Some examples provide a system for diagnosing a failure on an aircraft that includes aircraft systems configured to report faults to an onboard reasoner, the system comprising an onboard computer including the onboard reasoner configured to perform the method of any preceding example implementation, or any combination of any preceding example implementations.

Some examples provide a method of maintaining an onboard reasoner for diagnosing failures on an aircraft that includes aircraft systems configured to report faults to the onboard reasoner, the method comprising: accessing diagnostic data received from an onboard computer of the aircraft that includes the onboard reasoner, the diagnostic data including a plurality of fault reports of failed tests reported by respective ones of the aircraft systems, and a plurality of diagnosed failure modes of at least some of the aircraft systems that caused the failed tests; building, using an off-board reasoner, an off-board diagnostic causal model that describes causal relationships between the failed tests and the plurality of diagnosed failure modes, the off-board diagnostic causal model built using a graph-theoretic machine learning algorithm trained using historical diagnostic data; comparing the diagnostic data to the off-board diagnostic causal model; and based thereon, determine a new causal relationship in the causal relationships described by the off-board diagnostic causal model that is new relative to the known causal relationships; and updating the onboard diagnostic causal model to further describe the new causal relationship, including producing an updated onboard diagnostic causal model, and uploading the updated onboard diagnostic causal model to the onboard computer using a loadable software airplane part upload tool set.

In some examples, the off-board diagnostic causal model is represented by a graph that includes nodes connected by edges, the nodes representing the failed tests and the plurality of diagnosed failure modes, and the edges indicating the known causal relationships between the failed tests and the plurality of diagnosed failure modes.

These and other features, and advantages of the present disclosure will be apparent from a reading of the following detailed description together with the accompanying figures, which are briefly described below.

It will therefore be appreciated that this Brief Summary is provided merely for purposes of summarizing some example implementations. Other example implementations and advantages will become apparent from the following detailed description taken in conjunction with the accompanying figures which illustrate, by way of example, the principles of some described example implementations.

Having thus described example implementations of the disclosure in general terms, reference will now be made to the accompanying figures, which are not necessarily drawn to scale, and wherein:.

Some implementations of the present disclosure will now be described more fully hereinafter with reference to the accompanying figures, in which some, but not all implementations of the disclosure are shown. Indeed, various implementations of the disclosure may be embodied in many different forms and should not be construed as limited to the implementations set forth herein; rather, these example implementations are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art. For example, unless otherwise indicated, reference something as being a first, second or the like should not be construed to imply a particular order. Also, something may be described as being above something else (unless otherwise indicated) may instead be below, and vice versa; and similarly, something described as being to the left of something else may instead be to the right, and vice versa.

Example implementations of the present disclosure are directed to improved techniques for onboard diagnosis and correlation of failure data to maintenance actions, and closed-loop diagnostic model maturation for complex system. Example implementations provide an onboard reasoner on an aircraft and a process for diagnosing a failure on the aircraft. Additionally or alternatively, some example implementations provide an off-board reasoner and a process for closed-loop diagnostic model maturation in order to maintain an onboard reasoner for diagnosing failures on the aircraft.

<FIG> illustrates one type of aircraft <NUM> that may benefit from example implementations of the present disclosure. As shown, the aircraft includes an airframe <NUM> with a fuselage <NUM>, wings <NUM> and tail <NUM>. The aircraft also includes a plurality of high-level systems <NUM> such as a propulsion system. The propulsion system of <FIG> may include two wing-mounted engines <NUM>. In other examples, the propulsion system can include other arrangements, for example, engines carried by other portions of the aircraft including the fuselage and/or the tail. The high-level systems may also include an electrical system <NUM>, hydraulic system <NUM> and/or environmental system <NUM>. Any number of other systems may be included.

The high-level systems described above may include a plurality of sensors and subsystems providing fault and sensor data that is communicated via an aircraft data communications bus network and/or an onboard network system (ONS) to an aircraft condition monitoring system (ACMS). The ACMS may collect, monitor, record and report real-time aircraft system data, which may include error messages from a flight deck effects (FDE) system, system test reports, fault reports and other information. The data collected by the ACMS is used, for example, to perform cabin pressure and temperature monitoring, hard landing detection, flight crew monitoring, and engine monitoring in addition to many other aircraft performance functions. The received data is then utilized to analyze aircraft performance, record significant flight events, report aircraft system test reports and fault reports, and troubleshoot faults.

The ACMS may be in communication with an onboard component / computer <NUM> which may also be referred to as a central maintenance computer (CMC), on which may reside an aircraft health management or maintenance management system and a diagnostic maintenance computing function (DMCF). The onboard computer <NUM> including the DMCF may receive aircraft system test reports and fault reports, and may further include an onboard diagnostic model. The DMCF may provide data acquisition for the onboard diagnostic model, which receives the test reports and fault report data.

<FIG> illustrates a system <NUM> for maintenance of an aircraft <NUM> that may correspond to aircraft <NUM>, according to some example implementations. As described in greater detail below, the system may include any of a number of different subsystems (each an individual system) for performing one or more functions or operations. The subsystems may be co-located or directly coupled to one another, or in some examples, various ones of the subsystems may communicate with one another across the one or more computer networks <NUM>. Further, although shown as part of the system, it should be understood that any one or more of the subsystems may function or operate as a separate system without regard to any of the other subsystems. It should also be understood that the system may include one or more additional or alternative subsystems than those shown in <FIG>.

As shown, in some examples, the system <NUM> includes an onboard computer <NUM> that may correspond to onboard component / computer <NUM>. The onboard computer includes an onboard reasoner <NUM>, and in some examples, the onboard computer is configured to diagnose a failure on the aircraft that includes aircraft systems configured to report faults to the onboard reasoner. At least when the aircraft <NUM> corresponds to aircraft <NUM>, examples of suitable aircraft systems include propulsion system <NUM>, electrical system <NUM>, hydraulic system <NUM> and/or environmental system <NUM>. Any number of other systems may be included.

In some examples, the onboard computer <NUM> is configured to receive a fault report from an aircraft system of the aircraft systems, the fault report indicating failed tests reported by the aircraft system. The onboard computer is configured to access, by the onboard reasoner <NUM>, an onboard diagnostic causal model, which may be represented by a graph that describes known causal relationships between possible failed tests reported by the respective ones of the aircraft systems, and possible failure modes of the respective ones of the aircraft systems. In some examples, the onboard diagnostic causal model is represented by the graph that includes nodes connected by edges, in which the nodes represent the possible failed tests and the possible failure modes, and the edges indicate the known causal relationships between the possible failed tests and the possible failure modes. Additionally or alternatively, in some examples, the onboard diagnostic causal model is represented by the graph that is an assembly of graphs for respective ones of the aircraft systems, in which the graphs reflect fault propagation behavior within the respective ones of the aircraft systems, and the assembly reflects fault propagation behavior across connected ones of the aircraft systems.

With reference to <FIG>, the onboard computer includes an onboard reasoner <NUM>, with which the onboard computer is configured to diagnose a failure on the aircraft that includes aircraft systems configured to report faults to the onboard reasoner. The onboard computer <NUM> is configured to diagnose, by the onboard reasoner <NUM>, a failure mode of the aircraft system or another of the aircraft systems, from the failed tests, and using the onboard diagnostic causal model <NUM> and a graph-theoretic algorithm such as an optimal solution set (OSS) algorithm. The onboard computer is also configured to generate a failure report associated with the diagnosed failure mode, based on which a maintenance message may be generated that indicates a maintenance action. As shown in <FIG>, an off-board computer <NUM> is configured to maintain the onboard reasoner <NUM>. In some examples, the off-board computer is configured to access diagnostic data received directly or indirectly from the onboard computer. This diagnostic data includes a plurality of fault reports of failed tests reported by respective ones of the aircraft systems, and a plurality of diagnosed failure modes of at least some of the aircraft systems that caused the failed tests. The off-board computer <NUM> includes an off-board reasoner <NUM>, which is configured to determine causal relationships between the failed tests and the plurality of diagnosed failure modes. The off-board diagnostic causal model uses a machine learning algorithm trained using historical diagnostic data, which may be a machine learning algorithm such as a graph-theoretic algorithm for finding maximal cliques such as a Bron-Kerbosch algorithm. The machine learning algorithm for finding maximal cliques uses diagnostic data, including historical data that relates maintenance actions to maintenance messages or failure modes (obtained from a database of actual aircraft diagnostic data, which includes different failure modes; relationships between test reports, failure reports and components; maintenance action data, etc.), for determining known causal relationships between failure modes and failed tests. The off-board reasoner employing the machine learning algorithm is configured to use actual failure data, diagnostic data and/or maintenance action data received from an onboard aircraft system (from which to determine relationships between failure modes and failed tests), which is compared to the diagnostic data accessible from the aircraft onboard diagnostic system (onboard computer <NUM>). The off-board reasoner may determine a discrepancy based on the comparison, which may then update and improve the onboard diagnostic causal model. The identification of a discrepancy may comprise identifying a new maintenance action, from historical diagnostic data and maintenance action data collected from an aircraft onboard system, wherein the discrepancy identification identifies a new maintenance action that is associated with the failure mode.

<FIG> shows an example graph-based representation of an onboard diagnostic causal model <NUM> suitable as the onboard diagnostic casual model <NUM>, according to some example implementations. As shown, a fault report <NUM> from an aircraft brake system antiskid wheelspeed transducer <NUM> may indicate failed gear retract braking tests 306A, 306B. As also shown, the onboard diagnostic casual model may include nodes 308A-C connected by edges <NUM>. The nodes may include nodes 308A, 308B that represent the failed gear retract braking tests, and a node 308C that represents a failure mode with a known causal relationship to the failed tests, as indicated by the edges connecting the nodes. In this regard, the failed tests share a common failure mode of a spurious operation of the aircraft brake system antiskid wheel speed transducer. This failure mode, then, may be diagnosed from the failed tests and using the onboard causal model. A maintenance action may be implemented for the failure mode, and a maintenance message <NUM> that references instructions <NUM> for performing the maintenance action may be generated. Such maintenance action data may be collected from the aircraft condition monitoring system or other system as historical maintenance action data and/or diagnostic data, where actual historic diagnostic data and maintenance action data may be used in determining actual causal relationships.

Returning to <FIG>, the onboard computer <NUM> is configured to diagnose, by the onboard reasoner <NUM>, a failure mode of the aircraft system or another of the aircraft systems, from the failed tests, and using a graph-theoretic algorithm and the onboard diagnostic causal model <NUM>. One example of a suitable graph-theoretic algorithm is an optimal solution set (OSS) algorithm. The OSS algorithm may utilize submodular minimization of data to provide an efficient distributed optimization algorithm, where data on various failed test reports may be associated to an element or category of test reports or failure modes, and only data of subsets containing a specific failed test report or failure mode itself is considered while ignoring all other data. The optimization algorithm may further create graphs of nodes for graph-theoretic analysis, and may use neighboring node and/or edge probability analysis to determine a diagnosed failure mode, which would describe a diagnosis causal relationship between failed tests reported by the aircraft and possible failure modes for a reported aircraft system. The onboard computer is also configured to determine a maintenance action for the failure mode and generate a maintenance message <NUM> including at least the maintenance action.

In some examples, the onboard computer <NUM> is further configured to send the maintenance message <NUM> to a display device <NUM> onboard the aircraft, or to a display device on a maintenance component configured to establish a connection with the onboard computer to receive and display the maintenance message <NUM>. In some of these examples, display of the maintenance message references instructions <NUM> for performing the maintenance action to address the failure mode diagnosed by the onboard reasoner <NUM>.

As also shown in <FIG>, the system <NUM> in some examples includes an off-board computer <NUM> configured to maintain the onboard reasoner <NUM>. In some examples, the off-board computer is configured to access diagnostic data received directly or indirectly from the onboard computer. This diagnostic data includes a plurality of fault reports of failed tests reported by respective ones of the aircraft systems, and a plurality of diagnosed failure modes of at least some of the aircraft systems that caused the failed tests.

As shown, in some examples, the system <NUM> includes at least one source <NUM> of data. In some examples, the source includes a memory that may be located at a single source or distributed across multiple sources. The data may be stored in a number of different manners, such as in a database or flat files of any of a number of different types or formats. In some of these examples, an aircraft condition monitoring system (ACMS) onboard the aircraft <NUM> may collect, monitor, record, and report diagnostic data. At least some of the diagnostic data may be accessible from reports generated by the ACMS and may be wirelessly transmitted to a particular source of data-shown and at times referred to as an airplane health management (AHM) system 220A-directly or via an artificial satellite <NUM> or network(s) <NUM>. In other of these examples, the diagnostic data may be transmitted via a wired connection or portable data storage device (e.g., flash memory, thumb drive).

In some examples, the off-board computer <NUM> includes an off-board reasoner <NUM>. The off-board computer is configured to build, using the off-board reasoner, an off-board diagnostic causal model <NUM>, which may be that describes causal relationships between the failed tests and the plurality of diagnosed failure modes. The off-board diagnostic causal model is here built using a graph-theoretic machine learning algorithm trained using historical diagnostic data. And in some examples, the off-board diagnostic causal model is represented by the graph that includes nodes connected by edges, in which the nodes representing the failed tests and the plurality of diagnosed failure modes, and the edges indicating the known causal relationships between the failed tests and the plurality of diagnosed failure modes. The offboard diagnostic causal model <NUM> employs a machine learning algorithm that uses failure data, historical diagnostic data and/or maintenance action data received from an onboard aircraft system, which is compared to diagnostic data accessible from the aircraft onboard diagnostic system (onboard computer <NUM>). The off-board diagnostic causal model <NUM> may determine a discrepancy based its comparison to the diagnostic data. In the example onboard diagnostic causal model in <FIG>, a graph-based representation of a fault report <NUM> from an aircraft brake system antiskid wheelspeed transducer <NUM> indicates failed gear retract braking tests 306A, 306B. The off-board diagnostic causal model <NUM> can identify a discrepancy based on collected maintenance action data such as a wheel speed transducer repair instruction (MM_32_30710), for defining a new relationship in the diagnostic causal model pertaining to the fault, to be incorporated into the aircraft's onboard diagnostic reasoner model.

One example of a suitable graph-theoretic machine learning algorithm is a graph-theoretic algorithm for finding maximal cliques such as a Bron-Kerbosch algorithm. A graph-theoretic machine learning algorithm for finding maximal cliques may use diagnostic data to determine known causal relationships between failure modes and failed tests. <FIG> shows diagnostic data and relationships may be transposed into a graph of a maximal clique <NUM> with nodes <NUM>, <NUM>, and edges <NUM> as described below, one of each being called out in the figure. Here, the nodes <NUM> represent possible failed tests T1, T2, T3, and T4, and the nodes <NUM> represent possible failure modes F2, F4, F5, F8, and F10. The edges indicate known causal relationships between the possible failed tests and the possible failure modes.

The maximal clique <NUM> can be determined from the graph, which in this example includes all of the nodes <NUM>, <NUM> and edges <NUM> in the graph based on the diagnostic data. In other examples a maximal clique may include less than all of the nodes and edges. From the maximal clique, particular failure modes associated with failed tests may be isolated.

For example, the edges <NUM> may be examined to find the active failure mode(s) <NUM> associated with the reported failed tests at the nodes <NUM>. The off-board reasoner <NUM> may determine that a clique is a maximal clique (e.g., maximal clique <NUM>) if it has more than one node for a failed test. Further, the maximal clique may be identified as a monochromatic clique if all of the nodes for the failed tests have one or more shared failure mode as determined from the edges connecting the nodes. A shared failure mode(s) becomes the failure mode of interest, and the monochromatic clique may then be used to identify the failed component associated with the failure mode of interest. In <FIG>, maximal clique <NUM> is a monochromatic clique with a shared failure mode F8 as identified from edges <NUM> connecting the nodes <NUM> representing the failed tests with the nodes <NUM> representing the shared failure mode F8.

Returning again to <FIG>, the off-board diagnostic causal model <NUM> may be matured by discovering any new relationships between failure modes and failed tests that were not present in the onboard diagnostic causal model <NUM> or are the result of emergent behavior in any of the aircraft systems. This can be mined from historical data that relates maintenance actions to maintenance messages <NUM> or failure modes, which may then update and improve the off-board diagnostic causal model.

The off-board diagnostic causal model <NUM> may have a certain signature that defines the expected propagation of the failure modes. In operation, the off-board reasoner <NUM> may record the portions of the signature that it encounters while performing diagnosis. The off-board diagnostic causal model can be improved from this historical data (using a historical signature), which can be compared to a previous off-board diagnostic causal model so that any new relationship can be considered for addition to an updated off-board diagnostic causal model.

The off-board computer <NUM> is configured to compare the diagnostic data from the onboard computer <NUM> to the off-board diagnostic causal model <NUM> to diagnose failure modes of the aircraft systems. In this regard, the diagnostic data may describe known causal relationships between possible failed tests reported by the respective ones of the aircraft systems, and possible failure modes of the respective ones of the aircraft systems.

Based on the above, in these examples, the off-board computer <NUM> is configured to determine a new causal relationship in the causal relationships described by the off-board diagnostic causal model <NUM> that is new relative to the known causal relationships. The off-board computer is also configured to update the onboard diagnostic causal model to further describe the new causal relationship. This includes the off-board computer configured to produce an updated onboard diagnostic causal model, and upload the updated onboard diagnostic causal model to the onboard computer <NUM> as a loadable software airplane part (LSAP) via an LSAP upload tool set <NUM>.

In some examples, the plurality of fault reports include a fault report that indicates those of the failed tests caused by a diagnosed failure mode of the plurality of diagnosed failure modes. In some of these examples, the off-board computer <NUM> is further configured to diagnose, by the off-board reasoner <NUM>, a corresponding failure mode of the aircraft system, from those of the failed tests caused by the diagnosed failure mode, and using the graph-theoretic machine learning algorithm and the graph. The off-board computer, then, is also configured to report any discrepancy between the corresponding failure mode diagnosed by the off-board reasoner, and the diagnosed failure mode of the plurality of diagnosed failure modes from the diagnostic data received from the onboard computer <NUM>.

In some examples, the diagnostic data accessed by the off-board computer <NUM> further includes maintenance messages <NUM> with maintenance actions determined by the onboard reasoner <NUM> for respective ones of the plurality of diagnosed failure modes. In some of these examples, the onboard diagnostic causal model <NUM> further describes relationships between the possible failure modes and respective ones of the maintenance actions. For a particular maintenance message with a particular maintenance action for a respective diagnosed failure mode, then, the off-board computer <NUM> is further configured to access a maintenance record with a performed maintenance action and thereby a new maintenance action for the respective diagnosed failure mode. The off-board computer is also configured to identify a maintenance action discrepancy between the particular maintenance action and the performed maintenance action, to determine a new relationship between the respective diagnosed failure mode and the performed maintenance action. The new relationship may be a new maintenance action, which is identified from historical diagnostic data and maintenance action data collected from an aircraft, where the new maintenance action is associated with the failure mode. And the off-board computer is configured to update the onboard diagnostic causal model to describe the new relationship between the respective diagnosed failure mode and the performed maintenance action. For example, the updated onboard diagnostic causal model may further include the new maintenance action that is identified from collected historical maintenance action data, which is associated with the failure mode.

<FIG>, <FIG>, and <FIG> are flowcharts illustrating various steps in a method <NUM> of diagnosing a failure on an aircraft <NUM> that includes aircraft systems configured to report faults to an onboard reasoner <NUM>, according to example implementations of the present disclosure.

As shown in <FIG>, at block <NUM>, the method <NUM> includes receiving a fault report at an onboard computer <NUM> of the aircraft <NUM> that includes the onboard reasoner <NUM>, from an aircraft system of the aircraft systems, the fault report indicating failed tests reported by the aircraft system. As shown at block <NUM>, the method includes accessing, by the onboard reasoner, an onboard diagnostic causal model <NUM> represented by a graph that describes known causal relationships between possible failed tests reported by the respective ones of the aircraft systems, and possible failure modes of the respective ones of the aircraft systems.

As shown at block <NUM>, the method includes diagnosing, by the onboard reasoner <NUM>, a failure mode of the aircraft system or another of the aircraft systems, from the failed tests, and using a graph-theoretic algorithm (e.g., an OSS algorithm) and the onboard diagnostic causal model <NUM>. As shown at block <NUM>, the method includes determining a maintenance action for the failure mode. And as shown at block <NUM>, the method includes generating, by the onboard computer <NUM>, a maintenance message <NUM> including at least the maintenance action.

In some examples, the method <NUM> further includes sending the maintenance message <NUM> to a display device <NUM> onboard the aircraft <NUM>, or a display device on a maintenance component configured to establish a connection with the onboard computer to receive the maintenance message, as shown at block <NUM>.

As shown in <FIG>, in some examples the fault report is one of a plurality of fault reports of failed tests reported by respective ones of the aircraft systems, and the failure mode is one of a plurality of diagnosed failure modes of at least some of the aircraft systems that caused the failed tests. As shown at block <NUM>, the method <NUM> further includes accessing diagnostic data received from the onboard computer <NUM>, and the diagnostic data includes the plurality of fault reports and the plurality of diagnosed failure modes.

As shown at block <NUM>, the method <NUM> further includes accessing, by the off-board reasoner <NUM>, the off-board diagnostic causal model <NUM> describing causal relationships between the failed tests and the plurality of diagnosed failure modes. The off-board diagnostic causal model is built using a graph-theoretic machine learning algorithm trained using historical diagnostic data. The method further includes comparing the diagnostic data to the off-board diagnostic causal model, as shown at block <NUM>.

Based on the comparison at block <NUM>, the method <NUM> further includes identifying a discrepancy between the diagnostic data and the off-board diagnostic causal model <NUM>, to determine a new causal relationship in the causal relationships described by the off-board diagnostic causal model <NUM> that is new relative to the known causal relationships, as shown at block <NUM>. As shown at block <NUM>, the method further includes updating the onboard diagnostic causal model to further describe the new causal relationship, including producing an updated onboard diagnostic causal model, and uploading the updated onboard diagnostic causal model to the onboard component using the LSAP upload tool set <NUM>.

As shown in <FIG>, in some examples, the diagnostic data further includes maintenance messages <NUM> with maintenance actions determined by the onboard reasoner <NUM> for respective ones of the plurality of diagnosed failure modes, and the onboard diagnostic causal model <NUM> further describes relationships between the possible failure modes and respective ones of the maintenance actions. For a particular maintenance message with a particular maintenance action for a respective diagnosed failure mode, the method <NUM> further includes accessing a maintenance record with a performed maintenance action and thereby a new maintenance action for the respective diagnosed failure mode, as shown at block <NUM>. As shown at block <NUM>, the method further includes identifying a maintenance action discrepancy between the particular maintenance action and the performed maintenance action to determine a new relationship between the respective diagnosed failure mode and the performed maintenance action. The step of identifying a maintenance action discrepancy may also include identifying a new maintenance action from historical diagnostic data and maintenance action data collected from an aircraft condition monitoring system, wherein the discrepancy identification identifies a new maintenance action that is associated with the failure mode. Then updating the onboard diagnostic causal model further includes updating the onboard diagnostic causal model to describe the new relationship between the respective diagnosed failure mode and the performed maintenance action, as shown at block 522A.

<FIG>, <FIG> are flowcharts illustrating various steps in a method <NUM> of maintaining the onboard reasoner <NUM> for diagnosing failures on the aircraft <NUM> that includes aircraft systems configured to report faults to the onboard reasoner. As shown in <FIG>, at block <NUM>, the method includes accessing diagnostic data received from the onboard computer <NUM> of the aircraft that includes the onboard reasoner, the diagnostic data including a plurality of fault reports of failed tests reported by respective ones of the aircraft systems, and a plurality of diagnosed failure modes of at least some of the aircraft systems that caused the failed tests.

As shown at block <NUM>, the method <NUM> includes building, using an off-board reasoner <NUM>, an off-board diagnostic causal model <NUM> that describes causal relationships between the failed tests and the plurality of diagnosed failure modes. The off-board diagnostic causal model is built using a graph-theoretic machine learning algorithm trained using historical diagnostic data.

As shown at block <NUM>, the method <NUM> includes comparing the diagnostic data to the off-board diagnostic causal model <NUM>. Based on the comparison at block <NUM>, the method <NUM> includes determining a new causal relationship in the causal relationships described by the off-board diagnostic causal model <NUM> that is new relative to the known causal relationships, as shown at block <NUM>. As shown at block <NUM>, the method includes updating the onboard diagnostic causal model to further describe the new causal relationship, including producing an updated onboard diagnostic causal model, and uploading the updated onboard diagnostic causal model to the onboard computer using the LSAP upload tool set <NUM>.

In some examples, the plurality of fault reports include a fault report that indicates those of the failed tests caused by a diagnosed failure mode of the plurality of diagnosed failure modes, and as shown in <FIG>, at block <NUM>, the method <NUM> further includes diagnosing, by the off-board reasoner <NUM>, a corresponding failure mode of the aircraft system from those of the failed tests caused by the diagnosed failure mode, and using the graph-theoretic machine learning algorithm and the graph. As shown at block <NUM>, the method further includes reporting any discrepancy between the corresponding failure mode diagnosed by the off-board reasoner and the diagnosed failure mode of the plurality of diagnosed failure modes from the diagnostic data received from the onboard computer <NUM>.

In some examples, the diagnostic data further includes maintenance messages <NUM> with maintenance actions determined by the onboard reasoner <NUM> for respective ones of the plurality of diagnosed failure modes, and the onboard diagnostic causal model <NUM> further describes relationships between the possible failure modes and respective ones of the maintenance actions. For a particular maintenance message with a particular maintenance action for a respective diagnosed failure mode, as shown in <FIG>, the method <NUM> further includes accessing a maintenance record with a performed maintenance action and thereby a new maintenance action for the respective diagnosed failure mode, as shown at block <NUM>. The method further includes identifying a maintenance action discrepancy between the particular maintenance action and the performed maintenance action, to determine a new relationship between the respective diagnosed failure mode and the performed maintenance action, as shown at block <NUM>. Then, updating the onboard diagnostic causal model further includes updating the onboard diagnostic causal model to describe the new relationship between the respective diagnosed failure mode and the performed maintenance action, as shown at block 610A.

In some examples, the method <NUM> may tie into method <NUM> in which the updated onboard diagnostic casual model may be used to diagnose a failure mode of an aircraft system. This may include receiving a fault report at the onboard computer <NUM> of the aircraft <NUM> that includes the onboard reasoner <NUM> (see block <NUM>). The onboard reasoner may access the updated onboard diagnostic causal model <NUM>, and diagnose a failure mode of the aircraft system or another of the aircraft systems, from the failed tests, and using a graph-theoretic algorithm and the updated onboard diagnostic causal model (see blocks <NUM> and <NUM>). A maintenance action for the failure mode may be determined, a maintenance message <NUM> including at least the maintenance action may be generated (see blocks <NUM> and <NUM>).

According to example implementations of the present disclosure, the system <NUM> and its subsystems may be implemented by various means. Means for implementing the system and its subsystems may include hardware, alone or under direction of one or more computer programs from a computer-readable storage medium. In some examples, one or more apparatuses may be configured to function as or otherwise implement the system and its subsystems shown and described herein. In examples involving more than one apparatus, the respective apparatuses may be connected to or otherwise in communication with one another in a number of different manners, such as directly or indirectly via a wired or wireless network <NUM> or the like.

<FIG> illustrates an apparatus <NUM> that in various example implementations may be configured to implement the onboard computer <NUM> and/or the off-board computer <NUM> shown in <FIG>. Generally, an apparatus of exemplary implementations of the present disclosure may comprise, include or be embodied in one or more fixed or portable electronic devices. Examples of suitable electronic devices include a smartphone, tablet computer, laptop computer, desktop computer, workstation computer, server computer or the like. The apparatus may include one or more of each of a number of components such as, for example, processing circuitry <NUM> (e.g., processor unit) connected to a memory <NUM> (e.g., storage device).

The processing circuitry <NUM> may be composed of one or more processors alone or in combination with one or more memories. The processing circuitry is generally any piece of computer hardware that is capable of processing information such as, for example, data, computer programs and/or other suitable electronic information. The processing circuitry is composed of a collection of electronic circuits some of which may be packaged as an integrated circuit or multiple interconnected integrated circuits (an integrated circuit at times more commonly referred to as a "chip"). The processing circuitry may be configured to execute computer programs, which may be stored onboard the processing circuitry or otherwise stored in the memory <NUM> (of the same or another apparatus).

The processing circuitry <NUM> may be a number of processors, a multi-core processor or some other type of processor, depending on the particular implementation. Further, the processing circuitry may be implemented using a number of heterogeneous processor systems in which a main processor is present with one or more secondary processors on a single chip. As another illustrative example, the processing circuitry may be a symmetric multi-processor system containing multiple processors of the same type. In yet other examples, the processing circuitry may be embodied as or otherwise include one or more ASICs, FPGAs or the like. Thus, although the processing circuitry may be capable of executing a computer program to perform one or more functions, the processing circuitry of various examples may be capable of performing one or more functions without the aid of a computer program. In either instance, the processing circuitry may be appropriately programmed to perform functions or operations according to example implementations of the present disclosure.

The memory <NUM> is generally any piece of computer hardware that is capable of storing information such as, for example, data, computer programs (e.g., computer-readable program code <NUM>) and/or other suitable information either on a temporary basis and/or a permanent basis. The memory may include volatile and/or non-volatile memory, and may be fixed or removable. Examples of suitable memory include random access memory (RAM), read-only memory (ROM), a hard drive, a flash memory, a thumb drive, a removable computer diskette, an optical disk, a magnetic tape or some combination of the above. Optical disks may include compact disk - read only memory (CD-ROM), compact disk - read/write (CD-R/W), DVD or the like. In various instances, the memory may be referred to as a computer-readable storage medium. The computer-readable storage medium is a non-transitory device capable of storing information, and is distinguishable from computer-readable transmission media such as electronic transitory signals capable of carrying information from one location to another. Computer-readable medium as described herein may generally refer to a computer-readable storage medium or computer-readable transmission medium.

In addition to the memory <NUM>, the processing circuitry <NUM> may also be connected to one or more interfaces for displaying, transmitting and/or receiving information. The interfaces may include a communications interface <NUM> (e.g., communications unit) and/or one or more user interfaces. The communications interface may be configured to transmit and/or receive information, such as to and/or from other apparatus(es), network(s) or the like. The communications interface may be configured to transmit and/or receive information by physical (wired) and/or wireless communications links. Examples of suitable communication interfaces include a network interface controller (NIC), wireless NIC (WNIC) or the like.

The user interfaces may include a display <NUM> and/or one or more user input interfaces <NUM> (e.g., input/output unit). The display may be configured to present or otherwise display information to a user, suitable examples of which include a liquid crystal display (LCD), light-emitting diode display (LED), plasma display panel (PDP) or the like. The user input interfaces may be wired or wireless, and may be configured to receive information from a user into the apparatus, such as for processing, storage and/or display. Suitable examples of user input interfaces include a microphone, image or video capture device, keyboard or keypad, joystick, touch-sensitive surface (separate from or integrated into a touchscreen), biometric sensor or the like. The user interfaces may further include one or more interfaces for communicating with peripherals such as printers, scanners or the like.

As indicated above, program code instructions may be stored in memory, and executed by processing circuitry that is thereby programmed, to implement functions of the systems, subsystems, tools and their respective elements described herein. As will be appreciated, any suitable program code instructions may be loaded onto a computer or other programmable apparatus from a computer-readable storage medium to produce a particular machine, such that the particular machine becomes a means for implementing the functions specified herein. These program code instructions may also be stored in a computer-readable storage medium that can direct a computer, a processing circuitry or other programmable apparatus to function in a particular manner to thereby generate a particular machine or particular article of manufacture. The instructions stored in the computer-readable storage medium may produce an article of manufacture, where the article of manufacture becomes a means for implementing functions described herein. The program code instructions may be retrieved from a computer-readable storage medium and loaded into a computer, processing circuitry or other programmable apparatus to configure the computer, processing circuitry or other programmable apparatus to execute operations to be performed on or by the computer, processing circuitry or other programmable apparatus.

Retrieval, loading and execution of the program code instructions may be performed sequentially such that one instruction is retrieved, loaded and executed at a time. In some example implementations, retrieval, loading and/or execution may be performed in parallel such that multiple instructions are retrieved, loaded, and/or executed together. Execution of the program code instructions may produce a computer-implemented process such that the instructions executed by the computer, processing circuitry or other programmable apparatus provide operations for implementing functions described herein.

Execution of instructions by a processing circuitry, or storage of instructions in a computer-readable storage medium, supports combinations of operations for performing the specified functions. In this manner, an apparatus <NUM> may include a processing circuitry <NUM> and a computer-readable storage medium or memory <NUM> coupled to the processing circuitry, where the processing circuitry is configured to execute computer-readable program code <NUM> stored in the memory. It will also be understood that one or more functions, and combinations of functions, may be implemented by special purpose hardware-based computer systems and/or processing circuitry which perform the specified functions, or combinations of special purpose hardware and program code instructions.

Claim 1:
A method (<NUM>) of maintaining an aircraft (<NUM>) that includes aircraft systems configured to report faults to an onboard reasoner (<NUM>), the method comprising:
accessing (<NUM>) diagnostic data received from an onboard computer (<NUM>) of the aircraft that includes the onboard reasoner, the diagnostic data including a plurality of fault reports (<NUM>) of failed tests (306A, 306B) reported by respective ones of the aircraft systems, and a plurality of diagnosed failure modes (308C) of at least some of the aircraft systems that caused the failed tests; the method further being characterised by the steps of:
building (<NUM>), using an off-board reasoner (<NUM>) of an off-board computer (<NUM>), an off-board diagnostic causal model (<NUM>) that describes causal relationships between the failed tests (<NUM>) and the plurality of diagnosed failure modes (<NUM>), the off-board diagnostic causal model built using a graph-theoretic machine learning algorithm trained using historical diagnostic data;
comparing (<NUM>), using the off-board reasoner (<NUM>), the diagnostic data to the off-board diagnostic causal model; and based thereon,
determining (<NUM>), using the off-board reasoner (<NUM>), a new causal relationship in the causal relationships described by the off-board diagnostic causal model that is new relative to the known causal relationships; and
updating (<NUM>), using the off-board reasoner (<NUM>), the onboard diagnostic causal model to further describe the new causal relationship, including producing an updated onboard diagnostic causal model, and uploading the updated onboard diagnostic causal model to the onboard computer using a loadable software airplane part upload tool set (<NUM>),
wherein the off-board diagnostic causal model (<NUM>) is represented by a graph (<NUM>) that includes nodes (<NUM>, <NUM>) connected by edges (<NUM>), the nodes representing the failed tests (<NUM>) and the plurality of diagnosed failure modes (<NUM>), and the edges indicating the known causal relationships between the failed tests and the plurality of diagnosed failure modes.