Graphical Program Attribute Propagation Mechanism

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 and reducing efficiency in utilizing computer systems, as they must separately assign attribute values for each block in graphical programs, which can be cumbersome and inefficient.

Innovation Solution

A system and method for propagating attributes of blocks in graphical programs, allowing users to specify attribute behavior for function blocks, which can be automatically propagated throughout the program, reducing the need for manual assignment and enhancing efficiency by allowing default or global propagation settings.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement 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:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent introduces a graphical programming environment with block diagrams as an intermediary between the user and the computer system. Instead of requiring users to write text-based code, they can visually assemble programs by connecting blocks representing operations, data flows, and control structures. This graphical interface mediates the interaction, making programming accessible to non-technical users while maintaining precise control over system behavior through the structured block representations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If manual assignment of attribute values for each block is required, then customization and precision are improved, but productivity deteriorates due to cumbersome and inefficient processes

Engineering Contradiction:
Improveattribute assignment precisionVSAvoidproductivity
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent implements automatic propagation of attribute values throughout the graphical program. When a user sets an attribute value for one block, the system automatically propagates this value to other blocks that are connected or related, eliminating the need for manual assignment to each individual block. This self-service mechanism maintains precise attribute control across the entire program while dramatically improving productivity by reducing repetitive manual work.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If graphical programming environments are used, then ease of operation is improved by allowing intuitive creation of programs, but device complexity increases due to additional features and functionality

Engineering Contradiction:
Improveease of operationVSAvoidsystem complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent extracts and separates the attribute propagation functionality as a distinct, automated feature within the graphical programming environment. By isolating this complex background process, the system maintains a simple, intuitive user interface for block assembly while handling the complexity of attribute management automatically in the background. This extraction allows the graphical environment to remain easy to operate without requiring users to understand or manage the underlying complexity of attribute propagation across multiple blocks.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8046739B2System and method for enabling a graphical program to propagate attributes of inputs and outputs of blocks
Publication Date: 2011.10.25 NATIONAL INSTRUMENTS CORP
  • US8046739B2 patent drawing
  • US8046739B2 patent drawing
  • US8046739B2 patent drawing

AI summary

A system and method for creating a graphical program. A function block may be displayed in a graphical program. The graphical program may include a plurality of interconnected blocks which visually indicate the functionality of the program. Additionally, the function block may be operable to perform a first function and may include one or more inputs and one or more outputs. User input specifying an attribute behavior for the function block may be received, e.g., via a menu which allows selection or definition of attribute behaviors, a graphical wizard, or another graphical program, among other methods. The attribute behavior specified for the function block may be usable to determine at attribute of at least a subset of the one or more outputs of the function block based on an attribute of at least one of the one or more inputs to the function block.