Rule Engine Abstraction via Intermediate Structure
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional rule engines are not language-independent, requiring manual rewriting of rules when migrating from one rule language to another, which is a tedious and error-prone process.
Innovation Solution
The method involves parsing rules written in a first rule language into descriptor classes, generating an intermediate structure, and inputting it to a rule engine core for execution, allowing for automatic transformation and support of multiple rule languages through a pluggable architecture with drivers for different languages.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If manual rewriting of rules is used to migrate between rule languages, then rules can be migrated to different rule engines, but the process is tedious and error-prone
Solution Approach 1:
The patent introduces an intermediary translation layer that automatically converts rules between different rule languages. This intermediary system includes a rule parser that reads rules in various languages, a rule model that represents the semantic structure, and a code generator that outputs rules in the target language, eliminating manual rewriting efforts
Solution Approach 2:
The patent creates a universal rule representation model that can represent rules from multiple different rule languages in a language-independent format. This universal model serves as a common intermediary that enables translation between any supported rule languages, making the system adaptable to various rule engines without requiring separate translation processes for each language pair
2Adaptability or versatility
If conventional rule engines support only limited rule languages, then the engine structure remains simple, but migration and adaptability are restricted
Solution Approach 1:
The patent segments the rule engine into distinct modular components: a rule parser specific to each source language, a universal rule model in the middle layer, and a code generator for the target language. This segmentation allows the engine to support multiple rule languages by simply adding or removing parser and generator modules without redesigning the entire system
Solution Approach 2:
The universal rule model serves as an intermediary representation layer between language-specific parsers and the execution engine. This intermediary model abstracts away language-specific syntax and semantics, allowing the core engine to work with rules in a language-independent manner while maintaining support for multiple input languages
Data Source
AI summary
Some embodiments of a method and an apparatus to abstract away rule languages from a rule engine have been presented. In one embodiment, rules written in a first rule language are parsed into descriptor classes, which are used to model concepts that can be expressed in a rule engine. An intermediate structure is generated from the parsed rules. The intermediate structure is input to a core of the rule engine, which is operable to execute the rules.


