Synchronous Dataflow

Synchronous dataflow (SDF) is a model of computation that allows design-time analysis of multiprocessor applications. Nodes in an SDF graph (SDFG), called actors, typically correspond to functionality, code, that must be executed, or to other actions performed by the system being modeled. Channels show data dependencies (data edges) or execution order (sequence edges). Every channel can carry an infinite number of tokens between two actors, and contain initial tokens (present at the edges at start time). Each actor in the model has a firing rule which specifies the number of tokens that must be present on each of its inputs before it can fire. A constant number of tokens is produced to and consumed from all edges in first-in-first-out order by each firing.

The figure shows a simple SDFG consisting of three actors and two channels. Actor B can fire (execute) as soon as three tokens are available on the channel alpha. Its firing results in the consumption of these three tokens from alpha and the production of one token on the channel beta.