A computer-implemented method, comprising: storing data associated with a processing system which includes machines and associated processes, wherein the data includes timestamp information, machine status information, and product-batch information ; determining, based on the data, a topology of the processing system, wherein the topology indicates flows of outputs between the machines as part of the processes ; determining machine-fault information in association with the topology which includes statistics relating to time to failure and time to recover; generating, based on the machine-fault information, one or more fault parameters which indicate frequency and severity of a respective fault ; and constructing, based on the topology and the machine-fault information, a system model which includes the one or more fault parameters, wherein constructing the system model comprises replacing nodes in the topology with machine models to obtain a fault-augmented model, wherein a respective machine is indicated by a finite state machine with states including busy, available, and stopped; generating a fault causality graph based on the topology and the machine-fault information ; pruning causality links that do not make physical sense from the fault causality graph based on the system model , wherein pruning the fault causality graph based on the system model further comprises reducing a size of the fault causality graph by removing one or more nodes from the fault causality graph; determining a causality relation between failures of the machines and system-level performance degradation; adding, based on the causality relation, a causality link to the pruned fault causality graph to obtain a combined causality graph ; and in response to adding the causality link to the pruned fault causality graph, displaying the combined causality graph, which allows a user to perform efficient fault diagnosis of the processing system . storing data associated with a processing system which includes machines and associated processes, wherein the data includes timestamp information, machine status information, and product-batch information ; determining, based on the data, a topology of the processing system, wherein the topology indicates flows of outputs between the machines as part of the processes ; determining machine-fault information in association with the topology which includes statistics relating to time to failure and time to recover; generating, based on the machine-fault information, one or more fault parameters which indicate frequency and severity of a respective fault ; and constructing, based on the topology and the machine-fault information, a system model which includes the one or more fault parameters, wherein constructing the system model comprises replacing nodes in the topology with machine models to obtain a fault-augmented model, wherein a respective machine is indicated by a finite state machine with states including busy, available, and stopped; generating a fault causality graph based on the topology and the machine-fault information ; pruning causality links that do not make physical sense from the fault causality graph based on the system model , wherein pruning the fault causality graph based on the system model further comprises reducing a size of the fault causality graph by removing one or more nodes from the fault causality graph; determining a causality relation between failures of the machines and system-level performance degradation; adding, based on the causality relation, a causality link to the pruned fault causality graph to obtain a combined causality graph ; and in response to adding the causality link to the pruned fault causality graph, displaying the combined causality graph, which allows a user to perform efficient fault diagnosis of the processing system . <EOS>