# US 2014/0208289 A1 · Systems and methods for modeling execution behavior

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0208289 A1
- Document ID: US20140208289A1
- Status: Published application
- Kind: A1
- Application number: 14/222,028
- Filed: 2014-03-21
- Published: 2014-07-24
- Earliest claimed: 2005-06-28
- Assignees: The MathWorks, Inc.
- Applicants: The MathWorks, Inc.
- Inventors: Matthew J. ENGLEHART
- Web page: https://patentgrep.com/patent/US20140208289A1

## CPC

- G06F 8/34: Graphical or visual programming
- G06F 8/10: Requirements analysis; Specification techniques
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A mechanism in a block diagram environment allows the modeling of an execution behavior of a block in a block diagram, where a user selects the execution behavior from a plurality of functions related to the block diagram and where the execution behavior of the block is performed when at least one model variable associated with the block satisfies a user-specified condition is disclosed. States and other internal data in the designated block are initialized upon the satisfaction of the user-specified condition. The illustrative embodiment of the present invention also allows the internal data to be reset upon the ending of the event, such as the modeled introduction or withdrawal of power. The execution behavior may be suspended and resumed multiple times during the simulation in response to multiple occurrences of the specified event. The present invention also allows for selected data to be exempt from the reset process so that the selected data is non-volatile.

## Claims

### Claim at position 1

1-45. (canceled)

### Claim 46

A method comprising:
interacting with a block of a model,
the interacting being performed by a computing device;
storing information regarding a state of the block,
the storing being performed by the computing device;
removing first power to the block,
the first power being applied to the block at a first time, and
the removing being performed by the computing device;
suspending, based on removing the first power to the block, simulation of a behavior of the block,
the suspending being performed by the computing device;
preserving, based on the suspending the simulation of the behavior of the block, the state of the block,
the preserving being performed by the computing device;
applying second power to the block,
the second power being applied to the block at a second time,
the second time occurring after the first time, and
the applying being performed by the computing device;
resuming, based on applying the second power, the simulation of the behavior of the block,
the resuming being performed by the computing device; and
performing, based on resuming the simulation of the behavior of the block, an operation associated with the block,
the performing the operation being performed by the computing device.

### Claim 47 (depends on 46)

The method of claim 46, further comprising:
receiving first information from a user,
the first information including:
second information associated with a condition to be satisfied before simulating the behavior of the block;
determining that the condition is satisfied; and
simulating, based on determining that the condition is satisfied, the behavior of the block.

### Claim 48 (depends on 46)

The method of claim 46, where, when preserving the state of the block, the method includes:
preserving a plurality of states of the block.

### Claim 49 (depends on 48)

The method of claim 48, where the plurality of states include at least one volatile state and at least one nonvolatile state.

### Claim 50 (depends on 46)

The method of claim 46, where, when resuming the simulation of the behavior of the block, the method includes:
initializing one or more internal states of the block.

### Claim 51 (depends on 46)

The method of claim 46, further comprising:
simulating, based on applying the first power, the behavior of the block.

### Claim 52 (depends on 46)

The method of claim 46, further comprising:
generating code for the block.

### Claim 53

A non-transitory computer-readable medium storing instructions, the instructions comprising:
one or more instructions which, when executed by a processor, cause the processor to:
interact with a block of a model;
store information regarding a state of the block;
remove first power to the block,
the first power being applied to the block at a first time;
suspend, based on removing the first power to the block, simulation of a behavior of the block;
preserve, based on the suspending the simulation of the behavior of the block, the state of the block;
apply second power to the block,
the second power being applied to the block at a second time, and
the second time occurring after the first time;
resume, based on applying the second power, the simulation of the behavior of the block; and
perform, based on resuming the simulation of the behavior of the block, an operation associated with the block.

### Claim 54 (depends on 53)

The medium of claim 53, where the instructions further include:
one or more instructions to receive first information from a user,
the first information including:
second information associated with a condition to be satisfied before simulating the behavior of the block;
one or more instructions to determine that the condition is satisfied; and
one or more instructions to simulate, based on determining that the condition is satisfied, the behavior of the block.

### Claim 55 (depends on 53)

The medium of claim 53, where the one or more instructions to preserve the state of the block include:
one or more instructions to preserve a plurality of states of the block.

### Claim 56 (depends on 55)

The medium of claim 55, where the plurality of states include at least one volatile state and at least one nonvolatile state.

### Claim 57 (depends on 53)

The medium of claim 53, where the one or more instructions to resume the simulation of the behavior of the block include:
one or more instructions to initialize one or more internal states of the block.

### Claim 58 (depends on 53)

The medium of claim 53, where the instructions further include:
one or more instructions to simulate, based on applying the first power, the behavior of the block.

### Claim 59 (depends on 53)

The medium of claim 53, where the instructions further include:
one or more instructions to generate code for the block.

### Claim 60

A non-transitory computer-readable medium storing instructions, the instructions comprising:
one or more instructions which, when executed by a processor, cause the processor to:
interact with code,
the code representing a functionality of a block of a model;
store information regarding a state of the block;
remove first power to the block,
the first power being applied to the block at a first time;
suspend, based on removing the first power to the block, simulation of a behavior of the block;
preserve, based on the suspending the simulation of the behavior of the block, the state of the block;
apply second power to the block,
the second power being applied to the block at a second time, and
the second time occurring after the first time;
resume, based on applying the second power, the simulation of the behavior of the block; and
perform, based on resuming the simulation of the behavior of the block, an operation associated with the block.

### Claim 61 (depends on 60)

The medium of claim 60, where the instructions further include:
one or more instructions to receive first information from a user,
the first information including:
second information associated with a condition to be satisfied before simulating the behavior of the block;
one or more instructions to determine that the condition is satisfied; and
one or more instructions to simulate, based on determining that the condition is satisfied, the behavior of the block.

### Claim 62 (depends on 60)

The medium of claim 60, where the one or more instructions to preserve the state of the block include:
one or more instructions to preserve a plurality of states of the block,
the plurality of states including at least one volatile state and at least one nonvolatile state.

### Claim 63 (depends on 60)

The medium of claim 60, where the one or more instructions to resume the simulation of the behavior of the block include:
one or more instructions to initialize one or more internal states of the block.

### Claim 64 (depends on 60)

The medium of claim 60, where the instructions further include:
one or more instructions to simulate, based on applying the first power, the behavior of the block.

### Claim 65 (depends on 60)

The medium of claim 60, where the instructions further include:
one or more instructions to generate the code.
