Graphical Program Deployment on Embedded Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional text-based programming environments are not intuitive for users without extensive training, making it difficult to efficiently program computer systems for tasks like instrumentation and industrial automation, as they require mastering different skills for conceptualization and implementation, leading to reduced system utilization.

Innovation Solution

A system and method for deploying and executing graphical programs on embedded devices by partitioning the program execution system into a minimal base system and modular components, allowing only the required components to be transmitted and executed, enabling efficient use of resources and intuitive programming through a graphical interface.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a full program execution system is transmitted to the embedded device, then the program can be executed completely, but the memory footprint and transmission data volume increase significantly

Engineering Contradiction:
Improveprogram execution capabilityVSAvoidmemory footprint
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The program execution system is divided into a minimal base system that remains on the host computer and modular components that are selectively transmitted to the embedded device. This segmentation allows the system to include only the necessary execution components for each specific program, reducing overall memory footprint while maintaining execution capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The essential execution system components are extracted from the full program execution environment and transmitted separately to the embedded device. This extraction process identifies and transfers only the minimum required components, leaving the remaining system on the host computer where it can be shared across multiple programs and devices.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If traditional text-based programming environments are used, then precise programming control is achieved, but the ease of operation decreases for users without extensive training

Engineering Contradiction:
Improveprogramming efficiencyVSAvoiduser accessibility
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent replaces text-based programming with graphical programming, where users manipulate visual icons and diagrams instead of writing code. This substitution makes the system accessible to users without extensive programming training while maintaining the ability to achieve precise programming control through the graphical interface.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent uses graphical icons and visual representations to copy and represent programming concepts, making them more intuitive and easier to understand than text-based code. Users can visually copy and paste graphical elements to build programs, reducing the learning curve and improving ease of operation.

Inventive Principle:
Principle #26Copying

3Quantity of substance

If a minimal execution system is used on the embedded device, then memory usage is optimized, but the device complexity increases due to the distributed architecture

Engineering Contradiction:
Improvememory usageVSAvoidsystem architecture
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent merges the host computer system with the embedded device to form a distributed execution environment. The minimal execution system on the embedded device works in conjunction with the base execution system on the host, combining their capabilities to achieve full program execution while optimizing memory usage through the distributed architecture.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8074201B2Deployment and execution of a program on an embedded device
Publication Date: 2011.12.06 NATIONAL INSTRUMENTS CORP
  • US8074201B2 patent drawing
  • US8074201B2 patent drawing
  • US8074201B2 patent drawing

AI summary

System and method for deploying and executing a program, e.g., a graphical program, on an embedded device. The program and a plurality of execution system components are stored on a host computer. The program is analyzed programmatically to determine a subset of the plurality of components required for execution of the program. The subset of components and the program are combined into a file while preserving execution order of the program. The file is transmitted to the device. The file is used to construct a combined program which includes executable code for the program and the subset of components. The device includes a minimal execution engine which executes the subset of components to execute the program. The file may be streamed to the device for streaming execution, where received portions of the subset of components needed for execution of received portions of the program are stored until no longer needed.