Rules Engine Side-by-Side Display for Documentation Accuracy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data transformation and reconciliation processes face challenges due to outdated documentation and the need for manual updating, which can lead to misinterpretation and inefficiencies in data matching across different data sets with varying decimal places.

Innovation Solution

A system that provides a computer language for writing rules, including a rules container and GUI, which allows for the creation, storage, and execution of rules with integrated documentation and unit tests, enabling automatic updating and visualization of rule logic and dependencies, facilitating data transformation and reconciliation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If developers manually update documentation when modifying source code, then documentation can reflect current code state, but developers often fail to update documentation timely leading to outdated information

Engineering Contradiction:
Improvedocumentation accuracyVSAvoidtime to update documentation
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system enables documentation to update itself automatically through version control integration. When source code is modified and committed to the repository, the system automatically detects the change, retrieves the updated code, and regenerates the corresponding documentation without requiring developer intervention. This self-service mechanism ensures documentation accuracy while eliminating the time burden on developers.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system establishes a feedback loop between source code changes and documentation updates. The version control system monitors code modifications, triggers documentation regeneration, and ensures the updated documentation is published. This automated feedback mechanism guarantees that documentation consistently reflects the current state of the source code.

Inventive Principle:
Principle #23Feedback

2Ease of operation

If documentation is separated from source code elements, then documentation can be independently managed, but documentation becomes disconnected and outdated

Engineering Contradiction:
Improvedocumentation management flexibilityVSAvoidsynchronization between code and documentation
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The system introduces a version control repository as an intermediary between source code and documentation. The repository serves as the authoritative source that both code and documentation reference. When code changes are committed to the repository, the system automatically retrieves the updated code and regenerates documentation, ensuring synchronization while maintaining independent manageability of each component.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of information

If detailed documentation is provided for data transformation rules, then stakeholders can understand code intent, but documentation becomes complex and difficult to maintain

Engineering Contradiction:
Improvecode intent understandingVSAvoiddocumentation structure
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by automatically extracting documentation directly from the source code itself rather than requiring separate documentation files. The system parses code comments, docstrings, and inline annotations to generate comprehensive documentation that inherently reflects the code structure. This approach provides detailed code intent understanding while simplifying maintenance since the documentation is generated directly from the code rather than maintained separately.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10346139B2Rules engine having an interactive, dual, side-by-side display
Publication Date: 2019.07.09 BANK OF AMERICA CORP
  • US10346139B2 patent drawing
  • US10346139B2 patent drawing
  • US10346139B2 patent drawing

AI summary

A system for providing a computer language with which to write rules is provided. The system may include a rules container, a rules classes container and an engine/graph. The rules classes container may provide a code library of rules and unit test from which to inherit. The system may also include a rules GUI that may accept code of a rule in a code field window. The rules GUI may also include a documentation presentation window. The documentation presentation window may include a non-editable, reader-friendly view of the rule. Viewing the documentation window adjacent to the code field window may enable a user to understand the code and edit the code. Each rule may depend from another rule or provide a dependency for another rule. The system may save the rules into the rules container. The engine/graph may create a graph of the rules documentation based on the dependencies.