Text-to-Graphical Code Conversion for Parallel Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional text-based programming environments require users to possess advanced programming skills, creating a barrier for non-technical users and reducing the efficiency of computer system utilization, as they often require different skills for conceptualizing and implementing solutions, and do not provide intuitive debugging capabilities.

Innovation Solution

A method for automatically converting textual programming code into graphical code, allowing users to create and execute graphical programs without specifying nodes or connections, which can be compiled into machine code, providing a visual representation of program operation and supporting parallel execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If text-based programming environments are used, then programming functionality can be achieved, but user accessibility and ease of operation deteriorate due to requiring advanced programming skills

Engineering Contradiction:
Improveuser accessibilityVSAvoidprogramming skill requirement
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces a graphical programming language as an intermediary between the user and the text-based programming environment. This graphical language serves as a mediator that translates user-friendly visual operations into executable text-based code, eliminating the need for users to directly master complex text-based programming syntax while still achieving full programming functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a visual representation (graphical program) that copies and represents the functionality of text-based code in a more intuitive format. The graphical program visually models the program structure, data flow, and control logic, allowing users to understand and manipulate programming concepts through visual analogies rather than abstract text syntax.

Inventive Principle:
Principle #26Copying

2Reliability

If text-based programming is used, then implementation can be achieved, but debugging capability and understanding deteriorate

Engineering Contradiction:
Improvedebugging capabilityVSAvoidprogram operation understanding
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent employs visual differentiation through color coding in the graphical program to indicate different types of operations, data flows, and control structures. Color changes and visual highlights are used to mark debugging points, variable values, and execution flow, making it easier to identify and understand program behavior without requiring textual analysis.

Inventive Principle:
Principle #32Color changes

Solution Approach 2:

The patent transitions from one-dimensional text-based code to two-dimensional graphical representations. This dimensional change allows users to visually perceive program structure, data relationships, and execution flow in a spatial arrangement that provides intuitive understanding and facilitates debugging through visual inspection rather than linear text reading.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Ease of operation

If graphical programming environments are used, then ease of operation improves, but conversion complexity increases when translating from text-based code

Engineering Contradiction:
Improveprogramming intuitivenessVSAvoidcode conversion complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent performs preliminary parsing and analysis of the text-based code to extract structural information, data types, and control logic before generating the graphical program. This preliminary processing step breaks down the complex conversion task into manageable phases: syntax analysis, semantic interpretation, and graphical translation, reducing the overall conversion complexity through systematic decomposition.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The conversion system is designed to automatically translate text-based code into graphical programs without requiring manual intervention. The system self-services the conversion process by automatically analyzing the text code structure, identifying programming constructs, and generating corresponding graphical representations, eliminating the need for users to manually create graphical programs from text code.

Inventive Principle:
Principle #25Self-service

4Productivity

If text-based code is used, then execution can be achieved, but parallel execution capability deteriorates

Engineering Contradiction:
Improveparallel execution capabilityVSAvoidcode structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the program into independent graphical nodes and operations that can be visually identified as potential parallel execution units. The graphical representation naturally divides the program into discrete functional blocks with explicit data flow dependencies, making it easier to identify segments that can execute in parallel on multiple processor cores without complex restructuring of the original text-based code.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7954059B2Automatic conversion of text-based code having function overloading and dynamic types into a graphical program for compiled execution
Publication Date: 2011.05.31 NATIONAL INSTRUMENTS CORP
  • US7954059B2 patent drawing
  • US7954059B2 patent drawing
  • US7954059B2 patent drawing

AI summary

Automatic conversion of textual program code to graphical program code is performed. The method automatically translates the given functionality of a textual program code into executable graphical program code, corresponding to the same functionality. The method includes a parsing routine that generates a syntax tree and code generation routines, which create graphical program code from the syntax tree.