Parameter Nodes for Reusable Expression Graphs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software developers face inefficiencies in rebuilding entire expressions every time a value in an expression graph changes, which can be time-consuming and requires rebuilding the entire code, limiting computational efficiency and ease of programming across different programming languages.

Innovation Solution

The introduction of a parameter node in expression graphs that acts as a generic placeholder, allowing for binding with various terms (values or expressions), enabling the reuse of expression graphs without rebuilding the entire expression, and facilitating evaluation with different input parameters.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If developers rebuild entire expressions every time a value changes, then the expression reflects current values, but time consumption and computational overhead increase

Engineering Contradiction:
Improveexpression accuracyVSAvoidrebuilding time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The expression is divided into independent nodes (leaf nodes, operator nodes, parameter nodes) that can be individually modified. When a value changes, only the specific leaf node is updated rather than rebuilding the entire expression, thus maintaining accuracy while reducing time consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Parameter nodes are created in advance as reusable templates that can be bound to different values. The expression structure is prepared beforehand with parameter nodes that can be quickly instantiated with new values without requiring complete reconstruction.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If developers manually recreate expressions for different values, then customization is possible, but productivity decreases

Engineering Contradiction:
Improveexpression customizationVSAvoidcoding efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

Parameter nodes serve as universal placeholders that can represent any value or sub-expression. A single parameter node template can be bound to different values across multiple contexts, enabling the same expression structure to be reused universally while maintaining full customization capability.

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

Solution Approach 2:

Instead of manually recreating expressions, developers can copy existing parameter nodes and bind them to different values. The parameter node acts as a reusable template that can be instantiated multiple times with different bindings, significantly improving productivity while preserving adaptability.

Inventive Principle:
Principle #26Copying

3Stability of the object's composition

If entire expressions are rebuilt for value changes, then consistency is maintained, but computational overhead increases

Engineering Contradiction:
Improveexpression consistencyVSAvoidcomputational overhead
Core Design Contradiction:
Stability of the object's compositionVSUse of energy by moving object

Solution Approach 1:

The expression is segmented into immutable operator nodes and mutable leaf nodes. Consistency is maintained by ensuring that operator nodes preserve their logical structure while leaf nodes can be efficiently updated. This segmentation allows selective updates that maintain consistency without requiring complete reconstruction, reducing computational overhead.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Parameter nodes serve as reusable templates that can be copied and bound to different values. The template structure ensures consistency is maintained while the copying mechanism avoids the computational cost of rebuilding, as the copied structure references the same operator logic with different value bindings.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8549464B2Reusing expression graphs in computer programming languages
Publication Date: 2013.10.01 ZHIGU HLDG
  • US8549464B2 patent drawing
  • US8549464B2 patent drawing
  • US8549464B2 patent drawing

AI summary

A reusable expression graph system and method that generates reusable expression graphs that can be used with potentially different input parameters in order to achieve computational efficiency and ease of programming. Reusable expression graph mitigate the need to rebuild an expression for each new value. This is achieved in part by creating a node called a “parameter node.” The parameter node acts as a generic placeholder for a leaf node in the expression graph. In addition, the parameter node acts as a proxy for a bindable term of the leaf node, and the bindable term can be either a value or one or more additional expressions. The parameter node then is bound to the bindable term and the expression is evaluated with that bindable term instead of the placeholder. The parameter node created by embodiments of the reusable expression graph system and method works across many different programming languages.