"In the field of Artificial Intelligence, inference engine is a component of the system that applies logical rules to the knowledge base to deduce new information." -Wikipedia.
In my Advanced Programming class (CMPS-109 @ UCSC), we used OOP principled to implement a client/server model of a RuleBased Inference Engine.
See DesignDoc.pdf