Empirical and Functional Knowledge in an Expert System for Fault Diagnosis