Deterministic Data Exchange Between Distributed Graphical Programs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional text-based programming environments require users to possess advanced programming skills, creating a barrier for non-technical users in efficiently utilizing computers, and graphical programming environments, while intuitive, often struggle with deterministic data exchange between distributed systems, which is crucial for real-time applications.
Innovation Solution
A system and method for synchronizing the execution of graphical programs across different computer systems by assigning variables to time slots in a network cycle, allowing data to be exchanged deterministically, ensuring data arrives at predetermined times with minimal jitter.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If traditional text-based programming environments are used, then programming precision and control are improved, but ease of operation deteriorates due to requiring advanced programming skills
Solution Approach 1:
The programming task is segmented into graphical blocks representing discrete functions or operations. Each block can be independently selected, configured, and connected, allowing users to build complex programs through composition of simple, intuitive elements rather than writing text code
Solution Approach 2:
A graphical programming environment serves as an intermediary between the user's conceptual understanding and the actual program execution. This environment translates high-level graphical representations into executable code, eliminating the need for users to directly write and debug text-based programming syntax
2Ease of operation
If graphical programming environments are used, then ease of operation is improved, but communication reliability deteriorates due to timing uncertainties in data exchange between distributed systems
Solution Approach 1:
Data exchange between distributed graphical programs is organized into periodic cycles with predetermined time slots. Each cycle allocates specific time windows for communication, creating regular, predictable patterns that eliminate timing uncertainties and ensure deterministic data transfer
Solution Approach 2:
Communication parameters, time slots, and data exchange schedules are predetermined and configured before execution. This preliminary setup ensures that all distributed systems know in advance when and how to communicate, eliminating runtime timing uncertainties
3Reliability
If time slot assignment for data exchange is implemented, then communication reliability is improved through deterministic timing, but device complexity increases due to synchronization requirements
Solution Approach 1:
The synchronization mechanism is implemented as a universal timing system that all distributed graphical programs adhere to. A common cycle structure and time slot allocation scheme serves multiple communication purposes simultaneously, reducing the need for separate synchronization mechanisms for different data exchange scenarios
Data Source
AI summary
A system and method for enabling deterministic or time-triggered data exchange between a first graphical program and a second graphical program. A first variable is assigned to a first time slot in a network cycle. A first graphical program may be configured to write data to the first variable. A second graphical program may be configured to read data from the first variable. The first graphical program may be executed on a first computer system, where executing the first graphical program comprises writing data to the first variable. Writing data to the first variable may cause the data to be delivered over a network to a second computer system when the first time slot occurs. The second graphical program may be executed on the second computer system, where executing the second graphical program comprises reading from the first variable the data sent from the first computer system.


