Graphical Program Testing via Host Simulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing methods for testing graphical programs intended for implementation on programmable hardware elements are time-consuming and inefficient, as they require lengthy processes to create hardware description files and program the hardware, necessitating a more effective testing approach.

Innovation Solution

A system and method that utilizes a second graphical program to simulate input to the programmable hardware element, allowing for testing of the first graphical program on a host computer, with the option to automatically generate or create the second program based on the first, and providing output monitoring and analysis capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a hardware description file is created and programmable hardware element is programmed to implement graphical program functionality, then the program can be deployed on hardware, but the process takes a long time

Engineering Contradiction:
Improveprogram deploymentVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by creating a test version of the graphical program that can be executed and tested on the host computer before the formal hardware implementation. This allows testing to occur in advance, eliminating the need to wait for hardware programming completion to verify program functionality. The test program is prepared and executed preliminarily, so that when hardware implementation occurs, the program is already validated.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If traditional hardware programming process is used to test graphical programs, then hardware implementation is achieved, but testing efficiency is low

Engineering Contradiction:
Improvehardware implementationVSAvoidtesting efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies copying by creating a test version (copy) of the graphical program that replicates the functionality needed for testing. This test copy is executed on the host computer's software environment rather than requiring the actual hardware implementation. The copy allows complete testing of program logic and behavior without the time-consuming hardware programming process, thereby dramatically improving testing efficiency while maintaining reliability through subsequent hardware implementation.

Inventive Principle:
Principle #26Copying

3Loss of time

If graphical program is tested on host computer before hardware implementation, then testing time is reduced, but hardware validation is compromised

Engineering Contradiction:
Improvetesting timeVSAvoidhardware validation
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent resolves this contradiction by using preliminary action to perform software-based testing before hardware implementation. The test graphical program is executed on the host computer to validate program logic, identify errors, and verify functionality in advance. This preliminary validation reduces testing time by catching issues early, while hardware implementation remains intact as the final validation step. The process sequence ensures both time efficiency and hardware reliability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8291390B2Testing a graphical program intended for a programmable hardware element
Publication Date: 2012.10.16 NATIONAL INSTRUMENTS CORP
  • US8291390B2 patent drawing
  • US8291390B2 patent drawing
  • US8291390B2 patent drawing

AI summary

Testing a first graphical program intended for implementation on a programmable hardware element. The first graphical program may be stored. The first graphical program may include a first plurality of nodes connected by lines which visually specify first functionality. The first graphical program may be intended for implementation by the programmable hardware element. A second graphical program may be stored which visually specifies testing functionality for the first graphical program. The second graphical program may be executable by a host computer to simulate input to the programmable hardware element when configured by the first graphical program. The first graphical program and the second graphical program may be executed (e.g., by a host computer) to test the first functionality when implemented by the programmable hardware element. During execution, simulated outputs may be monitored.