Graphical Programming Synchronization via Timed Loops

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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 computer systems, and graphical programming environments, while more intuitive, often struggle with deterministic data exchange between distributed systems, which is crucial for real-time applications.

Innovation Solution

A graphical programming system that includes a timed loop mechanism, where the execution of graphical code portions on one device is synchronized with a clock or events from another device, ensuring deterministic communication and data exchange, even across different computer systems or measurement devices.

Engineering Contradictions & Design Principles

VSEngineering 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

Engineering Contradiction:
Improveprogramming precisionVSAvoidease of operation
Core Design Contradiction:
Manufacturing precisionVSEase of operation

Solution Approach 1:

The patent uses graphical icons and visual representations to copy and represent programming concepts, allowing users to interact with code through visual symbols rather than text. This maintains programming precision while improving ease of operation by eliminating the need to learn complex syntax and text-based programming rules.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces the mechanical text-based programming system with a graphical visual programming system. Instead of typing and editing text code, users manipulate visual icons and connections, substituting the text-based mechanical interaction with a more intuitive graphical interface that maintains programming control while improving usability.

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

2Ease of operation

If graphical programming environments are used, then ease of operation is improved, but reliability deteriorates due to inability to ensure deterministic data exchange between distributed systems

Engineering Contradiction:
Improveease of operationVSAvoidreliability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent implements periodic timing loops that execute at regular intervals, ensuring deterministic data exchange between distributed graphical programming systems. This periodic execution mechanism provides reliable timing control while maintaining the ease of graphical programming interface, resolving the contradiction between usability and reliability.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent incorporates feedback mechanisms through synchronized timing loops that monitor and adjust data exchange between distributed systems. This feedback ensures deterministic communication reliability while maintaining the graphical programming environment's ease of operation, as the timing synchronization is automatically managed by the system.

Inventive Principle:
Principle #23Feedback

3Manufacturing precision

If text-based programming languages are used, then manufacturing precision is improved, but productivity deteriorates due to requiring substantial mastery of programming techniques

Engineering Contradiction:
Improveprogramming precisionVSAvoidproductivity
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent uses visual icons and graphical representations to copy programming logic, allowing users to create precise programs through visual assembly rather than text coding. This approach maintains programming precision while dramatically improving productivity by eliminating the need to master complex text-based programming syntax and techniques.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent creates a universal graphical programming environment that can handle multiple programming tasks and distributed system communications through a single visual interface. This multi-functional approach maintains precision while improving productivity by allowing users to perform diverse programming operations without learning multiple text-based languages or techniques.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Adaptability or versatility

If distributed graphical programs are used, then adaptability is improved, but reliability worsens due to non-deterministic communication between different computer systems

Engineering Contradiction:
ImproveadaptabilityVSAvoidreliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements periodic timing loops that synchronize communication between distributed graphical programs running on different computer systems. This periodic execution ensures deterministic data exchange while maintaining the adaptability of distributed graphical programming, resolving the contradiction between system versatility and communication reliability.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent uses a standardized timing synchronization mechanism as an intermediary between distributed graphical programs on different systems. This intermediary ensures deterministic communication reliability across diverse platforms while preserving the adaptability and versatility of the distributed graphical programming environment.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7565609B2Synchronizing execution of graphical programs executing on different computer systems
Publication Date: 2009.07.21 NATIONAL INSTRUMENTS CORP
  • US7565609B2 patent drawing
  • US7565609B2 patent drawing
  • US7565609B2 patent drawing

AI summary

A first graphical program executing on a first device may execute a first graphical code portion for a plurality of iteration. Various systems and methods for synchronizing the execution of the iterations of the first graphical code portion with graphical code portions executing iteratively in graphical programs on other devices are described. Various systems and methods for synchronizing the execution of the iterations of the first graphical code portion with operation of measurement devices or other devices are also described.