IP Library Granted Patent US 11,175,895
Granted Patent B2
US 11,175,895 · App. 17/074,438 · Granted Nov 16, 2021

Code generation and simulation for graphical programming

Inventors: Peter Darnell (Westford, MA); Richard A. Kolk (Louisville, KY)
Assignee: Altair Engineering, Inc.
G06F8/34G06F8/35G06F8/36G06F30/00G06F9/455
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 11,175,895
App. No.
17/074,438
Granted
Nov 16, 2021
Kind
B2
Abstract

A graphical block diagram can be used to execute multiple operating modes, such as a code generation or simulation mode. The graphical block diagram may include at least a first graphical block used solely in a first operating mode and a second graphical block used solely in a second operating mode. Each of the first and second graphical blocks includes a respective input receiving an input from a defined mode block. The defined mode block produces a mode output indicating a selection of one of the multiple operating modes. Other blocks of the graphical block diagram may be used in more than one operating mode. Depending on the value of the mode output, the graphical block diagram is interpreted according to the first or second operating mode. More than two operating modes are possible. The techniques described herein improve a model-based development platform.

Claims (42)

1. A system comprising:

one or more processors; and

one or more non-transitory computer-readable media including instructions which, when executed by the one or more processors, cause the one or more processors to perform one or more operations, the one or more operations comprising:

receiving data representing a graphical block diagram,

wherein the graphical block diagram comprises a plurality of interconnected graphical blocks, and

wherein the graphical blocks include a first graphical block associated with a first operating mode of the graphical block diagram, and a second graphical block associated with a second operating mode of the graphical block diagram;

receiving a selection of the first operating mode; and

responsive to receiving the selection of the first operating mode, executing the graphical block diagram according to the first operating mode, wherein executing the graphical block diagram according to the first operating mode comprises interpreting the graphical block diagram according to the first operating mode using the first graphical block and omitting the second graphical block with respect to the interpretation.

2. The system of claim 1 , wherein the first operating mode corresponds to a code generation mode for generating code for execution by a computer system based on a layout of the graphical block diagram.

3. The system of claim 2 , wherein the first graphical block includes at least one of a computer function or a variable.

4. The system of claim 3 , wherein interpreting the graphical block diagram comprises including at least one of the computer function or the variable in the generated code.

5. The system of claim 1 , wherein the first operating mode corresponds to a simulation mode for modeling a behavior of a system based on a layout of the graphical block diagram.

6. The system of claim 5 , wherein the first graphical block indicates a relationship between one or more inputs of at least a portion of the system and a corresponding output of the system.

7. The system of claim 1 , wherein the first operating mode corresponds to a validation mode for calibrating a modeled behavior of a system based on the layout of the graphical block diagram.

8. The system of claim 7 , wherein interpreting the graphical block diagram comprises performing a comparison indicated by the first graphical block.

9. The system of claim 8 , wherein performing the comparison indicated by the first graphical block comprises comparing the modeled behavior of the system and an actual behavior of the system.

10. The system of claim 7 , wherein interpreting the graphical block diagram comprises selectively enabling a path within the graphical block diagram indicated by the first graphical block.

11. The system of claim 1 , wherein the graphical blocks include a third graphical block associated with the first operating mode and the second operating mode, and

wherein executing the graphical block diagram according to the first operating mode comprises interpreting the graphical block diagram according to the first operating mode using the first graphical block and the third graphical block, and omitting the second graphical block with respect to the interpretation.

12. The system of claim 11 , the one or more operations further comprising:

receiving a selection of the second operating mode, and

responsive to receiving the selection of the second operating mode, executing the graphical block diagram according to the second operating mode, wherein executing the graphical block diagram according to the second operating mode comprises interpreting the graphical block diagram according to the second operating mode using the second graphical block and the third graphical block, and omitting the first graphical block with respect to the interpretation.

13. One or more non-transitory computer-readable media including instructions which, when executed by one or more processors, cause the one or more processors to perform one or more operations, the one or more operations comprising:

receiving data representing a graphical block diagram,

wherein the graphical block diagram comprises a plurality of interconnected graphical blocks, and

wherein the graphical blocks include a first graphical block associated with a first operating mode of the graphical block diagram, and a second graphical block associated with a second operating mode of the graphical block diagram;

receiving a selection of the first operating mode; and

responsive to receiving the selection of the first operating mode, executing the graphical block diagram according to the first operating mode, wherein executing the graphical block diagram according to the first operating mode comprises interpreting the graphical block diagram according to the first operating mode using the first graphical block and omitting the second graphical block with respect to the interpretation.

14. The one or more non-transitory computer-readable media of claim 13 , wherein the first operating mode corresponds to a code generation mode for generating code for execution by a computer system based on a layout of the graphical block diagram.

15. The one or more non-transitory computer-readable media of claim 14 , wherein the first graphical block includes at least one of a computer function or a variable.

16. The one or more non-transitory computer-readable media of claim 15 , wherein interpreting the graphical block diagram comprises including at least one of the computer function or the variable in the generated code.

17. The one or more non-transitory computer-readable media of claim 13 , wherein the first operating mode corresponds to a simulation mode for modeling a behavior of a system based on a layout of the graphical block diagram.

18. The one or more non-transitory computer-readable media of claim 17 , wherein the first graphical block indicates a relationship between one or more inputs of at least a portion of the system and a corresponding output of the system.

19. The one or more non-transitory computer-readable media of claim 13 , wherein the first operating mode corresponds to a validation mode for calibrating a modeled behavior of a system based on the layout of the graphical block diagram.

20. The one or more non-transitory computer-readable media of claim 19 , wherein interpreting the graphical block diagram comprises performing a comparison indicated by the first graphical block.

21. The one or more non-transitory computer-readable media of claim 20 , wherein performing the comparison indicated by the first graphical block comprises comparing the modeled behavior of the system and an actual behavior of the system.

22. The one or more non-transitory computer-readable media of claim 19 , wherein interpreting the graphical block diagram comprises selectively enabling a path within the graphical block diagram indicated by the first graphical block.

23. The one or more non-transitory computer-readable media of claim 13 , wherein the graphical blocks include a third graphical block associated with the first operating mode and the second operating mode, and

wherein executing the graphical block diagram according to the first operating mode comprises interpreting the graphical block diagram according to the first operating mode using the first graphical block and the third graphical block, and omitting the second graphical block with respect to the interpretation.

24. The one or more non-transitory computer-readable media of claim 23 , the one or more operations further comprising:

receiving a selection of the second operating mode, and

responsive to receiving the selection of the second operating mode, executing the graphical block diagram according to the second operating mode, wherein executing the graphical block diagram according to the second operating mode comprises interpreting the graphical block diagram according to the second operating mode using the second graphical block and the third graphical block, and omitting the first graphical block with respect to the interpretation.

Assignments (2)
MERGER Recorded Feb 4, 2026
From: ALTAIR ENGINEERING INC.
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 074348/0312 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2020
From: DARNELL, PETER; KOLK, RICHARD A.
To: ALTAIR ENGINEERING, INC.
Reel/Frame 054611/0756 →
Continuity (4)
Continuation 16435222 · Jun 7, 2019
Continuation 15400485 · Jan 6, 2017
Provisional Application 62277265 · Jan 11, 2016
Related Publication 20210089279A1 · Mar 25, 2021