Method and system for sequential compilation and execution of rules
First Claim
1. A method, within a computer hardware system, for processing a ruleset,the ruleset including a plurality of rules,each individual rule of the plurality of rules including a condition and a rule action responsive to the condition being met,each condition within an individual rule including a plurality of tests,the method comprising:
- identifying a plurality of relationships, each identified relationship is between a plurality of tests respectively associated with different conditions;
translating, by the computer hardware system, each individual rule of the plurality of rules into a coded series of one or more loops and tests; and
unifying, by the computer hardware system, the loops and the test from each individual rule of the plurality of rules into a unified series of loops and tests for the ruleset, whereinthe unifying based upon the identified plurality of relationships.
4 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for matching objects against a set of rules are described. The present invention is a novel rule execution algorithm that generally operates with greater efficiency than known algorithms. The algorithm uses a test analyzer to determine the relationships that exist between pairs of tests within a ruleset. Each rule is then translated into loops and tests, and merged into a unified series of loops and tests using the output of the test analyzer. The algorithm then generates pattern matching code corresponding to the unified series of loops and tests for evaluation by a virtual machine, and auxiliary code that provides object manipulations and rule actions at the service of the pattern matching code. In its runtime, the algorithm loads objects into the pattern matching code through an access interface. The pattern matching code is then executed by the virtual machine against the loaded objects.
-
Citations
18 Claims
-
1. A method, within a computer hardware system, for processing a ruleset,
the ruleset including a plurality of rules, each individual rule of the plurality of rules including a condition and a rule action responsive to the condition being met, each condition within an individual rule including a plurality of tests, the method comprising: -
identifying a plurality of relationships, each identified relationship is between a plurality of tests respectively associated with different conditions; translating, by the computer hardware system, each individual rule of the plurality of rules into a coded series of one or more loops and tests; and unifying, by the computer hardware system, the loops and the test from each individual rule of the plurality of rules into a unified series of loops and tests for the ruleset, wherein the unifying based upon the identified plurality of relationships. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer hardware system for processing a ruleset,
the ruleset including a plurality of rules, each individual rule of the plurality of rules including a condition and a rule action responsive to the condition being met, each condition within an individual rule including a plurality of tests, the computer hardware system comprising: -
a memory; at least one processor connected to the memory, the at least one processor configured to perform identifying a plurality of relationships, each identified relationship is between a plurality of tests respectively associated with different conditions; translating each individual rule of the plurality of rules into a coded series of one or more loops and tests; and unifying the loops and the test from each individual rule of the plurality of rules into a unified series of loops and tests for the ruleset, wherein the unifying based upon the identified plurality of relationships. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer-readable storage medium having stored therein computer usable program code for processing a ruleset,
the ruleset including a plurality of rules, each individual rule of the plurality of rules including a condition and a rule action responsive to the condition being met, each condition within an individual rule including a plurality of tests, the computer usable program code, upon being executed by a computer hardware system, causing the computer hardware system to perform identifying a plurality of relationships, each identified relationship is between a plurality of tests respectively associated with different conditions; -
translating each individual rule of the plurality of rules into a coded series of one or more loops and tests; and unifying the loops and the test from each individual rule of the plurality of rules into a unified series of loops and tests for the ruleset, wherein the unifying based upon the identified plurality of relationships. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification