IP Library Granted Patent US 10,809,981
Granted Patent B2
US 10,809,981 · App. 16/435,222 · Granted Oct 20, 2020

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 10,809,981
App. No.
16/435,222
Granted
Oct 20, 2020
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 (53)

1. A method comprising:

receiving, at a computing device, 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 block associated with a first operating mode of the graphical block diagram, a second block associated with a second operating mode of the graphical block diagram, and a third block associated with the first operating mode and the second operating mode;

receiving, at the computing device, an indication of a selected operating mode;

responsive to receiving the indication of the selected operating mode, executing the graphical block diagram according to the selected operating mode,

wherein executing the graphical block diagram according to the selected operating mode comprises:

one of:

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, or

interpreting the graphical block diagram according to the second operating mode using the second graphical block and omitting the first graphical block with respect to the interpretation, and

interpreting the graphical block diagram according to the first operating mode or the second operating mode using the third graphical block.

2. The method of claim 1 , wherein at least some of the graphical blocks define respective computer functions.

3. The method of claim 1 , wherein interpreting the graphical block diagram according to the first operating mode or the second operating mode using the third graphical block comprises:

generating, with respect to the third graphical block, a first output according to the first operating mode, or

generating, with respect to the third graphical block, a second output according to the second operating mode, wherein the first output is different from the second output.

4. The method of claim 1 , wherein the first operating mode corresponds to a code generation mode, and wherein according to the first operating mode, the computing device generates code for execution based on a layout of the at least some of the plurality of graphical blocks of the graphical block diagram.

5. The method of claim 1 , wherein the second operating mode corresponds to a simulation mode, and wherein according to the second operating mode, the computing device simulates a response of a system based on a layout of the at least some of the plurality of graphical blocks of the graphical block diagram.

6. A system comprising:

one or more processors; and

one or more non-transitory computer-readable media including one or more sequences of instructions which, when executed by the one or more processors, causes:

receiving, at a computing device, 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 block associated with a first operating mode of the graphical block diagram, a second block associated with a second operating mode of the graphical block diagram, and a third block associated with the first operating mode and the second operating mode;

receiving, at the computing device, an indication of a selected operating mode;

responsive to receiving the indication of the selected operating mode, executing the graphical block diagram according to the selected operating mode,

wherein executing the graphical block diagram according to the selected operating mode comprises:

one of:

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, or

interpreting the graphical block diagram according to the second operating mode using the second graphical block and omitting the first graphical block with respect to the interpretation, and

interpreting the graphical block diagram according to the first operating mode or the second operating mode using the third graphical block.

7. The system of claim 6 , wherein at least some of the graphical blocks define respective computer functions.

8. The system of claim 6 , wherein interpreting the graphical block diagram according to the first operating mode or the second operating mode using the third graphical block comprises:

generating, with respect to the third graphical block, a first output according to the first operating mode, or

generating, with respect to the third graphical block, a second output according to the second operating mode, wherein the first output is different from the second output.

9. The system of claim 6 , wherein the first operating mode corresponds to a code generation mode, and wherein according to the first operating mode, the computing device generates code for execution based on a layout of the at least some of the plurality of graphical blocks of the graphical block diagram.

10. The system of claim 6 , wherein the second operating mode corresponds to a simulation mode, and wherein according to the second operating mode, the computing device simulates a response of a system based on a layout of the at least some of the plurality of graphical blocks of the graphical block diagram.

11. One or more non-transitory computer-readable media including one or more sequences of instructions which, when executed by one or more processors, causes:

receiving, at a computing device, 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 block associated with a first operating mode of the graphical block diagram, a second block associated with a second operating mode of the graphical block diagram, and a third block associated with the first operating mode and the second operating mode;

receiving, at the computing device, an indication of a selected operating mode;

responsive to receiving the indication of the selected operating mode, executing the graphical block diagram according to the selected operating mode,

wherein executing the graphical block diagram according to the selected operating mode comprises:

one of:

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, or

interpreting the graphical block diagram according to the second operating mode using the second graphical block and omitting the first graphical block with respect to the interpretation, and

interpreting the graphical block diagram according to the first operating mode or the second operating mode using the third graphical block.

12. The one or more non-transitory computer-readable media of claim 11 , wherein at least some of the graphical blocks define respective computer functions.

13. The one or more non-transitory computer-readable media of claim 11 , wherein interpreting the graphical block diagram according to the first operating mode or the second operating mode using the third graphical block comprises:

generating, with respect to the third graphical block, a first output according to the first operating mode, or

generating, with respect to the third graphical block, a second output according to the second operating mode, wherein the first output is different from the second output.

14. The one or more non-transitory computer-readable media of claim 11 , wherein the first operating mode corresponds to a code generation mode, and wherein according to the first operating mode, the computing device generates code for execution based on a layout of the at least some of the plurality of graphical blocks of the graphical block diagram.

15. The one or more non-transitory computer-readable media of claim 11 , wherein the second operating mode corresponds to a simulation mode, and wherein according to the second operating mode, the computing device simulates a response of a system based on a layout of the at least some of the plurality of graphical blocks of the graphical block diagram.

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 Jun 10, 2019
From: DARNELL, PETER; KOLK, RICHARD A.
To: ALTAIR ENGINEERING, INC.
Reel/Frame 049418/0625 →
Continuity (3)
Continuation 15400485 · Jan 6, 2017
Provisional Application 62277265 · Jan 11, 2016
Related Publication 20190294420A1 · Sep 26, 2019