Dynamic Forward Chaining via Data-Change Notifications
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional software database applications rely on static analysis for forward chaining, which may not effectively handle dynamic changes in data, leading to inefficiencies in updating dependent information.
Innovation Solution
Implementing a data-change notification system that dynamically modifies ruleset conditions to monitor and respond to data changes, allowing for dynamic forward chaining and re-execution of rules based on notifications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If static analysis is used for forward chaining in database applications, then the system structure is simple and easy to implement, but the system cannot effectively handle dynamic changes in data leading to inefficiencies in updating dependent information
Solution Approach 1:
The patent transforms the static forward chaining system into a dynamic one by implementing a notification mechanism that automatically triggers rule re-execution when monitored data changes. The system dynamically adds notification code to rule conditions and re-executes rules based on runtime data changes rather than static analysis, enabling the system to adapt to dynamic data changes while maintaining manageable complexity through automated event-driven architecture.
2Productivity
If dynamic forward chaining is implemented using notification systems, then the efficiency of updating dependent information improves, but the complexity of the system increases due to additional monitoring and notification mechanisms
Solution Approach 1:
The patent applies preliminary action by pre-compiling rules and pre-identifying dependent relationships before runtime. The system performs static analysis upfront to build the rule set and dependency graph, then uses this prepared structure to efficiently handle dynamic changes at runtime through notifications. This reduces the complexity burden during operation while maintaining high productivity in updating dependent information.
Solution Approach 2:
The notification system acts as an intermediary layer between data changes and rule execution. Instead of directly complex interactions between all rules and data, the notification mechanism mediates by subscribing to data changes, filtering relevant notifications, and triggering only the necessary rule re-executions. This intermediary approach improves productivity in updating dependent information while managing system complexity through abstraction.
3Reliability
If rules are re-executed based on data changes, then the accuracy of database operations is improved, but the execution time increases due to additional rule re-executions
Solution Approach 1:
The patent applies local quality by making rule conditions selective and specific about which data changes trigger re-execution. Instead of re-executing all rules uniformly, the system adds targeted notification code to specific rule conditions that monitor only the data portions relevant to each rule. This ensures accuracy of database operations by re-executing only when necessary while minimizing execution time by avoiding unnecessary rule re-executions.
Solution Approach 2:
The system uses partial action by re-executing only the subset of rules that are actually affected by data changes rather than re-executing the entire rule set. The notification mechanism identifies and triggers only those rules whose monitored data has changed, providing the necessary accuracy for affected operations while reducing overall execution time by avoiding redundant rule evaluations.
Data Source
AI summary
In an embodiment, a computer system determines that a first rule in a ruleset comprising a plurality of rules is to be executed, where the first rule includes a condition and an action that is to be performed when the first rule's condition is met. The computer system dynamically modifies the first rule's condition to include a portion of software code configured to monitor and receive notifications from a data-change notification system. The computer system executes the dynamically modified first rule and executes a second rule in the ruleset. The computer system receives a notification from the data-change notification system indicating that execution of the second rule's action has modified data values being monitored by the first rule's software code portion and that, as a result of the modification, the first rule is to be re-executed. The computer system also re-executes the first rule based on the received notification.


