Rule Engine Dependency Graph Conflict Resolution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing rule engines face inefficiencies in processing business logic due to logical loops and conflicts, requiring dynamic conflict resolution at runtime, which is computationally intensive and suboptimal for business automation.
Innovation Solution
A method that generates a dependency graph and sequence of processing logic for optimal rule set execution, resolving logical conflicts and loops during business logic generation, allowing for single or multi-pass execution and providing an endless loop terminating condition, optimized for various programming languages like Java, C++, and JavaScript.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If dynamic conflict resolution is performed at runtime in existing rule engines, then the system can handle logical conflicts and loops, but the computational complexity increases and processing efficiency decreases
Solution Approach 1:
The patent applies preliminary action by performing conflict resolution and loop detection during the static analysis phase before runtime execution. The system generates a dependency graph from the rule set, identifies conflicts and loops in advance, and resolves them through override instructions and processing sequences. This eliminates the need for dynamic conflict resolution at runtime, thereby maintaining reliability while significantly improving processing efficiency.
2Adaptability or versatility
If rule sets are processed without pre-generated dependency graphs, then the rule engine maintains flexibility, but the processing overhead increases and execution speed decreases
Solution Approach 1:
The system performs preliminary analysis by generating dependency graphs during the rule set compilation phase. This static analysis identifies processing sequences, resolves conflicts, and detects loops before execution. The pre-computed dependency information is then used during runtime to guide efficient rule processing, reducing processing overhead while maintaining flexibility through the declarative rule language.
3Reliability
If multiple processing passes are used to handle logical loops, then complete rule evaluation is achieved, but the execution time increases
Solution Approach 1:
The system performs preliminary detection of logical loops during static analysis and generates appropriate processing sequences. For loops involving override instructions, the system pre-determines the number of passes required and structures the processing logic accordingly. This allows complete rule evaluation while minimizing execution time by avoiding unnecessary passes.
4Adaptability or versatility
If rule conflicts are resolved dynamically at runtime, then the system adapts to conflicting rules, but the computational complexity and processing overhead increase
Solution Approach 1:
The patent resolves rule conflicts in advance during static analysis by generating override instructions and determining processing sequences. The dependency graph analysis identifies conflicting rules and establishes resolution priorities before execution. This eliminates dynamic conflict resolution complexity at runtime while maintaining adaptability through the pre-computed processing logic that handles all conflict scenarios.
Data Source
AI summary
Methods and apparatus, including computer program products, for inference processing in a fact-based business automation system, including receiving a rule set as a single package, generating a dependency graph for the rule set, and generating a sequence of processing logic for optimal processing of inputted facts.


