# US 2017/0286342 A1 · Determination of Timing Configurations for Program Dataflow Models

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

- Number: US 2017/0286342 A1
- Document ID: US20170286342A1
- Status: Published application
- Kind: A1
- Application number: 15/471,792
- Filed: 2017-03-28
- Published: 2017-10-05
- Earliest claimed: 2016-03-31
- Assignees: National Instruments Corporation
- Applicants: National Instruments Corporation
- Inventors: Patricia Derler; Kaushik Ravindran; Hugo A. Andrade; Ankita Prasad; Arkadeb Ghosal; Trung N. Tran; Rhishikesh Limaye; Jacob Kornerup
- Web page: https://patentgrep.com/patent/US20170286342A1

## CPC

- G06F 9/5011: {the resources being hardware resources other than CPUs, Servers and Terminals}
- G06F 9/5066: {Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs (mappping at compile time, see G06F8/451)}
- G06F 13/366: using a centralised polling arbiter
- G06F 13/4068: {Electrical coupling}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method for determining timing constraints in dataflow models is disclosed. The method includes receiving node information specifying a plurality of dataflow nodes, as well as coupling between various ones of the dataflow nodes. The method further comprising receiving timing information specifying timing constraints for at least some of the dataflow nodes. Based on the node information, the couplings between the nodes, and the timing information, a timeline dependency graph (TDG). The timeline dependency graph illustrates a timeline, mappings between nodes with side effects to firing times of those nodes on the timeline, and dependencies between nodes.

## Claims

### Claim 1

A method, comprising:
specifying, using a computer system, node information for a plurality of dataflow nodes, wherein each of the nodes is a program function that consumes data on at least one input and produces data on at least one output, and wherein the node information includes couplings between particular ones of the nodes;
specifying, using the computer system, timing constraints for one or more of the nodes;
generating, using the computer system, a timeline dependency graph (TDG) based on the node information, couplings between particular ones of the nodes, and the timing constraints, wherein the TDG includes a timeline, mappings between particular ones of the nodes that have side effects, on the timeline, to their respective firing times, and dependencies between nodes; and
displaying the TDG on a display unit coupled to the computer system.

### Claim 2 (depends on 1)

The method as recited in claim 1, wherein the side effects for particular ones of the nodes comprise interaction with a physical environment via input/output (I/O) through those nodes.

### Claim 3 (depends on 1)

The method as recited in claim 1, wherein the node information specifies consumption rates and production rates for multiple ones of the plurality of data flow nodes within a multi-rate dataflow program.

### Claim 4 (depends on 1)

The method as recited in claim 1, wherein at least a portion of the timing information specifies timing constraints using absolute time.

### Claim 5 (depends on 1)

The method as recited in claim 1, wherein at least a portion of the timing information specifies timing constraints using period information and offset information.

### Claim 6 (depends on 1)

The method as recited in claim 1, wherein at least a portion of the timing information specifies timing constraints using event-trigger information.

### Claim 7 (depends on 1)

The method as recited in claim 1, wherein the dependencies include dependencies between nodes having side effects and nodes having no side effects.

### Claim 8 (depends on 1)

The method as recited in claim 1, wherein the TDG indicates whether a data flow program comprising the plurality of dataflow nodes is valid based on the timing constraints.

### Claim 9 (depends on 1)

The method as recited in claim 1, wherein the TDG is configured to indicate the consistency, deadlock, latency bounds on paths, and period information of each node.

### Claim 10 (depends on 1)

The method as recited in claim 1, further comprising determining all possible interleavings for a data flow program between event triggered and time-triggered nodes.

### Claim 11

A system comprising:
at least one processor;
a display unit; and
a storage device storing a multi-rate dataflow program and a plurality of instructions that, when executed by the at least one processor, cause the system to:
specify node information for a plurality of dataflow nodes of the multi-rate dataflow program, wherein each of the nodes is a program function that consumes data on at least one input and produces data on at least one output, and wherein the node information includes couplings between particular ones of the nodes;
specify, using the computer system, timing constraints for one or more of the nodes;
generate, using the computer system, a timeline dependency graph (TDG) based on the node information, couplings between particular ones of the nodes, and the timing constraints, wherein the TDG includes a timeline, mappings between particular ones of the nodes that have side effects, on the timeline, to their respective firing times, and dependencies between nodes; and
display, on the display unit, the TDG.

### Claim 12 (depends on 11)

The system as recited in claim 11, wherein the side effects for particular ones of the nodes comprise interaction with a physical environment via input/output (I/O) through those nodes.

### Claim 13 (depends on 11)

The system as recited in claim 11, wherein the node information specifies consumption rates and production rates for multiple ones of the plurality of data flow nodes within the multi-rate dataflow program.

### Claim 14 (depends on 11)

The system as recited in claim 11, wherein the node information specifies one or more of the following:
timing constraints using absolute time;
timing constraints using period information and offset information;
timing constraints using event-trigger information.

### Claim 15 (depends on 11)

The system as recited in claim 11, wherein the dependencies include dependencies between nodes having side effects and nodes having no side effects.

### Claim 16 (depends on 11)

The system as recited in claim 11, wherein the storage device further includes instructions that, when executed by the at least one processor, determine whether a data flow program is schedulable on a hardware platform based on the timing information, a scheduling policy, and worst-case execution times for the nodes, and includes further instructions, that when executed by the at least one processor responsive to determining that the dataflow program is not schedulable, perform at least one of the following:
inserting one or more downsample or upsample nodes on a failing path;
adjusting initial timing tokens;
adjusting period on one or more nodes;
adjusting one or more latency parameters; or
configuring one or more phase delay parameters.

### Claim 17 (depends on 11)

The system as recited in claim 11, wherein the timing information further includes a synchronization error for synchronization between the nodes.

### Claim 18

A non-transitory computer readable medium storing instructions that, when executed by a computer system, cause the computer system to perform the following:
specify node information for a plurality of dataflow nodes of the multi-rate dataflow program, wherein each of the nodes is a program function that consumes data on at least one input and produces data on at least one output, and wherein the node information includes couplings between particular ones of the nodes;
specify, using the computer system, timing constraints for one or more of the nodes;
generate, using the computer system, a timeline dependency graph (TDG) based on the node information, couplings between particular ones of the nodes, and the timing constraints, wherein the TDG includes a timeline, mappings between particular ones of the nodes that have side effects, on the timeline, to their respective firing times, and dependencies between nodes; and
display the TDG on a display unit coupled to the computer system.

### Claim 19 (depends on 18)

The computer readable medium as recited in claim 18, wherein the side effects for particular ones of the nodes comprise interaction with a physical environment via input/output (I/O) through those nodes, and wherein the node information specifies consumption rates and production rates for multiple ones of the plurality of data flow nodes within a multi-rate dataflow program.

### Claim 20 (depends on 18)

The computer readable medium as recited in claim 18, wherein the computer readable medium includes instructions that, when executed by the at least one processor, determine whether a data flow program is schedulable on a hardware platform based on the timing information, a scheduling policy, and worst-case execution times for the nodes, and includes further instructions, that when executed by the at least one processor responsive to determining that the dataflow program is not schedulable, perform at least one of the following:
inserting one or more downsample or upsample nodes on a failing path;
adjusting initial timing tokens;
adjusting period on one or more nodes;
adjusting one or more latency parameters; or
configuring one or more phase delay parameters.
