Model-based diagnostic reasoning by P.T.W. Hudson