Rule selection engine
First Claim
1. A method for processing rules comprising:
- accepting a rules base comprising a plurality of rules, each rule including a condition that includes one or more condition element for application of the rule, at least some of the conditions including multiple condition elements; and
processing the rules base to form a data structure, wherein the data structure includes for each of the plurality of rules storage locations for holding Boolean values of the condition elements of the conditions for said rule.
1 Assignment
0 Petitions
Accused Products
Abstract
A rules-based system makes use of a specification that is similar to those used in earlier systems, such as in OPS5, but does not require the computational complexity of implementations such as Rete. In some such implementations, matching of the applicable rules given a set of facts is simplified by providing preallocated storage locations for the Boolean values of the condition elements for each rule. The Boolean values are set by direct processing of each of the facts. These preallocated storage locations are arranged to allow efficient evaluation of the overall condition of each of the rules in a manner that is significantly more efficient than implementations of earlier rule-based systems.
15 Citations
11 Claims
-
1. A method for processing rules comprising:
-
accepting a rules base comprising a plurality of rules, each rule including a condition that includes one or more condition element for application of the rule, at least some of the conditions including multiple condition elements; and
processing the rules base to form a data structure, wherein the data structure includes for each of the plurality of rules storage locations for holding Boolean values of the condition elements of the conditions for said rule. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for processing a rules base comprising:
-
a data structure formed using a rules base that includes a plurality of rules, each rule including a condition that includes one or more condition element for application of the rule, at least some of the conditions including multiple condition elements, wherein the data structure includes for each of a plurality of rules of the rules base storage locations for holding Boolean values of condition elements of the conditions for said rule; and
a compiler for processing the rules base, the rules base comprising a plurality of rules, each rule including a condition that includes one or more condition element for application of the rule, at least some of the conditions including multiple condition elements.
-
-
9. A rules processing system comprising:
-
a data structure formed using a rules base that includes a plurality of rules, each rule including a condition that includes one or more condition element for application of the rule, at least some of the conditions including multiple condition elements, wherein the data structure includes for each of a plurality of rules of the rules base storage locations for holding Boolean values of condition elements of the conditions for said rule; and
a rules processing engine coupled to the data structure for operation according to the rules base.
-
-
10. A data structure embodied in a computer-readable medium for use in rules processing comprising:
-
storage locations for values associated with conditions for a plurality of rules in a rules base, wherein the rules base comprises a plurality of rules, each rule including a condition that includes one or more condition element for application of the rule, at least some of the conditions including multiple condition elements;
wherein the storage locations include for each of the plurality of rules locations for holding Boolean values of the condition elements of the conditions for said rule.
-
-
11. Software comprising instructions embodied in a computer-readable medium for causing a computer system to:
-
accept a rules base comprising a plurality of rules, each rule including a condition that includes one or more condition element for application of the rule, at least some of the conditions including multiple condition elements; and
process the rules base to form a data structure, wherein the data structure includes for each of the plurality of rules storage locations for holding Boolean values of the condition elements of the conditions for said rule.
-
Specification