Data Flow Diagram Node Consolidation for Memory Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graphical programming environments face inefficiencies when converting non-input bound data flow diagrams to input bound data flow diagrams, particularly in complex systems, leading to increased memory footprint and slow compilation due to the expansion of hierarchies resulting in numerous redundant nodes.

Innovation Solution

A method to generate an input bound data flow diagram from a non-input bound data flow diagram by analyzing and partitioning non-input bound data flow nodes into independent input bound data flow nodes, maintaining data dependencies, and reducing the number of nodes through strategic grouping and merging based on input and output data flow dependencies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If non-input bound data flow nodes are expanded into input bound data flow nodes, then the diagram can be executed in input bound semantics, but the number of nodes increases significantly leading to larger memory footprint

Engineering Contradiction:
Improvecompatibility with input bound data flow semanticsVSAvoidnumber of nodes in diagram
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent merges multiple input bound data flow nodes that were generated from expanding a single non-input bound node back into a consolidated node structure. This reduces the total node count while preserving the input bound semantics required for execution, directly addressing the memory footprint issue caused by naive expansion.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a universal node structure that can represent both input bound and non-input bound data flow behaviors. This multi-functional node reduces the need for multiple separate nodes, thereby decreasing memory consumption while maintaining compatibility with input bound execution semantics.

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

2Reliability

If non-input bound data flow nodes are expanded into input bound data flow nodes, then the diagram can be executed in input bound semantics, but compilation time increases due to the large number of nodes

Engineering Contradiction:
Improvecompatibility with input bound data flow semanticsVSAvoidcompilation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

By merging equivalent input bound nodes back into consolidated structures, the patent reduces the total number of nodes that the compiler must process. This directly decreases compilation time while maintaining the necessary input bound semantics for correct execution.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If hierarchies are expanded completely, then all nodes can be processed, but redundant nodes are created increasing memory consumption

Engineering Contradiction:
Improvecompleteness of node processingVSAvoidmemory footprint
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent identifies and merges redundant nodes that arise from complete hierarchy expansion. By consolidating equivalent nodes while preserving the processing completeness needed for correct execution, it reduces memory footprint without sacrificing productivity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent extracts and removes redundant node instances from the expanded hierarchy, keeping only the essential processing logic. This eliminates wasted memory consumption while maintaining complete node processing capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS7701869B2Generating a data flow diagram
Publication Date: 2010.04.20 NATIONAL INSTRUMENTS CORP
  • US7701869B2 patent drawing
  • US7701869B2 patent drawing
  • US7701869B2 patent drawing

AI summary

System and method for generating a data flow diagram. A data flow diagram is provided that includes one or more non-input bound data flow (NIBDF) nodes, each with a respective functionality, and at least one of which is a subsystem node representing a non-input bound data flow sub-diagram comprising a plurality of interconnected nodes. All non-input bound data flow nodes in the data flow diagram are converted into input bound data flow (IBDF) nodes to produce an IBDF diagram, including: for each NIBDF subsystem node in the data flow diagram: partitioning the NIBDF sub-diagram into a plurality of IBDF sub-diagrams that operate according to input bound data flow semantics without changing data dependencies of the NIBDF sub-diagram, and including a plurality of IBDF nodes respectively representing the plurality of IBDF sub-diagrams in the IBDF diagram in lieu of the NIBDF subsystem node. The IBDF diagram is then stored.