Data Flow Diagram Node Consolidation for Memory Reduction
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
3Productivity
If hierarchies are expanded completely, then all nodes can be processed, but redundant nodes are created increasing memory consumption
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.
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.
Data Source
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.


