Dynamic Assertion Management for Business Rule Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In business rule management systems (BRMS), dynamically assembled execution units can exhibit undesirable incompatibilities and logical faults, making it difficult to detect and eliminate defects, as traditional assertion mechanisms are ineffective in verifying the structure and execution paths of dynamically composed programs.

Innovation Solution

A method for assertion management in a dynamically assembled programmatic environment involves dynamically assembling execution units, defining assertions through introspection, and generating assertion results to report failures, with assertions being executable rules that can be applied as pre-conditions or post-conditions to the execution units, and their results logged for analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional assertion mechanisms are used in statically defined programs, then defect detection is effective, but they become ineffective in verifying structure and execution paths of dynamically composed programs

Engineering Contradiction:
Improvedefect detection effectivenessVSAvoidapplicability to dynamically assembled programs
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent applies dynamics by making assertions executable rules that can be dynamically assembled and executed within the BRMS environment. Instead of static assertions compiled into the program, the system uses dynamic rule assembly where assertions are selected and combined at runtime based on the specific execution context, enabling effective defect detection in dynamically composed programs.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements universality by creating a multi-functional assertion mechanism that serves both as a business rule and a verification mechanism. The executable assertions can function as regular business rules when executed normally and simultaneously serve as verification mechanisms when evaluated for defect detection, making the system applicable to both traditional and dynamic programming contexts.

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

2Extent of automation

If multiple execution units are dynamically assembled to form enterprise applications, then system flexibility and automation are improved, but undesirable incompatibilities and logical faults become difficult to detect and eliminate

Engineering Contradiction:
Improvedynamic assembly of execution unitsVSAvoiddetection of logical faults and incompatibilities
Core Design Contradiction:
Extent of automationVSDifficulty of detecting and measuring

Solution Approach 1:

The patent implements feedback by executing assertions after the dynamic assembly of execution units and using the assertion results to detect logical faults and incompatibilities. The system provides feedback about the validity and consistency of the dynamically assembled program, enabling automatic detection of defects that would otherwise be difficult to identify in complex multi-unit configurations.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent applies preliminary action by performing assertion-based verification on the dynamically assembled execution units before they are deployed or executed. This pre-execution validation ensures that logical faults and incompatibilities are detected early in the assembly process, preventing defective configurations from being deployed to production environments.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If assertions are defined through introspection of execution units, then precise defect detection is achieved, but the complexity of defining and maintaining assertions increases

Engineering Contradiction:
Improveprecision of defect detectionVSAvoidcomplexity of assertion management
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent implements self-service by enabling execution units to define their own assertions through introspection. Each execution unit can automatically generate assertions about its own input properties, output properties, and execution path requirements, reducing the manual burden of defining assertions while maintaining high precision in defect detection.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent uses an intermediary assertion management mechanism that mediates between the complex introspection capabilities of execution units and the simpler needs of defect detection. The system provides a standardized interface for defining and managing assertions, abstracting away the complexity of introspection while preserving the precision of defect detection through structured assertion results.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10423517B2Assertions in a business rule management system
Publication Date: 2019.09.24 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10423517B2 patent drawing
  • US10423517B2 patent drawing

AI summary

Embodiments of the present invention provide a method, system and computer program product for assertion management in a dynamically assembled programmatic environment. In an embodiment of the invention, a method for assertion management in a dynamically assembled programmatic environment can include dynamically assembling different execution units into a dynamically assembled computer program, applying an assertion to at least one of the different execution units through an introspection of the one of the different execution units, and generating an assertion result reporting a failure of the assertion responsive to the failure of the assertion.