IP Library Granted Patent US 8,423,981
Granted Patent B2
US 8,423,981 · App. 12/486,976 · Granted Apr 16, 2013

Compiling a graphical program having a textual language program portion for a real time target

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,423,981
App. No.
12/486,976
Granted
Apr 16, 2013
Kind
B2
Abstract

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.

Claims (39)

1. A non-transitory computer readable memory medium comprising program instructions executable by one or more processors to:

display a graphical program on a display, wherein the graphical program comprises a plurality of connected nodes which visually indicate functionality of the graphical program, wherein the graphical program comprises at least one node which corresponds to a textual language program portion, wherein the textual language program portion is written in a dynamically typed programming language, wherein the textual language program portion exists prior to compilation of the graphical program;

compile the graphical program for deployment on a real time target, wherein said compiling the graphical program comprises compiling the plurality of connected nodes and the textual language program portion into executable code configured for deterministic real time execution on the real time target,

wherein said compiling the textual language program portion comprises automatically converting the textual language program portion into a graphical program portion and compiling the graphical program portion; and

store the executable code on a storage device.

2. The memory medium of claim 1 , wherein said compiling the graphical program comprises inferring strict types for the textual language program portion.

3. The memory medium of claim 2 , wherein said inferring strict types for the textual language program portion comprises using generic data types for variables in the textual language program portion.

4. The memory medium of claim 1 , wherein the graphical program is a data flow graphical program.

5. The memory medium of claim 1 , wherein the real time target comprises a programmable hardware element, wherein said compiling the graphical program comprises generating a hardware description file for the programmable hardware element based on at least a portion of the textual language program portion, and wherein the program instructions are further executable to:

configure the programmable hardware element according to the hardware description file.

6. The memory medium of claim 1 , wherein the program instructions are further executable to:

deploy the executable code on the real time target; and

execute the executable code on the real time target in a deterministic manner.

7. A method, comprising:

a computer system receiving a graphical program stored on a memory medium, wherein the graphical program comprises a plurality of connected nodes which visually indicate functionality of the graphical program, wherein the graphical program comprises at least one node which corresponds to a textual language program portion, wherein the textual language program portion is written in a dynamically typed programming language, wherein the textual language program portion exists prior to compilation of the graphical program;

the computer system displaying the graphical program on a display device;

the computer system compiling the graphical program for deployment on a real time target, wherein said compiling the graphical program comprises compiling the plurality of connected nodes and the textual language program portion into executable code configured for deterministic real time execution on the real time target,

wherein said compiling the textual language program portion comprises automatically converting the textual language program portion into a graphical program portion and compiling the graphical program portion; and

the computer system storing the executable code on a storage device.

8. The method of claim 7 , wherein said compiling the graphical program comprises inferring strict types for the textual language program portion.

9. The method of claim 8 , wherein said inferring strict types for the textual language program portion comprises using generic data types for variables in the textual language program portion.

10. The method of claim 7 , wherein the graphical program is a data flow graphical program.

11. The method of claim 7 , wherein the real time target comprises a programmable hardware element, wherein said compiling the graphical program comprises generating a hardware description file for the programmable hardware element based on at least a portion of the textual language program portion, and wherein the method further comprises:

configuring the programmable hardware element according to the hardware description file.

12. The method of claim 7 , further comprising:

deploying the executable code on the real time target; and

executing the executable code on the real time target in a deterministic manner.

13. A system, comprising:

a processor;

a display device coupled to the processor; and

a memory medium coupled to the processor, wherein the memory medium stores program instructions executable by the processor to:

display a graphical program on the display device, wherein the graphical program comprises a plurality of connected nodes which visually indicate functionality of the graphical program, wherein the graphical program comprises at least one node which corresponds to a textual language program portion, wherein the textual language program portion is written in a dynamically typed programming language, wherein the textual language program portion exists prior to compilation of the graphical program;

compile the graphical program for deployment on a real time target, wherein said compiling the graphical program comprises compiling the plurality of connected nodes and the textual language program portion into executable code configured for deterministic real time execution on the real time target, wherein said compiling the graphical program further comprises inferring strict types for the textual language program portion; and

store the executable code on a storage device.

14. The system of claim 13 , wherein said compiling the graphical program comprises automatically converting the textual language program portion into a graphical program portion and compiling the graphical program portion.

15. The system of claim 13 , wherein said inferring strict types for the textual language program portion comprises using generic data types for variables in the textual language program portion.

16. The system of claim 13 , wherein the graphical program is a data flow graphical program.

17. The system of claim 13 , wherein the real time target comprises a programmable hardware element, wherein said compiling the graphical program comprises generating a hardware description file for the programmable hardware element based on at least a portion of the textual language program portion, and wherein the program instructions are further executable to:

configure the programmable hardware element according to the hardware description file.

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 Jun 22, 2009
From: HUDSON, DUNCAN G., III; GOSALIA, RISHI H.
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 022855/0269 →