{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,20]],"date-time":"2026-05-20T07:10:33Z","timestamp":1779261033513,"version":"3.51.4"},"reference-count":96,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2004,3,1]],"date-time":"2004-03-01T00:00:00Z","timestamp":1078099200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Comput. Surv."],"published-print":{"date-parts":[[2004,3]]},"abstract":"<jats:p>Many developments have taken place within dataflow programming languages in the past decade. In particular, there has been a great deal of activity and advancement in the field of dataflow visual programming languages. The motivation for this article is to review the content of these recent developments and how they came about. It is supported by an initial review of dataflow programming in the 1970s and 1980s that led to current topics of research. It then discusses how dataflow programming evolved toward a hybrid von Neumann dataflow formulation, and adopted a more coarse-grained approach. Recent trends toward dataflow visual programming languages are then discussed with reference to key graphical dataflow languages and their development environments. Finally, the article details four key open topics in dataflow programming languages.<\/jats:p>","DOI":"10.1145\/1013208.1013209","type":"journal-article","created":{"date-parts":[[2004,10,7]],"date-time":"2004-10-07T17:38:56Z","timestamp":1097170736000},"page":"1-34","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":350,"title":["Advances in dataflow programming languages"],"prefix":"10.1145","volume":"36","author":[{"given":"Wesley M.","family":"Johnston","sequence":"first","affiliation":[{"name":"University of Ulster, Newtownabbey, Northern Ireland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"J. R. Paul","family":"Hanna","sequence":"additional","affiliation":[{"name":"University of Ulster, Newtownabbey, Northern Ireland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Richard J.","family":"Millar","sequence":"additional","affiliation":[{"name":"University of Ulster, Newtownabbey, Northern Ireland"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2004,3]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"crossref","first-page":"15","DOI":"10.1109\/MC.1982.1653938","article-title":"Data flow languages","volume":"15","author":"Ackerman W.","year":"1982","journal-title":"IEEE Comput."},{"key":"e_1_2_1_2_1","volume-title":"Tech Rep. 218. MIT","author":"Ackerman W. B.","year":"1979"},{"key":"e_1_2_1_3_1","first-page":"793","article-title":"Valid, a high-level functional programming language for data flow machines","volume":"32","author":"Amamiya M.","year":"1984","journal-title":"Rev. Electric. Comm. Lab."},{"key":"e_1_2_1_4_1","volume-title":"Tech. Rep. Laboratory for Computer Science, MIT","author":"Arvind","year":"1983"},{"key":"e_1_2_1_5_1","doi-asserted-by":"crossref","first-page":"225","DOI":"10.1146\/annurev.cs.01.060186.001301","article-title":"Dataflow architectures","volume":"1","author":"Arvind","year":"1986","journal-title":"Ann. Rev. Comput. Sci."},{"key":"e_1_2_1_6_1","first-page":"10","article-title":"Assessing the benefits of fine-grain parallelism in dataflow programs","volume":"2","author":"Arvind","year":"1988","journal-title":"Int. J. Supercomput. Appl."},{"key":"e_1_2_1_7_1","volume-title":"Proceedings of the IFIP WG2.2 Conference on the Formal Description of Programming Lanugages (St","author":"Arvind"},{"key":"e_1_2_1_8_1","volume-title":"Proceedings of the Sixth Symposium on Operating System Principles, 159--169","author":"Arvind"},{"key":"e_1_2_1_9_1","volume-title":"Tech. Rep. TR 114a","author":"Arvind","year":"1978"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/69558.69562"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1109\/12.48862"},{"key":"e_1_2_1_12_1","volume-title":"I-structures: An efficient data type for functional languages. Tech. Memo 178. Laboratory for Computer Science, MIT","author":"Arvind","year":"1980"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/359636.359715"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/947727.947728"},{"key":"e_1_2_1_15_1","volume-title":"Proceedings of the IEEE Conference on Visual Languages (VL'97","author":"Auguston M."},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/359576.359579"},{"key":"e_1_2_1_17_1","volume-title":"Proceedings of the 2nd ICPC (Sept.). 419--424","author":"Barahona P."},{"key":"e_1_2_1_18_1","unstructured":"Baroth E. and Hartsough C. 1995. Visual programming in the real world. In Visual Object-Oriented Programming: Concepts and Environments. Prentice-Hall Upper Saddle River NJ 21--42.   Baroth E. and Hartsough C. 1995. Visual programming in the real world. In Visual Object-Oriented Programming: Concepts and Environments. Prentice-Hall Upper Saddle River NJ 21--42."},{"key":"e_1_2_1_19_1","volume-title":"Proceedings of the Workshop on Advanced Visual Interfaces. 243--245","author":"Bernini M.","year":"1923"},{"key":"e_1_2_1_20_1","doi-asserted-by":"crossref","volume-title":"Software Synthesis from Dataflow Graphs","author":"Bhattacharyya S. S.","DOI":"10.1007\/978-1-4613-1389-2"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1016\/0743-7315(90)90067-Y"},{"key":"e_1_2_1_22_1","unstructured":"Bic L. Roy J. M. A. and Nagel M. 1995. Exploiting iteration-level parallelism in dataflow programs. In Advanced Topics in Dataflow Computing and Multithreading. IEEE Computer Society Press Los Alamitos CA 167--186.   Bic L. Roy J. M. A. and Nagel M. 1995. Exploiting iteration-level parallelism in dataflow programs. In Advanced Topics in Dataflow Computing and Multithreading. IEEE Computer Society Press Los Alamitos CA 167--186."},{"key":"e_1_2_1_23_1","volume-title":"Proceedings of the Working Conference on Massively Parallel Programming Models","author":"Bohm W."},{"key":"e_1_2_1_24_1","unstructured":"Buck J. and Lee E. A. 1995. The token flow model. In Advanced Topics in Dataflow Computing and Multithreading. IEEE Computer Society Press Los Alamitos CA 267--290.  Buck J. and Lee E. A. 1995. The token flow model. In Advanced Topics in Dataflow Computing and Multithreading. IEEE Computer Society Press Los Alamitos CA 267--290."},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.366157"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/953428.953431"},{"key":"e_1_2_1_27_1","volume-title":"Procedings of the IEEE Workshop on Visual Languages. 150--156","author":"Cox P."},{"key":"e_1_2_1_28_1","volume-title":"Proceedings of the IEEE Symposium on Visual Languages. 296--303","author":"Cox P."},{"key":"e_1_2_1_29_1","volume-title":"Advanced Topics in Dataflow Computing and Multithreading","author":"Culler D. E."},{"key":"e_1_2_1_31_1","volume-title":"Proceedings of the 5th Annual Symposion on Computer Architecture","author":"Davis A. L.","year":"1978"},{"key":"e_1_2_1_32_1","volume-title":"Proceedings of the 1st European Conference on Parallel and Distributed Systems","author":"Davis A. L.","year":"1979"},{"key":"e_1_2_1_33_1","doi-asserted-by":"crossref","first-page":"26","DOI":"10.1109\/MC.1982.1653939","article-title":"Data flow program graphs","volume":"15","author":"Davis A. L.","year":"1982","journal-title":"IEEE Comput."},{"key":"e_1_2_1_34_1","volume-title":"Digest of Papers Compcon Spring","author":"Davis A. L.","year":"1981"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/947941.947942"},{"key":"e_1_2_1_36_1","series-title":"Lecture Notes in Computer Science","volume-title":"A Language Design for Structured Concurrency. The Design and Implementation of Programming Languages","author":"Dennis J."},{"key":"e_1_2_1_37_1","volume-title":"Proceedings of the Symposium on Programming (Institut de Programmation","author":"Dennis J. B.","year":"1974"},{"key":"e_1_2_1_38_1","doi-asserted-by":"crossref","first-page":"11","DOI":"10.1109\/MC.1980.1653418","article-title":"Data flow supercomputers","volume":"13","author":"Dennis J. B.","year":"1980","journal-title":"IEEE Comput."},{"key":"e_1_2_1_39_1","volume-title":"Proceedings of the Second Annual Symposium on Computer Architecture. 126--132","author":"Dennis J. B.","year":"2089"},{"key":"e_1_2_1_40_1","doi-asserted-by":"crossref","first-page":"58","DOI":"10.1109\/MC.1982.1653942","article-title":"A second opinion on data-flow machines and languages","volume":"15","author":"Gajski D. D.","year":"1982","journal-title":"IEEE Comput."},{"key":"e_1_2_1_41_1","volume-title":"Proceedings of the Second Workshop on Languages and Compilers for Parallel Computing.","author":"Gao G. R."},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/129630.129635"},{"key":"e_1_2_1_43_1","volume-title":"Proceedings of the International Conference on Parallel Processing","author":"Gelly O.","year":"1976"},{"key":"e_1_2_1_44_1","unstructured":"Ghittori E. Mosconi M. and Porta M. 1998. Designing and testing new programming constructs in a data flow VL. Tech. Rep. Universit\u00e0 di Pavia Pavia Italy.  Ghittori E. Mosconi M. and Porta M. 1998. Designing and testing new programming constructs in a data flow VL. Tech. Rep. Universit\u00e0 di Pavia Pavia Italy."},{"key":"e_1_2_1_45_1","volume-title":"Master's thesis","author":"Glauert J. R. W."},{"key":"e_1_2_1_46_1","doi-asserted-by":"crossref","first-page":"131","DOI":"10.1006\/jvlc.1996.0009","article-title":"Usability analysis of visual programming environments: A \"Cognitive Dimensions","volume":"7","author":"Green T. R. G.","year":"1996","journal-title":"Framework. J. Vis. Lang. Comput."},{"key":"e_1_2_1_47_1","volume-title":"Proceedings of the IBM-Europe Institute on Parallel Processing (Aug.","author":"Gurd J. R."},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/947864.947867"},{"key":"e_1_2_1_49_1","volume-title":"NL: A general purpose visual dataflow language, Tech. Rep","author":"Harvey N.","year":"1993"},{"key":"e_1_2_1_50_1","first-page":"2","article-title":"NL: A parallel programming visual language","volume":"28","author":"Harvey N.","year":"1996","journal-title":"Australian Comput. J."},{"key":"e_1_2_1_51_1","volume-title":"Cutting Your Test Development Time with HP VEE","author":"Helsel R."},{"key":"e_1_2_1_52_1","doi-asserted-by":"crossref","first-page":"69","DOI":"10.1016\/1045-926X(92)90034-J","article-title":"Visual languages and computing survey: Data flow visual programming languages","volume":"3","author":"Hils D. D.","year":"1992","journal-title":"J. Vis. Lang. Comput."},{"key":"e_1_2_1_53_1","volume-title":"Proceedings of the Conference on Parallel Architectures and Languages (PARLE), 323--340","author":"Hurson A. R."},{"key":"e_1_2_1_54_1","volume-title":"Proceedings of the ICSA-15","author":"Iannucci R. A.","year":"1988"},{"key":"e_1_2_1_55_1","unstructured":"Iwata M. and Terada H. 1995. Multilateral diagrammatical specification environment based on data-driven paradigm. In Advanced Topics in Dataflow Computing and Multithreading. IEEE Computer Society Press Los Alamitos CA 103--112.  Iwata M. and Terada H. 1995. Multilateral diagrammatical specification environment based on data-driven paradigm. In Advanced Topics in Dataflow Computing and Multithreading. IEEE Computer Society Press Los Alamitos CA 103--112."},{"key":"e_1_2_1_56_1","volume-title":"Coarse-Grain Dataflow Programming of Conventional Parallel Computers. In Advanced Topics in Dataflow Computing and Multithreading. IEEE Computer Society Press","author":"Jagannathan R.","year":"1995"},{"key":"e_1_2_1_57_1","volume-title":"Proceedings of the IFIP Congress 74","author":"Kahn G.","year":"1974"},{"key":"e_1_2_1_58_1","first-page":"1390","article-title":"Properties of a model for parallel computations: Determinacy, termination, queueing","volume":"14","author":"Karp R.","year":"1966","journal-title":"SIAM J."},{"key":"e_1_2_1_60_1","volume-title":"Digest of Papers Compcon Spring","author":"Keller R. M.","year":"1981"},{"key":"e_1_2_1_61_1","volume-title":"Tech. Rep. WUCS-86-4. Department of Computer Science","author":"Kimura T.","year":"1986"},{"key":"e_1_2_1_62_1","doi-asserted-by":"crossref","first-page":"175","DOI":"10.1006\/jvlc.1996.0034","article-title":"Criteria for evaluation of visual programming languages","volume":"8","author":"Kiper J.","year":"1997","journal-title":"J. Vis. Lang. Comput."},{"key":"e_1_2_1_63_1","volume-title":"Proceedings of the 5th ACM Symposium on Principles on Programming Languages. ACM Press New York, NY. 10","author":"Kosinski P.","year":"1978"},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1145\/390014.808289"},{"key":"e_1_2_1_65_1","volume-title":"Lab View User Manual. National Instruments","author":"LabView 0."},{"key":"e_1_2_1_66_1","doi-asserted-by":"crossref","first-page":"285","DOI":"10.1016\/S0065-2458(08)60407-6","article-title":"Issues in dataflow computing","volume":"37","author":"Lee B.","year":"1993","journal-title":"Adv. in Comput."},{"key":"e_1_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.303620"},{"key":"e_1_2_1_68_1","volume-title":"A denotational semantics for dataflow with firing. Memorandum UCB\/ERL M97\/3. Electronics Research Laboratory","author":"Lee E."},{"key":"e_1_2_1_69_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.1987.5009446"},{"key":"e_1_2_1_70_1","doi-asserted-by":"crossref","first-page":"773","DOI":"10.1109\/5.381846","article-title":"Data-flow process networks","volume":"83","author":"Lee E.","year":"1995","journal-title":"Proc. IEEE."},{"key":"e_1_2_1_71_1","volume-title":"et al","author":"McGraw J.","year":"1983"},{"key":"e_1_2_1_72_1","volume-title":"Flow-Based Programming: A New Approach to Application Development. van Nostrand Reinhold","author":"Morrison J. P."},{"key":"e_1_2_1_73_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0096-0551(01)00009-1"},{"key":"e_1_2_1_74_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0167-8191(99)00070-8"},{"key":"e_1_2_1_75_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF02577733"},{"key":"e_1_2_1_76_1","volume-title":"Proceedings of the ICSA-16","author":"Nikhil R. S."},{"key":"e_1_2_1_77_1","unstructured":"Ning Q. and Gao G. R. 1991. Loop storage optimization for Dataflow machines. ACAPS Tech. Memo 23. School of Computer Science McGill University Montreal P. Q. Canada.  Ning Q. and Gao G. R. 1991. Loop storage optimization for Dataflow machines. ACAPS Tech. Memo 23. School of Computer Science McGill University Montreal P. Q. Canada."},{"key":"e_1_2_1_79_1","doi-asserted-by":"crossref","DOI":"10.1145\/115952.115986","volume-title":"Multithreading: A revisionist view of dataflow architectures. MIT Memo CSG-330. MIT","author":"Papadopoulos G. M.","year":"1991"},{"key":"e_1_2_1_80_1","series-title":"Lecture Notes in Computer Science","volume-title":"A General Real-Time Data-Flow Language","author":"Plaice J."},{"key":"e_1_2_1_81_1","doi-asserted-by":"crossref","first-page":"217","DOI":"10.1016\/S1045-926X(06)80007-8","article-title":"An integrated data flow visual language and software development environment","volume":"2","author":"Rasure J.","year":"1991","journal-title":"J. Vis. Lang. Comput."},{"key":"e_1_2_1_83_1","volume-title":"Proceedings of the 16th International Symposium on Computer Architecture. 46--53","author":"Sakai S."},{"key":"e_1_2_1_84_1","doi-asserted-by":"crossref","first-page":"327","DOI":"10.1006\/jvlc.1995.1019","article-title":"A visual dataflow programming environment for a real time parallel vision machine","volume":"6","author":"Serot J.","year":"1995","journal-title":"J. Vis. Lang. Comput."},{"key":"e_1_2_1_85_1","doi-asserted-by":"crossref","first-page":"529","DOI":"10.1006\/jvlc.2000.0177","article-title":"Smart browsing among multiple aspects of data-flow visual program execution, using visual patterns and multi-focus fisheye views","volume":"11","author":"Shizuki B.","year":"2000","journal-title":"J. Vis. Lang. Comput."},{"key":"e_1_2_1_86_1","volume-title":"Proceedings of the IEEE Conference on Visual Languages (VL'97","author":"Sh\u00fcrr A.","year":"1997"},{"key":"e_1_2_1_87_1","first-page":"3","article-title":"Asynchrony in parallel computing: from dataflow to multithreading","volume":"1","author":"Silc J.","year":"1998","journal-title":"Parallel Distrib. Comput. Pract."},{"key":"e_1_2_1_88_1","unstructured":"Sterling T. Kuehn J. Thistle M. and Anastasis T. 1995. Studies on Optimal Task Granularity and Random Mapping. In Advanced Topics in Dataflow Computing and Multithreading. IEEE Computer Society Press Los Alamitos CA 349--365.  Sterling T. Kuehn J. Thistle M. and Anastasis T. 1995. Studies on Optimal Task Granularity and Random Mapping. In Advanced Topics in Dataflow Computing and Multithreading. IEEE Computer Society Press Los Alamitos CA 349--365."},{"key":"e_1_2_1_89_1","doi-asserted-by":"crossref","first-page":"127","DOI":"10.1016\/S1045-926X(05)80012-6","article-title":"VIVA: A visual language for image processing","volume":"1","author":"Tanimoto S.","year":"1990","journal-title":"J. Vis. Lang. Comput."},{"key":"e_1_2_1_90_1","volume-title":"Proceedings of the IEEE Symposion on Visual Languages","author":"Toyoda M."},{"key":"e_1_2_1_91_1","doi-asserted-by":"publisher","DOI":"10.1145\/356869.356873"},{"key":"e_1_2_1_92_1","doi-asserted-by":"crossref","first-page":"3","DOI":"10.1109\/MC.1984.1659081","article-title":"Future computers: Logic, data flow, \u2026, control flow","volume":"17","author":"Treleaven P. C.","year":"1984","journal-title":"IEEE Comput."},{"key":"e_1_2_1_93_1","doi-asserted-by":"publisher","DOI":"10.1145\/27633.28055"},{"key":"e_1_2_1_94_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF02684377"},{"key":"e_1_2_1_95_1","unstructured":"Wadge W. W. and Ashcroft E. A. 1985. Lucid the Dataflow Programming Language. APIC Studies in Data Processing no. 22. Academic Press New York NY.   Wadge W. W. and Ashcroft E. A. 1985. Lucid the Dataflow Programming Language. APIC Studies in Data Processing no. 22. Academic Press New York NY."},{"key":"e_1_2_1_96_1","unstructured":"Wail S. F. and Abramson D. 1995. Can Dataflow Machines be Programmed with an Imperative Language? In Advanced Topics in Dataflow Computing and Multithreading. IEEE Computer Society Press Los Alamitos CA 229--265.  Wail S. F. and Abramson D. 1995. Can Dataflow Machines be Programmed with an Imperative Language? In Advanced Topics in Dataflow Computing and Multithreading. IEEE Computer Society Press Los Alamitos CA 229--265."},{"key":"e_1_2_1_97_1","volume-title":"Proceedings of the National Computer Conference. 623--628","author":"Watson I."},{"key":"e_1_2_1_99_1","doi-asserted-by":"publisher","DOI":"10.1109\/85.329757"},{"key":"e_1_2_1_100_1","doi-asserted-by":"crossref","first-page":"109","DOI":"10.1006\/jvlc.1996.0030","article-title":"Visual programming languages and the empirical evidence for and against","volume":"8","author":"Whitley K.","year":"1997","journal-title":"J. Vis. Lang. Comput."},{"key":"e_1_2_1_101_1","doi-asserted-by":"crossref","first-page":"163","DOI":"10.1006\/jvlc.2000.0191","article-title":"Loop parallelization using the 3D iteration space visualizer","volume":"12","author":"Yu Y. J.","year":"2001","journal-title":"J. Vis. Lang. Comput."}],"container-title":["ACM Computing Surveys"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1013208.1013209","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1013208.1013209","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T21:38:41Z","timestamp":1750282721000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1013208.1013209"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2004,3]]},"references-count":96,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2004,3]]}},"alternative-id":["10.1145\/1013208.1013209"],"URL":"https:\/\/doi.org\/10.1145\/1013208.1013209","relation":{},"ISSN":["0360-0300","1557-7341"],"issn-type":[{"value":"0360-0300","type":"print"},{"value":"1557-7341","type":"electronic"}],"subject":[],"published":{"date-parts":[[2004,3]]},"assertion":[{"value":"2004-03-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}