Claims Analysis
Total Claims: 11
Claim 1
Independent Claim
111 words
A computer-method for organizing a set of inputted rules into an efficient RETE network, each rule having at least one test condition, wherein the test condition or test conditions can be arbitrarily specified in conjunctive, negated, and/or disjunctive form, which computer-method comprises the steps of: (a) building a data structure for each rule and storing the data structure in a storage device; (b) transforming the data structure into at least one other modified data structure that is in conjunctive form; (c) building a flow list for the unique objects of the data structure; and (d) building at least one test node on the flow list for each of the unique objects.
Claim 2
Dependent Claim
111 words
A computer-method for organizing a set of inputted rules into an efficient RETE network, each rule having at least one test condition, wherein the test condition or test conditions can be arbitrarily specified in conjunctive, negated, and/or disjunctive form, which computer-method comprises the steps of: (a) building a data structure for each rule and storing the data structure in a storage device; (b) transforming the data structure into at least one other modified data structure that is in conjunctive form; (c) building a flow list for the unique objects of the data structure; and (d) building at least one test node on the flow list for each of the unique objects.
Claim 3
Dependent Claim
42 words
The computer-method of claim 1, wherein the step of building a data structure for each rule comprises the step of storing information about each test condition of the rule, wherein the stored information includes all the unique objects for a given test.
Claim 4
Dependent Claim
27 words
The computer-method of claim 2, wherein said step of storing information about each test condition comprises the step of generating a symbol list for each test condition.
Claim 5
Dependent Claim
42 words
The computer-method of claim 1, wherein said transformation step comprises the steps of: (a) examining the data structure for each rule and removing negation from the rule; and (b) examining the data structure for each rule and removing disjunctions from the rule.
Claim 6
Dependent Claim
19 words
The computer-method of claim 4, wherein said step of removing disjunctions comprises the step of building an additional rule.
Claim 7
Dependent Claim
27 words
The computer-method of claim 1, wherein said step of building a flow list comprises the steps of building a positive flow list and a negative flow list.
Claim 8
Dependent Claim
89 words
The computer-method of claim 6, wherein said step of building a flow list further comprises the steps of: (a) adding objects to the negative flow list which are involved in a purely negative multi-input test; (b) adding objects to the positive flow list which are involved in a purely positive multi-input test; (c) adding objects to the positive or negative flow list which are involved in a mixed quantification multi-input test; and (d) adding objects to the positive or negative flow list which are only specified in alpha tests.
Claim 9
Dependent Claim
85 words
The computer-method of claim 1, wherein the step of building at least one test node on the flow list for each of the unique objects comprises the steps of: (a) examining each test condition of the rule; (b) building beta nodes for purely negatively quantified test conditions first; and (c) building beta nodes or beta -- not nodes depending on whether test condition is purely positive or mixed quantification, and connecting purely negative beta nodes to the flow list with an and -- not node.
Claim 10
Dependent Claim
16 words
The computer-method of claim 1 further comprising the step of adding implicit conditions to the rules.
Claim 11
Dependent Claim
109 words
The computer-method of claim 9, wherein said step of adding implicit conditions comprises the steps of: (a) examining the right hand side of the rule to determine an unique list of objects; (b) examining the left hand side of the rule to determine which objects on the right hand side are not present on the left hand side of the rule; (c) determining whether the objects not present on the left hand side of the rule are created by the firing of the rule; and (d) adding the objects to the left hand side of the rule if the objects are not created by the firing of the rule.