Consistency in Dataflow Graphs

Edward A. Lee

IEEE Transactions on Parallel and Distributed Systems, vol. 2 no. 2, pp 223-225, April, 1991.


Analytical properties of programming languages with dataflow graph semantics arediscussed. It is shown that one of the most serious problems with these languages is thatsubtle inconsistencies between parts of the dataflow graph can be inadvertently created.These inconsistencies can lead to deadlock, or in the case of nonterminating programs, tounbounded memory requirements. Consistency is defined to mean that the same numberof tokens is consumed as produced on any arc, in the long run. A token-flow model isdeveloped for testing for inconsistency. The method is a generalization of consistencychecks for synchronous dataflow (SDF) graphs. The token-flow model is compared tosimilar tests applied to hybrid dynamical systems. It is argued that dataflow semanticsmake steady-state analysis possible, leading to a simpler method in most cases.