Rule Engine Abstraction via Intermediate Structure

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improverule language compatibilityVSAvoidrule migration effort
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

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

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If conventional rule engines support only limited rule languages, then the engine structure remains simple, but migration and adaptability are restricted

Engineering Contradiction:
Improvesupported rule languagesVSAvoidrule engine architecture
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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

Inventive Principle:
Principle #1Segmentation

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

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8418135B2Method and apparatus to abstract away rule languages
Publication Date: 2013.04.09 RED HAT INC
  • US8418135B2 patent drawing
  • US8418135B2 patent drawing
  • US8418135B2 patent drawing

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.