IP Library Granted Patent US 8,046,739
Granted Patent B2
US 8,046,739 · App. 11/462,551 · Granted Oct 25, 2011

System and method for enabling a graphical program to propagate attributes of inputs and outputs of blocks

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,046,739
App. No.
11/462,551
Granted
Oct 25, 2011
Kind
B2
Abstract

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.

Claims (76)

1. A non-transitory, computer readable memory medium comprising program instructions for creating a graphical program, wherein the program instructions are executable to:

display a function block in a graphical program, wherein the function block is configured to perform a first function, wherein the function block comprises one or more inputs and one or more outputs, and wherein the graphical program comprises a first plurality of interconnected blocks which visually indicate the functionality of the graphical program;

receive user input selecting the function block to configure the function block;

receive user input assembling a second graphical program that visually specifies calculation of attributes of the one or more outputs based on attributes of the one or more inputs, wherein the second graphical program comprises a second plurality of interconnected blocks which visually indicate the calculation of the attributes of the one or more outputs, wherein said receiving user input assembling is performed in response to the user input selecting the function block.

2. The non-transitory, computer readable memory medium of claim 1 ,

wherein, in receiving user input assembling the second graphical program, the program instructions are executable to display a graphical user interface element for specifying attribute behavior.

3. The non-transitory, computer readable memory medium of claim 1 ,

wherein the graphical program is a data flow graphical program.

4. The non-transitory, computer readable memory medium of claim 1 , wherein the program instructions are further executable to:

connect the function block to receive the one or more inputs from a second block comprised in the graphical program; and

connect the one or more outputs of the function block to a third block comprised in the graphical program.

5. The non-transitory, computer readable memory medium of claim 1 , wherein the attributes of the one or more inputs and/or the attributes of at the one or more outputs comprises bit or byte width.

6. The non-transitory, computer readable memory medium of claim 1 , wherein the attributes of the one or more inputs and/or the attributes of at the one or more outputs comprises one or more representations.

7. The non-transitory, computer readable memory medium of claim 1 , wherein the attributes of the one or more inputs and/or the attributes of at the one or more outputs comprises one or more of:

one or more data types;

one or more offsets;

bit or byte width;

one or more maximum values;

one or more minimum values;

one or more word lengths;

one or more fractional word lengths;

one or more integer word lengths;

one or more representations; or

one or more scaling factors.

8. The non-transitory, computer readable memory medium of claim 1 , wherein the graphical program comprises a block diagram model.

9. The non-transitory, computer readable computer readable memory medium of claim 1 ,

wherein the second graphical program defines the attribute behavior is a data flow graphical program.

10. The non-transitory, computer readable computer readable memory medium of claim 1 , wherein at least one of the attributes of the one or more outputs of the function block comprises at least one of the attributes of the one or more inputs to the function block.

11. The non-transitory, computer readable computer readable memory medium of claim 1 , wherein the program instructions are further executable to:

automatically propagate attributes of the one or more outputs of the function block by executing the second graphical program, wherein the automatic propagation does not require user input indicating that the attributes should be propagated.

12. A method for creating a graphical program, comprising:

displaying a function block in a graphical program, wherein the function block is configured to perform a first function, wherein the function block comprises one or more inputs and one or more outputs, and wherein the graphical program comprises a plurality of interconnected blocks which visually indicate the functionality of the graphical program;

receiving user input selecting the function block to configure the function block;

receiving user input assembling a second graphical program that visually specifies calculation of attributes of the one or more outputs based on attributes of the one or more inputs, wherein the second graphical program comprises a second plurality of interconnected blocks which visually indicate the calculation of the attributes of the one or more outputs, wherein said receiving user input assembling is performed in response to the user input selecting the function block;

executing the graphical program; and

during said executing the graphical program, the function block automatically determining the attributes of the one or more outputs of the function block based on the attributes of the one or more inputs to the function block, wherein said determining comprises executing the second graphical program.

13. The method of claim 12 ,

wherein said receiving user input assembling the second graphical programs comprises displaying a graphical user interface element for specifying attribute behavior.

14. The method of claim 12 , further comprising:

connecting the function block to receive the one or more inputs from a second block comprised in the graphical program; and

connecting the one or more outputs of the function block to a third block comprised in the graphical program.

15. The method of claim 12 ,

wherein said receiving user input specifying the attribute behavior comprises receiving user input selecting the function block for configuration of the attribute behavior.

16. The method of claim 12 , wherein the attributes of the one or more inputs and/or the attributes of at the one or more outputs comprises one or more of:

one or more data types;

one or more offsets;

bit or byte width;

one or more maximum values;

one or more minimum values;

one or more word lengths;

one or more fractional word lengths;

one or more integer word lengths;

one or more representations; or

one or more scaling factors.

17. A non-transitory, computer readable memory medium storing program instructions of a function block included in a graphical program, wherein the program instructions are executable to implement a function block comprising:

one or more inputs; and

one or more outputs;

wherein the function block is configured to perform a first function, and wherein the graphical program comprises a plurality of interconnected blocks which visually indicate the functionality of the graphical program;

wherein the function block is configured to receive user input specifying an attribute behavior for the function block, wherein the user input assembles a second graphical program that visually specifies calculation of attributes of the one or more outputs based on attributes of the one or more inputs, wherein the second graphical program comprises a second plurality of interconnected blocks which visually indicate the calculation of the attributes of the one or more outputs, wherein said receiving user input assembling is performed; and

wherein the function block is configured to automatically determine attributes of the one or more outputs of the function block based on attributes of the one or more inputs to the function block via execution of the second graphical program.

18. The non-transitory, computer readable memory medium of claim 17 ,

wherein the function block is configured to receive the user input via a graphical user interface element for configuring the attribute behavior.

19. The non-transitory, computer readable memory medium of claim 17 ,

wherein the one or more inputs are coupled to a second block comprised in the graphical program; and

wherein the one or more outputs are coupled to a third block comprised in the graphical program.

20. The non-transitory, computer readable memory medium of claim 17 , wherein the attributes of the one or more inputs and/or the attributes of at the one or more outputs comprises one or more of:

one or more data types;

one or more offsets;

bit or byte width;

one or more maximum values;

one or more minimum values;

one or more word lengths;

one or more fractional word lengths;

one or more integer word lengths;

one or more representations; or

one or more scaling factors.

Assignments (5)
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 057280/0028) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 065231/0466 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 052935/0001) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
Reel/Frame 065653/0463 →
SECURITY INTEREST Recorded Jun 18, 2021
From: NATIONAL INSTRUMENTS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 057280/0028 →
SECURITY INTEREST Recorded Jun 14, 2020
From: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 052935/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2006
From: CURTIS, MATTHEW C.; LEWIS, JAMES M.
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 018365/0781 →