components of inference engine