Object-Oriented Rule-Based System for Business Logic Adaptability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current business applications struggle with flexibility and rapid adaptability due to embedded business logic, requiring costly and time-consuming code modifications to adapt to changing market needs, and existing rule-based systems are not effectively integrated with object-oriented programming, limiting decision-making and inferencing capabilities.

Innovation Solution

An object-oriented rule-based system that combines rule-based technology with the RETE match algorithm, allowing for compiled condition pattern matching and runtime addition or removal of rules, utilizing a RETE node structure and transformer integer arrays to propagate tokens based on inheritance hierarchies, enabling efficient decision-making and inferencing in business applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If business logic is embedded or hard-coded in application code, then the application structure is simple and cohesive, but the application becomes difficult to change quickly to adapt to changing market needs

Engineering Contradiction:
Improveadaptability to changing market needsVSAvoidsystem architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments business logic from application code by introducing a separate rule-based system. Business rules are extracted into independent rule objects that can be modified without changing the core application code. This segmentation allows the application to adapt to changing market needs by simply updating rule sets rather than reworking the entire codebase.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts business logic from the embedded code structure and places it into a separate rule-based system. The rule engine independently processes business rules without requiring modifications to the application's core code, enabling rapid adaptation to changing requirements while maintaining system architecture integrity.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If developers modify embedded business logic to adapt to changing requirements, then the business logic can be updated, but the process is time-consuming and expensive

Engineering Contradiction:
Improvespeed of implementing business logic changesVSAvoidtime to modify and rework code
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent enables domain experts to directly modify business rules without requiring developer intervention. The rule-based system provides a user-friendly interface where non-technical users can create, modify, and remove business rules to reflect dynamic changes in business logic, eliminating the time-consuming cycle of developer modification, testing, and deployment.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent prepares the system in advance by establishing a rule-based architecture that anticipates future business logic changes. This preliminary structural preparation allows rules to be modified rapidly when needed, rather than requiring ad-hoc code modifications and rework for each change scenario.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If a rule-based system is implemented to separate business logic from application code, then flexibility and adaptability improve, but the system complexity increases

Engineering Contradiction:
Improveflexibility of business logicVSAvoidsystem integration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an inference engine as an intermediary between the application code and business rules. This mediator handles the complexity of rule processing, pattern matching, and execution automatically, allowing business rules to be flexible and adaptable while the intermediary manages the system integration complexity behind the scenes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a universal rule-based framework that can handle various types of business logic across different applications. The RETE match algorithm and inference engine provide multi-functional capabilities that work with diverse rule formats and business domains, reducing overall system integration complexity through a standardized approach.

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

4Speed

If the RETE match algorithm is used to optimize rule-based system performance, then forward chaining inference speed improves, but the algorithm complexity increases

Engineering Contradiction:
Improveforward chaining inference speedVSAvoidalgorithm implementation complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent applies the RETE match algorithm during the rule compilation phase to pre-process and optimize the rule structure. By performing preliminary analysis and structuring of rules using RETE before execution, the system achieves high-speed forward chaining inference while the algorithmic complexity is contained within the compilation process rather than affecting runtime performance.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8001070B2Object oriented rule-based system and method
Publication Date: 2011.08.16 HONEYWELL INTERNATIONAL INC
  • US8001070B2 patent drawing
  • US8001070B2 patent drawing
  • US8001070B2 patent drawing

AI summary

An object oriented rule-based system and method that combines rule-based technology and object-oriented programming in order to provide an efficient approach for adding decision-making and inferencing capabilities to different applications. The rule-based system can include a RETE match algorithm, which can be modified to support pure object-based variable pattern matching. The LHS of a rule base can be compiled into several condition patterns, which includes a transformer integer array in order to record object variables positions. A RETE node can propagate tokens smoothly by asserting the object variable based on inheritance type hierarchy and the rules can be fired when the conditions are satisfied. The object oriented rule system can be utilized to add or remove rules at run time.