This Article 
 Bibliographic References 
 Add to: 
Consistency in Dataflow Graphs
April 1991 (vol. 2 no. 2)
pp. 223-235

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.

[1] Arvind and K. P. Gostelow, "The U-Interpreter,"IEEE Comput. Mag., vol. 15, no. 2, Feb. 1982.
[2] Arvind and J.D. Brock, "Resource managers in functional programming,"J. Parallel Distributed Comput., vol. 1, pp. 5-21, 1984.
[3] Arvind and D. E. Culler, "Dataflow architectures," Computation Structures Group Memo TM-294, 1986, Lab. for Comput. Sci., MIT, 545 Technology Square, Cambridge, MA 02139.
[4] Arvind, R. S. Nikhil, and K. K. Pingali, "ID nouveau reference manual," Computation Structures Group Memo, Apr. 24, 1987, Massachusetts Institute of Technology, 545 Technology Square. Cambridge, MA 02139.
[5] Arvind and R. S. Nikhil, "Executing a program on the MIT Tagged-Token Dataflow Architecture," Computation Structures Group Memo 271, Lab. for Comput. Sci., 545 Technology Square, Cambridge, MA 02139, June 20, 1988.
[6] R.G. Babb, "Parallel processing with large grain data flow techniques,"IEEE Comput. Mag., vol. 17, no. 7, July 1984.
[7] A. Benveniste, B. Le Goff, and P. Le Guernic, "Hybrid dynamical systems theory and the language 'SIGNAL'," Res. Rep. 838, Institut National de Recherche en Informatique et en Automatique (INRIA), Domain de Voluceau, Rocquencourt, B.P. 105, 78153 Le Chesnay Cedex, France, Apr. 1988.
[8] A. Benveniste and P. Le Guernic, "Hybrid dynamical systems theory and the SIGANL language,"IEEE Trans. Automat. Contr., pp. 535-546, May 1990.
[9] A. Benveniste and P. Le Guernic, "A denotational theory of synchronous reactive systems,"Inform. Computat., 1990.
[10] A. L. Davis, "Data driven nets: A maximally concurrent, procedural, parallel process representation for distributed control systems," Tech. Rep. UUCS-78-108, Dep. Comput. Sci., Univ. of Utah, Salt Lake City, UT, 1978.
[11] A. L. Davis and R. M. Keller, "Data flow program graphs,"IEEE Comput. Mag., vol. 15, no. 2, Feb. 1982.
[12] J. B. Dennis, "First version data flow procedure language," Tech. Memo MAC TM61, MIT Laboratory for Computer Science, May 1975.
[13] J. B. Dennis, "Data flow supercomputers,"IEEE Comput. Mag., vol. 13, no. 11, Nov. 1980.
[14] P. N. Hilfinger, "Silage Reference Manual. DRAFT Release 2.0.," Computer Science Division, EECS Dep., UC Berkeley, Berkeley, CA 94 720, July 8, 1989.
[15] P. R. Kosinski, "A straightforward denotational semantics for nondeterminate data flow programs," inConf Record 5th Annu. ACM Symp. Principles of Programming Languages, Tuscon, AZ, 1978.
[16] S.Y. Kung,VLSI Array Processors, Prentice Hall, Englewood Cliffs, N.J. 1988.
[17] E. A. Lee and D. G. Messerschmitt, "Static scheduling of synchronous data flow programs for digital signal processing,"IEEE Trans. Comput., vol. C-36, no. 1, pp. 24-35, Jan. 1987.
[18] E.A. Lee and D. G. Messerschmitt, "Synchronous data flow"Proc. IEEE, Sept. 1987.
[19] E.A. Lee, "Static scheduling of dataflow programs for DSP," inDataflow Computation, L. Bic and J.-L. Gaudiot Eds. Englewood Cliffs, NJ: Prentice-Hall, 1990.
[20] E. A. Lee, W.-H. Ho, E. Goei, J. Bier, and S. Bhattacharyya, "Gabriel: A design environment for DSP,"IEEE Trans. Acoust., Speech, Signal Processing, vol. 37, Nov. 1989.
[21] E. A. Lee and J. C. Bier, "Architectures for statically scheduled dataflow,"J. Parallel and Distrib. Comput., vol. 10. pp. 333-348, 1990.
[22] P. Le Guernic and T. Gautier, "Data-flow to von Neumann: the SIGNAL approach," inDataflow Computation. Englewood Cliffs, NJ: Prentice-Hall, 1990.
[23] J.R. McGraw, "The VAL Language: Description and Analysis,"ACM Trans. Programming Languages and Systems, 1982, pp. 44-82.
[24] R. S. Nikhil, "ID Reference Manual," Computation Structures Group Memo 284, Massachusetts Institute of Technology, 545 Technology Square, Cambridge, MA 02139, Aug. 29, 1988.
[25] K. Pingali and Arvind, "Efficient demand-driven evaluation, part 1,"ACM Trans. Programming Language Syst., vol. 7, pp. 311-333, Apr. 1985.
[26] D.A. Turner, "The semantic elegance of applicative languages," inProc. ACM Conf. Functional Programming Languages Comput. Architecture, Portsmouth, NH, 1981, pp. 85-92.
[27] K.-S. Weng, "Stream-oriented computation in recursive data flow schemas," Lab. for Comput. Sci. (TM-68), MIT, Cambridge, MA 02139, Oct. 1975.

Index Terms:
Index Termssynchronous dataflow graphs; dataflow graphs; programming languages; dataflow graphsemantics; dataflow graph; deadlock; consistency checks; token-flow model; graphtheory; programming theory
E.A. Lee, "Consistency in Dataflow Graphs," IEEE Transactions on Parallel and Distributed Systems, vol. 2, no. 2, pp. 223-235, April 1991, doi:10.1109/71.89067
Usage of this product signifies your acceptance of the Terms of Use.