Graphical Program Compilation for Real-Time Deterministic Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Deploying graphical programs with textual language portions to real-time targets is challenging due to issues with deterministic execution, as existing technologies struggle to handle dynamically typed languages and convert them for real-time processing.
Innovation Solution
A method that compiles graphical programs with textual language portions by inferring strict types, converting textual code into graphical data flow, and generating hardware description files for programmable hardware elements, ensuring deterministic execution on real-time targets.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If dynamically typed programming language is used in graphical program, then programming flexibility and ease of use are improved, but deterministic execution on real-time targets deteriorates
Solution Approach 1:
The system performs preliminary type inference and code conversion during the compilation phase before deployment to the real-time target. By inferring strict types from the dynamically typed code and converting it to a deterministic representation in advance, the system resolves the contradiction between programming flexibility and real-time execution reliability.
2Adaptability or versatility
If textual language program portion is incorporated in graphical program, then programming versatility is improved, but compilation complexity for real-time execution worsens
Solution Approach 1:
The system introduces an intermediary compilation process that acts as a bridge between the textual language portion and the graphical program execution environment. This intermediary compiler performs type inference, code conversion, and optimization, thereby managing the complexity of compiling versatile programs while maintaining deterministic real-time execution.
3Reliability
If type propagation is used to infer strict types, then real-time execution determinism is improved, but compilation time increases
Solution Approach 1:
The system applies type propagation selectively to only those portions of the code that require strict typing for deterministic execution, rather than performing exhaustive type inference on the entire program. This partial application of type propagation reduces compilation overhead while maintaining the necessary execution determinism for real-time targets.
Data Source
AI summary
Compiling a graphical program including a textual program portion for execution on a real time target. The graphical program may be created on a display or stored in a memory medium. The graphical program may include a plurality of connected nodes which visually indicate functionality of the graphical program. The graphical program may include at least one node which corresponds to a textual language program portion. The textual language program portion may be written or specified in a dynamically typed programming language. The graphical program may be compiled for deployment on the real time target. Compiling the graphical program may include compiling the plurality of connected nodes and the textual language program portion for deterministic real time execution on the real time target.


