Bayesian and Dempster–Shafer reasoning for knowledge-based fault diagnosis