Rete Rule Engine Property Reactive Modifications
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional Rete rule engines face processor-intensive and time-consuming operations due to repeated matching of modified objects against all rules in the rule set, potentially leading to infinite loops.
Innovation Solution
The implementation of a Rete rule engine that associates a modified properties data structure with objects, comparing it to relevant properties data structures of nodes in the Rete network to determine if further matching is necessary, thereby reducing unnecessary pattern matches and improving performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If an object is modified by the Rete rule engine, then the object is compared against all rules in the rule set to ensure correctness, but this results in processor-intensive operations and potential infinite loops
Solution Approach 1:
The patent segments the rule matching process by dividing the rule set into subsets based on the modified properties of the object. Instead of matching against all rules, the system only matches against rules relevant to the specific properties that changed, thereby maintaining correctness while improving efficiency.
Solution Approach 2:
The patent introduces dynamic property masks that are created and updated based on the specific modifications to objects. These masks dynamically determine which rules should be evaluated, allowing the system to adapt the matching process to the actual changes rather than following a static all-rules approach.
2Reliability
If an object is modified and matched against all rules in the rule set, then all possible rule applications are considered, but this causes time-consuming operations and potential infinite loops
Solution Approach 1:
The patent performs preliminary actions by creating property masks that identify which properties of modified objects are relevant to rule matching. This preliminary filtering step occurs before the actual rule matching, allowing the system to quickly determine which rules need to be evaluated and avoid unnecessary matching operations.
Solution Approach 2:
The patent applies partial action by evaluating only the subset of rules that are relevant to the modified properties of the object, rather than evaluating all rules. This partial evaluation maintains completeness for the relevant cases while significantly reducing the time required.
3Reliability
If repeated matching against all rules is performed on modified objects, then all rule constraints are verified, but this increases processor utilization and reduces performance
Solution Approach 1:
The patent extracts the essential information from modified objects by creating property masks that capture only the relevant modified properties. This extraction process separates the critical information needed for rule matching from the complete object state, allowing the system to verify constraints using only the necessary data and reduce processor utilization.
Data Source
AI summary
A processing device executing a Rete rule engine modifies a particular property of an object that has traversed a Rete network. The processing device associates a first data structure with the object, the first data structure indicating that the particular property of the object has been modified. The processing device then determines whether the particular property is a constraint relevant to a node of the Rete network based on comparing the first data structure to a second data structure associated with the node, wherein the second data structure identifies one or more modifiable properties that are constraints relevant to the node. If the particular property is a constraint relevant to the node, the processing device evaluates the object with the node. If the particular property is not a constraint relevant to the node, the processing device determines not to evaluate the object with the node.


