| Algorithm 5. Pseudocode of CCDLSA*. |
| CCDLSA*(SD, obs) |
| Inputs: SD, system description in the form of CNF obs, observations of observed variables Output: ω, the diagnosis consistent with SD and obs |
|
ω = all components are normal if(!CHECK_CONSISTENCY(SD, obs, ω)) atom_true_clause = consistency variables or valid true clauses conf_atom_clause = conflict variables or valid false clauses conflicts = {}, fault_components = empty vector consistencies = MAX_CONSISTENCIES(atom_true_clause) do conflicts = conflicts + MIN_CONFLICTS (conf_atom_clause) push back FAULT_COMPONENT(conflicts) - fault_components into fault_components ω = A*_BEST_CANDIDATE(conflicts, consistencies, fault_components) while(!CHECK_CONSISTENCY(SD, obs, ω)) return ω |