Graphical Program Node Auto-Layout for Visual Programming Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional text-based programming languages limit user efficiency in creating computer programs, especially for those without advanced programming skills, and graphical programming environments, while powerful, often require manual arrangement of nodes, which can be time-consuming and aesthetically unpleasing.

Innovation Solution

A system and method for automatically rearranging selected portions of a graphical program by repositioning nodes within a graphical programming development environment, allowing users to maintain the original layout of unaffected parts while improving the organization and aesthetics of the selected area.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If manual arrangement of nodes is used in graphical programming environments, then users can have precise control over node positioning, but the process becomes time-consuming and aesthetically unpleasing

Engineering Contradiction:
Improveease of node arrangementVSAvoidtime for node arrangement
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system automatically arranges nodes without requiring manual user intervention. The arrangement algorithm autonomously positions nodes based on their relationships and the selected layout style, making the system self-organizing rather than requiring continuous user service for positioning tasks

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system changes the layout parameters of nodes automatically by detecting relationships between nodes and applying appropriate layout styles (hierarchical, compact, distributed). This transforms the arrangement process from manual parameter adjustment to automatic parameter optimization based on detected node relationships

Inventive Principle:
Principle #35Parameter changes

2Manufacturing precision

If automatic arrangement of the entire graphical program is performed, then node organization is improved, but the layout of previously arranged portions may be disrupted

Engineering Contradiction:
Improvenode organization precisionVSAvoidlayout stability
Core Design Contradiction:
Manufacturing precisionVSStability of the object's composition

Solution Approach 1:

The system segments the graphical program into a selected portion and an unselected portion. Only the selected portion undergoes automatic arrangement while the unselected portion maintains its existing layout, allowing localized optimization without disrupting the overall program structure

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The arrangement operation applies different treatment to different portions of the graphical program. The selected portion receives automatic arrangement with optimized node positioning, while the unselected portion preserves its original layout characteristics, creating local quality differentiation based on user selection

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If graphical programming is used instead of text-based programming, then accessibility to non-programmers is improved, but manual node arrangement becomes a time-consuming task

Engineering Contradiction:
Improveaccessibility to non-programmersVSAvoidprogram creation efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system performs self-service by automatically arranging nodes based on detected relationships and layout preferences, eliminating the need for users to manually position each node. This automation maintains the accessibility of graphical programming to non-programmers while removing the time-consuming manual arrangement task

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary arrangement actions automatically when nodes are added or when the arrangement function is invoked. By pre-arranging nodes based on their relationships before the user needs to view or edit the complete program, the system eliminates the need for subsequent manual adjustment

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8539505B2Automatically arranging objects in a selected portion of a graphical program block diagram
Publication Date: 2013.09.17 NATIONAL INSTRUMENTS CORP
  • US8539505B2 patent drawing
  • US8539505B2 patent drawing
  • US8539505B2 patent drawing

AI summary

Various embodiments of a system and method for automatically arranging or positioning objects included in a selected portion of a graphical program are described. A user may select a first portion of the graphical program. The graphical programming development environment may automatically re-arrange the selected first portion of the graphical program without re-arranging the rest of the graphical program. For example, nodes in the first portion of the graphical program may be automatically re-positioned so as to better organize the first portion of the graphical program.