Graphical Program Deployment on Embedded Devices
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.


