Patent ID: 7991727

Claim:
A computer-implemented method comprising: providing a fact type abstraction layer to a rule engine core to allow the rule engine core to access facts of multiple different types; and using the rule engine core to process the facts of multiple different types against a predetermined set of rules without converting the facts of multiple different types into a native type, wherein providing the fact type abstraction layer to the rule engine core comprises: providing an object type application programming interface (API) between a working memory and the rule engine core, to identify a set of facts in the working memory matching a predetermined pattern declaration, the set of facts being of an arbitrary type, and providing an extractor API between the rule engine core and the working memory to allow the rule engine core to access an attribute corresponding to the predetermined pattern declaration of each of the set of facts without converting the set of facts into the native type such that interactions between the rule engine core and the set of facts are made through instances of both the object type API and the extractor API to allow the rule engine core to reason transparently over different types of facts.