Advances in Dataflow Programming Languages.

Research output: Contribution to journalArticle

267 Citations (Scopus)

Abstract

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.
LanguageEnglish
Pages1-34
JournalACM Computing Surveys
Volume36
Issue number1
DOIs
Publication statusPublished - Mar 2004

Fingerprint

Data Flow
Computer programming languages
Programming Languages
Visual Languages
Programming
Formulation

Cite this

@article{83c493b3f98546de81176cc8eb21b2f1,
title = "Advances in Dataflow Programming Languages.",
abstract = "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.",
author = "W Johnston and Paul Hanna and Richard Millar",
note = "Reference text: , W. 1982. Data flow languages. IEEE Comput. 15, 2, 15--25. 2 W. B. Acherman , J. B. Dennis , William B Ackerman, VAL- ORIENTED ALGORITHMIC LANGUAGE, PRELIMINARY REFERENCE MANUAL, Massachusetts Institute of Technology, Cambridge, MA, 1979 3 Amamiya, M., Hasegawa, R., and Ono, S. 1984. Valid, a high-level functional programming language for data flow machines. Rev. Electric. Comm. Lab. 32, 5, 793--802. 4 Arvind and Culler, D. E. 1983. The tagged token dataflow architecture (preliminary version). Tech. Rep. Laboratory for Computer Science, MIT, Cambridge, MA. 5 Arvind , David E. Culler, Dataflow architectures, Annual review of computer science vol. 1, 1986, Annual Reviews Inc., Palo Alto, CA, 1986 6 Arvind, Culler, D. E., and Maa, G. K. 1988. Assessing the benefits of fine-grain parallelism in dataflow programs. Int. J. Supercomput. Appl. 2, 3, 10--36. 7 Arvind and Gostelow, K. P. 1977. Some relationships between asynchronous interpreters of a dataflow language. In Proceedings of the IFIP WG2.2 Conference on the Formal Description of Programming Lanugages (St. Andrews, Canada). 8 Arvind , Kim P. Gostelow , Wil Plouffe, Indeterminacy, monitors, and dataflow, Proceedings of the sixth ACM symposium on Operating systems principles, p.159-169, November 16-18, 1977, West Lafayette, Indiana, United States [doi>10.1145/800214.806559] 9 Arvind, Gostelow, K. P., and Plouffe, W. 1978. An asynchronous programming language and computing machine, Tech. Rep. TR 114a. University of California, Irvine, Irvine, CA. 10 Arvind , Rishiyur S. Nikhil , Keshav K. Pingali, I-structures: data structures for parallel computing, ACM Transactions on Programming Languages and Systems (TOPLAS), v.11 n.4, p.598-632, Oct. 1989 [doi>10.1145/69558.69562] 11 K. Arvind , Rishiyur S. Nikhil, Executing a Program on the MIT Tagged-Token Dataflow Architecture, IEEE Transactions on Computers, v.39 n.3, p.300-318, March 1990 [doi>10.1109/12.48862] 12 Arvind and Thomas, R. 1980. I-structures: An efficient data type for functional languages. Tech. Memo 178. Laboratory for Computer Science, MIT, Cambridge, MA. 13 E. A. Ashcroft , W. W. Wadge, Lucid, a nonprocedural language with iteration, Communications of the ACM, v.20 n.7, p.519-526, July 1977 [doi>10.1145/359636.359715] 14 Ed Ashcroft , Bill Wadge, Some common misconceptions about Lucid, ACM SIGPLAN Notices, v.15 n.10, p.15-26, October 1980 [doi>10.1145/947727.947728] 15 Mikhail Auguston , Alfredo Delgado, Iterative Constructs in the Visual Data Flow Language, Proceedings of the 1997 IEEE Symposium on Visual Languages (VL '97), p.152, April 23-26, 1997 16 John Backus, Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs, Communications of the ACM, v.21 n.8, p.613-641, Aug. 1978 [doi>10.1145/359576.359579] 17 Barahona, P. and Gurd, J. R. 1985, Simulated performance of the Manchester multi-ring dataflow machine. In Proceedings of the 2nd ICPC (Sept.). 419--424. 18 Ed Baroth , Chris Hartsough, Visual programming in the real world, Visual object-oriented programming: concepts and environments, Manning Publications Co., Greenwich, CT, 1995 19 Massimo Bernini , Mauro Mosconi, VIPERS: a data flow visual programming environment based on the Tcl language, Proceedings of the workshop on Advanced visual interfaces, p.243-245, June 01-04, 1994, Bari, Italy [doi>10.1145/192309.192361] 20 Shuvra S. Battacharyya , Edward A. Lee , Praveen K. Murthy, Software Synthesis from Dataflow Graphs, Kluwer Academic Publishers, Norwell, MA, 1996 21 Lubomir Bic, A process-oriented model for efficient execution of dataflow programs, Journal of Parallel and Distributed Computing, v.8 n.1, p.42-51, Jan. 1990 [doi>10.1016/0743-7315(90)90067-Y] 22 Lubomir Bic , Guang R. Gao , Jean-Luc Gaudiot, Advanced Topics in Dataflow Computing and Multithreading, IEEE Computer Society Press, Los Alamitos, CA, 1995 23 Bohm, W., Najjar, W. A., Shankar, B., and Roh, L. 1993. An evaluation of coarse grain dataflow code generation stretegies. In Proceedings of the Working Conference on Massively Parallel Programming Models (Berlin, Germany). 24 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. 25 Margaret M. Burnett , Marla J. Baker , Carisa Bohus , Paul Carlson , Sherry Yang , Pieter van Zee, Scaling Up Visual Programming Languages, Computer, v.28 n.3, p.45-54, March 1995 [doi>10.1109/2.366157] 26 D. Comte , G. Durrieu , O. Gelly , A. Plas , J. C. Syre, Parallelism, control and synchronization expression in a single assignment language, ACM SIGPLAN Notices, v.13 n.1, p.25-33, January 1978 [doi>10.1145/953428.953431] 27 Cox, P., Giles, F., and Pietrzykowski, T. 1989. Prograph: A step towards liberating programming from textual conditioning. In Procedings of the IEEE Workshop on Visual Languages. 150--156. 28 P. T. Cox , T. J. Smedley, A visual language for the design of structured graphical objects, Proceedings of the 1996 IEEE Symposium on Visual Languages, p.296, September 03-06, 1996 29 Culler, D. E., Goldstein, S. C., Schauser, K. E., and von Eicker, T. 1995. Empirical study of a dataflow language on the CM-5. In Advanced Topics in Dataflow Computing and Multithreading. IEEE Computer Society Press, Los Alamitos, CA, 187--210. 30 Davis, A. L. 1974. Data driven nets---A class of maximally parallel, output-functional program schemata. Tech. Rep. IRC Report. Burroughs, San Diego, CA. 31 A. L. Davis, The architecture and system method of DDM1: A recursively structured Data Driven Machine, Proceedings of the 5th annual symposium on Computer architecture, p.210-215, April 03-05, 1978 [doi>10.1145/800094.803050] 32 Davis, A. L. 1979. DDN's---a low level program schema for fully distributed systems. In Proceedings of the 1st European Conference on Parallel and Distributed Systems (Toulouse, France). 1--7. 33 Davis, A. L. and Keller, R. M. 1982. Data flow program graphs. IEEE Comput. 15, 2, 26--41. 34 Davis, A. L. and Lowder, S. A. 1981. A Sample management application program in a graphical data-driven programming language. In Digest of Papers Compcon Spring, February 1981. 162--165. 35 M. D. de Jong , C. L. Hankin, Structured data flow programming, ACM SIGPLAN Notices, v.17 n.8, p.18-27, August 1982 [doi>10.1145/947941.947942] 36 Dennis, J. 1977. A Language Design for Structured Concurrency. The Design and Implementation of Programming Languages. Lecture Notes in Computer Science, vol. 54. Springer-Verlag, Berlin, Germany, 23--42. 37 J. B. Dennis, First version of a data flow procedure language, Programming Symposium, Proceedings Colloque sur la Programmation, p.362-376, April 09-11, 1974 38 Dennis, J. B. 1980. Data flow supercomputers. IEEE Comput. 13, 11 (Nov.), 48--56. 39 Jack B. Dennis , David P. Misunas, A preliminary architecture for a basic data-flow processor, Proceedings of the 2nd annual symposium on Computer architecture, p.126-132, January 20-22, 1975 [doi>10.1145/642089.642111] 40 Gajski, D. D., Padua, D. A., Kucle, D. J., and Kuh, R. H. 1982. A second opinion on data-flow machines and languages. IEEE Comput. 15, 2, 58--69. 41 Guang R. Gao , Zaharias Paraskevas, Compiling for dataflow software pipelining, Selected papers of the second workshop on Languages and compilers for parallel computing, p.275-306, May 1990, Urbana, Illinois, United States 42 David Gelernter , Nicholas Carriero, Coordination languages and their significance, Communications of the ACM, v.35 n.2, p.97-107, Feb. 1992 [doi>10.1145/129630.129635] 43 Gelly, O. 1976. LAU software system: A high-level data-driven language for parallel processing. In Proceedings of the International Conference on Parallel Processing (New York, NY). 44 Ghittori, E., Mosconi, M., and Porta, M. 1998. Designing and testing new programming constructs in a data flow VL. Tech. Rep. Universit{\`a} di Pavia, Pavia, Italy. 45 Glauert, J. R. W. 1978. A single assignment language for data flow computing, Master's thesis. University of Manchester, Manchester, U.K. 46 Green, T. R. G. and Petre, M. 1996. Usability analysis of visual programming environments: A {"}Cognitive Dimensions{"} Framework. J. Vis. Lang. Comput. 7, 131--174. 47 Gurd, J. R. and Bohm, W. 1987. Implicit parallel processing: SISAL on the Manchester dataflow computer. In Proceedings of the IBM-Europe Institute on Parallel Processing (Aug., Oberlech, Austria). 48 C. L. Hankin , H. W. Glaser, The data flow programming language CAJOLE - an informal introduction, ACM SIGPLAN Notices, v.16 n.7, p.35-44, July 1981 [doi>10.1145/947864.947867] 49 Harvey, N. and Morris, J. 1993. NL: A general purpose visual dataflow language, Tech. Rep. University of Tasmania, Tasmania, Australia. 50 Harvey, N. and Morris, J. 1996. NL: A parallel programming visual language. Australian Comput. J. 28, 1, 2--12. 51 Robert Helsel, Cutting your test development time with HP Vee: an iconic programming language, Prentice-Hall, Inc., Upper Saddle River, NJ, 1994 52 Hils, D. D. 1992. Visual languages and computing survey: Data flow visual programming languages. J. Vis. Lang. Comput. 3, 1, 69--101. 53 A. R. Hurson , Ben Lee , Behrooz Shirazi, Hybrid Structure: A Scheme for Handling Data Structures in a Data Flow Environment, Proceedings of the Parallel Architectures and Languages Europe, Volume I: Parallel Architectures, p.323-340, June 12-16, 1989 54 R. A. Iannucci, Toward a dataflow/von Neumann hybrid architecture, Proceedings of the 15th Annual International Symposium on Computer architecture, p.131-140, May 30-June 02, 1988, Honolulu, Hawaii, United States 55 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. 56 Jagannathan, R. 1995. Coarse-Grain Dataflow Programming of Conventional Parallel Computers. In Advanced Topics in Dataflow Computing and Multithreading. IEEE Computer Society Press, Los Alamitos, CA, 113--129. 57 Kahn, G. 1974. The semantics of a simple language for parallel programming. In Proceedings of the IFIP Congress 74 (Amsterdam, The Netherlands). 471--475. 58 Karp, R. and Miller, R. 1966. Properties of a model for parallel computations: Determinacy, termination, queueing. SIAM J. 14, 1390--1411. 59 Keller, R. M. 1985. Rediflow architecture prospectus, Tech. Rep. No. UUCS-85-105. Department of Computer Science, University of Utah, Salt Lake City, Utah. 60 Keller, R. M. and Yen, W. C. J. 1981. A graphical approach to software development using function graphs. In Digest of Papers Compcon Spring, February 1981. 156--161. 61 Kimura, T. and Mclain, P. 1986. Show and Tell user's manual. Tech. Rep. WUCS-86-4. Department of Computer Science, Washington University, St Louis, MO. 62 Kiper, J., Howard, E., and Ames, C. 1997. Criteria for evaluation of visual programming languages. J. Vis. Lang. Comput. 8, 2, 175--192. 63 Paul R. Kosinski, A straightforward denotational semantics for non-determinate data flow programs, Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, p.214-221, January 23-25, 1978, Tucson, Arizona [doi>10.1145/512760.512783] 64 Paul R. Kosinski, A data flow language for operating systems programming, ACM SIGPLAN Notices, v.8 n.9, p.89-94, September 1973 [doi>10.1145/390014.808289] 65 LabView. 2000. Lab View User Manual. National Instruments, Austin, TX. 66 Lee, B. and Hurson, A. R. 1993. Issues in dataflow computing. Adv. in Comput. 37, 285--333. 67 Ben Lee , A. R. Hurson, Dataflow Architectures and Multithreading, Computer, v.27 n.8, p.27-39, August 1994 [doi>10.1109/2.303620] 68 Lee, E. 1997. A denotational semantics for dataflow with firing. Memorandum UCB/ERL M97/3. Electronics Research Laboratory, University of California, Berkeley, Berkeley, CA. 69 Edward Ashford Lee , David G. Messerschmitt, Static scheduling of synchronous data flow programs for digital signal processing, IEEE Transactions on Computers, v.36 n.1, p.24-35, Jan. 1987 [doi>10.1109/TC.1987.5009446] 70 Lee, E. and Parks, T. 1995. Data-flow process networks. Proc. IEEE. 83, 5, 773--799. 71 McGraw, J., Skedzielewski, S. et al. 1983. SISAL---Streams and Iteration in a Single Assignment Language Reference Manual (Version 1.0). Livermore National Laboratory, Livermore, CA. 72 Morrison, J. P. 1994. Flow-Based Programming: A New Approach to Application Development. van Nostrand Reinhold, New York, NY. 73 Mosconi, M. and Porta, M. 2000. Iteration constructs in data-flow visual programming languages. Comput. Lang. 26, 2-4, 67--104. 74 Walid A. Najjar , Edward A. Lee , Guang R. Gao, Advances in the dataflow computational model, Parallel Computing, v.25 n.13-14, p.1907-1929, Dec. 1999 [doi>10.1016/S0167-8191(99)00070-8] 75 Walid A. Najjar , Lucas Roh , A. P. Wim B{\"o}hm, An evaluation of medium-grain dataflow code, International Journal of Parallel Programming, v.22 n.3, p.209-242, June 1994 [doi>10.1007/BF02577733] 76 R. S. Nikhil, Can dataflow subsume von Neumann computing?, Proceedings of the 16th annual international symposium on Computer architecture, p.262-272, April 1989, Jerusalem, Israel [doi>10.1145/74925.74955] 77 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. 78 Gregory M. Papadopoulos, Implementation of a general-purpose dataflow multiprocessor, MIT Press, Cambridge, MA, 1991 79 Papadopoulos, G. M. and Traub, K. R. 1991. Multithreading: A revisionist view of dataflow architectures. MIT Memo CSG-330. MIT, Cambridge, MA. 80 Plaice, J. 1991. RLUCID, A General Real-Time Data-Flow Language. Lecture Notes in Computer Science, vol. 571. Springer-Verlag, Berlin, Germany, 363--374. 81 Rasure, J. and Williams, C. 1991. An integrated data flow visual language and software development environment. J. Vis. Lang. Comput. 2, 217--246. 82 Richardson, C. 1981. Manipulator control using a data-flow machine. Doctoral dissertation. University of Manchester, Manchester, U.K. 83 S. Sakai , y. Yamaguchi , K. Hiraki , Y. Kodama , T. Yuba, An architecture of a dataflow single chip processor, Proceedings of the 16th annual international symposium on Computer architecture, p.46-53, April 1989, Jerusalem, Israel [doi>10.1145/74925.74931] 84 Serot, J., Quenot, G., and Zavidovique, B. 1995. A visual dataflow programming environment for a real time parallel vision machine. J. Vis. Lang. Comput. 6, 4, 327--347. 85 Shizuki, B., Toyoda, M., Shibayama, E., and Takahashi, S. 2000. Smart browsing among multiple aspects of data-flow visual program execution, using visual patterns and multi-focus fisheye views. J. Vis. Lang. Comput. 11, 5, 529--548. 86 A. Sch{\"u}rr, BDL - A Nondeterministic Data Flow Programming Language with Backtracking, Proceedings of the 1997 IEEE Symposium on Visual Languages (VL '97), p.394, April 23-26, 1997 87 Silc, J., Robic, B., and Ungerer, T. 1998. Asynchrony in parallel computing: from dataflow to multithreading. Parallel Distrib. Comput. Pract. 1, 1, 3--30. 88 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. 89 Tanimoto, S. 1990. VIVA: A visual language for image processing. J. Vis. Lang. Comput. 1, 127--139. 90 Masashi Toyoda , Buntarou Shizuki , Shin Takahashi , Satoshi Matsuoka , Etsuya Shibayama, Supporting Design Patterns in a Visual Parallel Data-flow Programming Environment, Proceedings of the 1997 IEEE Symposium on Visual Languages (VL '97), p.76, April 23-26, 1997 91 Philip C. Treleaven , David R. Brownbridge , Richard P. Hopkins, Data-Driven and Demand-Driven Computer Architecture, ACM Computing Surveys (CSUR), v.14 n.1, p.93-143, March 1982 [doi>10.1145/356869.356873] 92 Treleaven, P. C. and Lima, I. G. 1984. Future computers: Logic, data flow, …, control flow? IEEE Comput. 17, 3 (Mar.), 47--58. 93 Arthur H. Veen, Dataflow machine architecture, ACM Computing Surveys (CSUR), v.18 n.4, p.365-396, Dec. 1986 [doi>10.1145/27633.28055] 94 L. Verdoscia , R. Vaccaro, A high-level dataflow system, Computing, v.60 n.4, p.285-305, 1998 [doi>10.1007/BF02684377] 95 William W. Wadge , Edward A. Ashcroft, LUCID, the dataflow programming language, Academic Press Professional, Inc., San Diego, CA, 1985 96 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. 97 Watson, I. and Gurd, J. R. 1979. A prototype data flow computer with token labelling. In Proceedings of the National Computer Conference. 623--628. 98 Weng, K. S. 1975. Stream oriented computation in recursive data-flow schemas. Tech. Rep. 68. Laboratory for Computer Science, MIT, Cambridge, MA. 99 Paul G. Whiting , Robert S. V. Pascoe, A History of Data-Flow Languages, IEEE Annals of the History of Computing, v.16 n.4, p.38-59, December 1994 [doi>10.1109/85.329757] 100 Whitley, K. 1997. Visual programming languages and the empirical evidence for and against. J. Vis. Lang. Comput. 8, 1, 109--142. 101 Yu, Y. J. and D'hollander, E. H. 2001. Loop parallelization using the 3D iteration space visualizer. J. Vis. Lang. Comput. 12, 2, 163--181. CITED BY 52 Citations Zdena Dobesova, Visual programming language in geographic information systems, Proceedings of the 2nd international conference on Applied informatics and computing theory, p.276-280, September 26-28, 2011, Prague, Czech Republic Aniket Kittur , Susheel Khamkar , Paul Andr{\'e} , Robert Kraut, CrowdWeaver: visually managing complex crowd work, Proceedings of the ACM 2012 conference on Computer Supported Cooperative Work, February 11-15, 2012, Seattle, Washington, USA Seung Chan Lim , Sandi Lowe , Jeremy Koempel, Application of visual programming to web mash up development, Proceedings of the 12th international conference on Human-computer interaction: interaction design and usability, July 22-27, 2007, Beijing, China Dave Mason, Flexible structures for end-user programming, Proceedings of the 3rd international workshop on Free composition, October 22-22, 2012, Tucson, Arizona, USA Yang Yi Sui , Jun Lin , Xiao Tuo Zhang, An automated refactoring tool for dataflow visual programming language, ACM SIGPLAN Notices, v.43 n.4, p.21-28, April 2008 A. Tanju Erdem , Bora Utku , Tolga Abaci , {\cC}iğdem Eroğlu Erdem, Advanced authoring tools for game-based training, Proceedings of the Summer Computer Simulation Conference, p.95-102, July 13-16, 2009, Istanbul, Turkey Lawrence Buckingham , James M. Hogan , Paul Roe , Jiro Sumitomo , Michael Towsey, Comparative Studies Simplified in GPFlow, Proceedings of the 8th international conference on Computational Science, Part III, June 23-25, 2008, Krakow, Poland Tiago A. O. Alves , Leandro A. J. Marzulo , Felipe M. G. Franca , Vitor Santos Costa, Trebuchet: exploring TLP with dataflow virtualisation, International Journal of High Performance Systems Architecture, v.3 n.2/3, p.137-148, May 2011 Mohammad Zalfany Urfianto , Tsuyoshi Isshiki , Arif Ullah Khan , Dongju Li , Hiroaki Kunieda, Decomposition of Task-Level Concurrency on C Programs Applied to the Design of Multiprocessor SoC, IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, v.E91-A n.7, p.1748-1756, July 2008 Romain Vuillemot , B{\'e}atrice Rumpler, Une interface de programmation visuelle pour la composition de services de visualisation d'information, Proceedings of the 21st International Conference on Association Francophone d'Interaction Homme-Machine, October 13-16, 2009, Grenoble, France Paul Reimer , Alexandra Branzan Albu , George Tzanetakis, Raydiance: a tangible interface for teaching computer vision, Proceedings of the 7th international conference on Advances in visual computing, September 26-28, 2011, Las Vegas, NV, USA KC Sivaramakrishnan , Lukasz Ziarek , Raghavendra Prasad , Suresh Jagannathan, Lightweight asynchrony using parasitic threads, Proceedings of the 5th ACM SIGPLAN workshop on Declarative aspects of multicore programming, January 19-19, 2010, Madrid, Spain Jean-Marc Pelletier, A graphical interface for real-time signal routing, Proceedings of the 2005 conference on New interfaces for musical expression, May 26-28, 2005, Vancouver, Canada Jacob Burnim , Koushik Sen, Asserting and checking determinism for multithreaded programs, Communications of the ACM, v.53 n.6, June 2010 Vikt{\'o}ria Zs{\'o}k , Pieter Koopman , Rinus Plasmeijer, Generic Executable Semantics for D-Clean, Electronic Notes in Theoretical Computer Science (ENTCS), v.279 n.3, p.85-95, December, 2011 Vasvi Kakkad , Andrew E. Santosa , Bernhard Scholz, Migrating operator placement for compositional stream graphs, Proceedings of the 15th ACM international conference on Modeling, analysis and simulation of wireless and mobile systems, October 21-25, 2012, Paphos, Cyprus Kung-Kiu Lau , Lily Safie , Petr Stepan , Cuong Tran, A component model that is both control-driven and data-driven, Proceedings of the 14th international ACM Sigsoft symposium on Component based software engineering, June 20-24, 2011, Boulder, Colorado, USA Brian Demsky , Jin Zhou , William Montaz, Recovery tasks: an automated approach to failure recovery, Proceedings of the First international conference on Runtime verification, November 01-04, 2010, St. Julians, Malta S. Priebe, Dynamic task generation and transformation within a nestable workpool skeleton, Proceedings of the 12th international conference on Parallel Processing, August 28-September 01, 2006, Dresden, Germany Stephan Heckm{\"u}ller , Michael Spork , Bernd E. Wolfinger, Load transformation of Markovian arrival processes: methods and tool support, Proceedings of the 3rd International Conference on Performance Evaluation Methodologies and Tools, October 20-24, 2008, Athens, Greece Somashekaracharya G. Bhaskaracharya , Uday Bondhugula, PolyGLoT: a polyhedral loop transformation framework for a graphical dataflow language, Proceedings of the 22nd international conference on Compiler Construction, March 16-24, 2013, Rome, Italy Taylor L. Rich{\'e} , Harrick M. Vin , Don Batory, Transformation-based parallelization of request-processing applications, Proceedings of the 13th international conference on Model driven engineering languages and systems: Part II, October 03-08, 2010, Oslo, Norway Antoniu Pop , Albert Cohen, OpenStream: Expressiveness and data-flow compilation of OpenMP streaming programs, ACM Transactions on Architecture and Code Optimization (TACO), v.9 n.4, p.1-25, January 2013 Philip T. Cox , Simon Gauvin, Controlled dataflow visual programming languages, Proceedings of the 2011 Visual Information Communication - International Symposium, p.1-10, August 04-05, 2011, Hong Kong, China Tim Kovacs , Robert Egginton, On the analysis and design of software for reinforcement learning, with a survey of existing systems, Machine Learning, v.84 n.1-2, p.7-49, July 2011 Romain Vuillemot , B{\'e}atrice Rumpler, A web-based interface to design information visualization, Proceedings of the International Conference on Management of Emergent Digital EcoSystems, October 27-30, 2009, France Niels Joncheere , Dirk Deridder , Ragnhild Straeten , Viviane Jonckers, A Framework for Advanced Modularization and Data Flow in Workflow Systems, Proceedings of the 6th International Conference on Service-Oriented Computing, p.592-598, December 01-05, 2008, Sydney, Australia Philip T. Cox , Anh Dang, Semantic comparison of structured visual dataflow programs, Proceedings of the 3rd International Symposium on Visual Information Communication, September 28-29, 2010, Beijing, China Mauro Caporuscio , Marco Funaro , Carlo Ghezzi, PaCE: a data-flow coordination language for asynchronous network-based applications, Proceedings of the 11th international conference on Software Composition, May 31-June 01, 2012, Prague, Czech Republic Manu Bansal , Jeffrey Mehlman , Sachin Katti , Philip Levis, OpenRadio: a programmable wireless dataplane, Proceedings of the first workshop on Hot topics in software defined networks, August 13-13, 2012, Helsinki, Finland Zolt{\'a}n Horv{\'a}th , Zolt{\'a}n Herny{\'a}k , Vikt{\'o}ria Zs{\'o}k, Coordination language for distributed clean, Acta Cybernetica, v.17 n.2, p.247-271, January 2005 Andoni Lombide Carreton , Theo D'Hondt, A hybrid visual dataflow language for coordination in mobile ad hoc networks, Proceedings of the 12th international conference on Coordination Models and Languages, p.76-91, June 07-09, 2010, Amsterdam, The Netherlands Paolo Missier , Norman W. Paton , Khalid Belhajjame, Fine-grained and efficient lineage querying of collection-based workflow provenance, Proceedings of the 13th International Conference on Extending Database Technology, March 22-26, 2010, Lausanne, Switzerland Jacob Burnim , Koushik Sen, DETERMIN: inferring likely deterministic specifications of multithreaded programs, Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, May 01-08, 2010, Cape Town, South Africa Sumit Mohanty , Viktor K. Prasanna, A model-based extensible framework for efficient application design using FPGA, ACM Transactions on Design Automation of Electronic Systems (TODAES), v.12 n.2, p.13-es, April 2007 Neil Gershenfeld , David Dalrymple , Kailiang Chen , Ara Knaian , Forrest Green , Erik D. Demaine , Scott Greenwald , Peter Schmidt-Nielsen, Reconfigurable asynchronous logic automata: (RALA), ACM SIGPLAN Notices, v.45 n.1, January 2010 Martin Erwig , Eric Walkingshaw, A visual language for explaining probabilistic reasoning, Journal of Visual Languages and Computing, v.24 n.2, p.88-109, April, 2013 Laura Haas, Beauty and the beast: the theory and practice of information integration, Proceedings of the 11th international conference on Database Theory, January 10-12, 2007, Barcelona, Spain Ross Tate , Michael Stepp , Zachary Tatlock , Sorin Lerner, Equality saturation: a new approach to optimization, Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, January 21-23, 2009, Savannah, GA, USA Jo{\"a}o M. P. Cardoso, Dynamic loop pipelining in data-driven architectures, Proceedings of the 2nd conference on Computing frontiers, May 04-06, 2005, Ischia, Italy Eva Burrows , Magne Haveraaen, Programmable data dependencies and placements, Proceedings of the 7th workshop on Declarative aspects and applications of multicore programming, January 28-28, 2012, Philadelphia, Pennsylvania, USA Jonathan Edwards, Coherent reaction, Proceeding of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications, October 25-29, 2009, Orlando, Florida, USA Timothy McPhillips , Shawn Bowers , Daniel Zinn , Bertram Lud{\"a}scher, Scientific workflow design for mere mortals, Future Generation Computer Systems, v.25 n.5, p.541-551, May, 2009 Emre Kiciman , Benjamin Livshits , Madanlal Musuvathi , Kevin C. Webb, Fluxo: a system for internet service programming by non-expert developers, Proceedings of the 1st ACM symposium on Cloud computing, June 10-11, 2010, Indianapolis, Indiana, USA Andoni Lombide Carreton , Stijn Mostinckx , Tom Van Cutsem , Wolfgang De Meuter, Loosely-coupled distributed reactive programming in mobile ad hoc networks, Proceedings of the 48th international conference on Objects, models, components, patterns, p.41-60, June 28-July 02, 2010, M{\'a}laga, Spain Jin Zhou , Brian Demsky, Bamboo: a data-centric, object-oriented approach to many-core software, ACM SIGPLAN Notices, v.45 n.6, June 2010 Manish Kumar Anand , Shawn Bowers , Timothy McPhillips , Bertram Lud{\"a}scher, Efficient provenance storage over nested data collections, Proceedings of the 12th International Conference on Extending Database Technology: Advances in Database Technology, March 24-26, 2009, Saint Petersburg, Russia Jacob Burnim , Koushik Sen, Asserting and checking determinism for multithreaded programs, Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, August 24-28, 2009, Amsterdam, The Netherlands Andrea Alimonda , Salvatore Carta , Andrea Acquaviva , Alessandro Pisano , Luca Benini, A feedback-based approach to DVFS in data-flow applications, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, v.28 n.11, p.1691-1704, November 2009 Chadwick A. Wingrave , Joseph J. Laviola, Jr. , Doug A. Bowman, A natural, tiered and executable UIDL for 3D user interfaces based on Concept-Oriented Design, ACM Transactions on Computer-Human Interaction (TOCHI), v.16 n.4, p.1-36, November 2009 Brian Demsky , Alokika Dash, Bristlecone: A Language for Robust Software Systems, Proceedings of the 22nd European conference on Object-Oriented Programming, July 07-11, 2008, Paphos, Cypress Seung Chan Slim Lim , Peter Lucas, JDA: a step towards large-scale reuse on the web, Companion to the 21st ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, October 22-26, 2006, Portland, Oregon, USA",
year = "2004",
month = "3",
doi = "10.1145/1013208.1013209",
language = "English",
volume = "36",
pages = "1--34",
journal = "ACM Computing Surveys",
issn = "0360-0300",
number = "1",

}

Advances in Dataflow Programming Languages. / Johnston, W; Hanna, Paul; Millar, Richard.

In: ACM Computing Surveys, Vol. 36, No. 1, 03.2004, p. 1-34.

Research output: Contribution to journalArticle

TY - JOUR

T1 - Advances in Dataflow Programming Languages.

AU - Johnston, W

AU - Hanna, Paul

AU - Millar, Richard

N1 - Reference text: , W. 1982. Data flow languages. IEEE Comput. 15, 2, 15--25. 2 W. B. Acherman , J. B. Dennis , William B Ackerman, VAL- ORIENTED ALGORITHMIC LANGUAGE, PRELIMINARY REFERENCE MANUAL, Massachusetts Institute of Technology, Cambridge, MA, 1979 3 Amamiya, M., Hasegawa, R., and Ono, S. 1984. Valid, a high-level functional programming language for data flow machines. Rev. Electric. Comm. Lab. 32, 5, 793--802. 4 Arvind and Culler, D. E. 1983. The tagged token dataflow architecture (preliminary version). Tech. Rep. Laboratory for Computer Science, MIT, Cambridge, MA. 5 Arvind , David E. Culler, Dataflow architectures, Annual review of computer science vol. 1, 1986, Annual Reviews Inc., Palo Alto, CA, 1986 6 Arvind, Culler, D. E., and Maa, G. K. 1988. Assessing the benefits of fine-grain parallelism in dataflow programs. Int. J. Supercomput. Appl. 2, 3, 10--36. 7 Arvind and Gostelow, K. P. 1977. Some relationships between asynchronous interpreters of a dataflow language. In Proceedings of the IFIP WG2.2 Conference on the Formal Description of Programming Lanugages (St. Andrews, Canada). 8 Arvind , Kim P. Gostelow , Wil Plouffe, Indeterminacy, monitors, and dataflow, Proceedings of the sixth ACM symposium on Operating systems principles, p.159-169, November 16-18, 1977, West Lafayette, Indiana, United States [doi>10.1145/800214.806559] 9 Arvind, Gostelow, K. P., and Plouffe, W. 1978. An asynchronous programming language and computing machine, Tech. Rep. TR 114a. University of California, Irvine, Irvine, CA. 10 Arvind , Rishiyur S. Nikhil , Keshav K. Pingali, I-structures: data structures for parallel computing, ACM Transactions on Programming Languages and Systems (TOPLAS), v.11 n.4, p.598-632, Oct. 1989 [doi>10.1145/69558.69562] 11 K. Arvind , Rishiyur S. Nikhil, Executing a Program on the MIT Tagged-Token Dataflow Architecture, IEEE Transactions on Computers, v.39 n.3, p.300-318, March 1990 [doi>10.1109/12.48862] 12 Arvind and Thomas, R. 1980. I-structures: An efficient data type for functional languages. Tech. Memo 178. Laboratory for Computer Science, MIT, Cambridge, MA. 13 E. A. Ashcroft , W. W. Wadge, Lucid, a nonprocedural language with iteration, Communications of the ACM, v.20 n.7, p.519-526, July 1977 [doi>10.1145/359636.359715] 14 Ed Ashcroft , Bill Wadge, Some common misconceptions about Lucid, ACM SIGPLAN Notices, v.15 n.10, p.15-26, October 1980 [doi>10.1145/947727.947728] 15 Mikhail Auguston , Alfredo Delgado, Iterative Constructs in the Visual Data Flow Language, Proceedings of the 1997 IEEE Symposium on Visual Languages (VL '97), p.152, April 23-26, 1997 16 John Backus, Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs, Communications of the ACM, v.21 n.8, p.613-641, Aug. 1978 [doi>10.1145/359576.359579] 17 Barahona, P. and Gurd, J. R. 1985, Simulated performance of the Manchester multi-ring dataflow machine. In Proceedings of the 2nd ICPC (Sept.). 419--424. 18 Ed Baroth , Chris Hartsough, Visual programming in the real world, Visual object-oriented programming: concepts and environments, Manning Publications Co., Greenwich, CT, 1995 19 Massimo Bernini , Mauro Mosconi, VIPERS: a data flow visual programming environment based on the Tcl language, Proceedings of the workshop on Advanced visual interfaces, p.243-245, June 01-04, 1994, Bari, Italy [doi>10.1145/192309.192361] 20 Shuvra S. Battacharyya , Edward A. Lee , Praveen K. Murthy, Software Synthesis from Dataflow Graphs, Kluwer Academic Publishers, Norwell, MA, 1996 21 Lubomir Bic, A process-oriented model for efficient execution of dataflow programs, Journal of Parallel and Distributed Computing, v.8 n.1, p.42-51, Jan. 1990 [doi>10.1016/0743-7315(90)90067-Y] 22 Lubomir Bic , Guang R. Gao , Jean-Luc Gaudiot, Advanced Topics in Dataflow Computing and Multithreading, IEEE Computer Society Press, Los Alamitos, CA, 1995 23 Bohm, W., Najjar, W. A., Shankar, B., and Roh, L. 1993. An evaluation of coarse grain dataflow code generation stretegies. In Proceedings of the Working Conference on Massively Parallel Programming Models (Berlin, Germany). 24 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. 25 Margaret M. Burnett , Marla J. Baker , Carisa Bohus , Paul Carlson , Sherry Yang , Pieter van Zee, Scaling Up Visual Programming Languages, Computer, v.28 n.3, p.45-54, March 1995 [doi>10.1109/2.366157] 26 D. Comte , G. Durrieu , O. Gelly , A. Plas , J. C. Syre, Parallelism, control and synchronization expression in a single assignment language, ACM SIGPLAN Notices, v.13 n.1, p.25-33, January 1978 [doi>10.1145/953428.953431] 27 Cox, P., Giles, F., and Pietrzykowski, T. 1989. Prograph: A step towards liberating programming from textual conditioning. In Procedings of the IEEE Workshop on Visual Languages. 150--156. 28 P. T. Cox , T. J. Smedley, A visual language for the design of structured graphical objects, Proceedings of the 1996 IEEE Symposium on Visual Languages, p.296, September 03-06, 1996 29 Culler, D. E., Goldstein, S. C., Schauser, K. E., and von Eicker, T. 1995. Empirical study of a dataflow language on the CM-5. In Advanced Topics in Dataflow Computing and Multithreading. IEEE Computer Society Press, Los Alamitos, CA, 187--210. 30 Davis, A. L. 1974. Data driven nets---A class of maximally parallel, output-functional program schemata. Tech. Rep. IRC Report. Burroughs, San Diego, CA. 31 A. L. Davis, The architecture and system method of DDM1: A recursively structured Data Driven Machine, Proceedings of the 5th annual symposium on Computer architecture, p.210-215, April 03-05, 1978 [doi>10.1145/800094.803050] 32 Davis, A. L. 1979. DDN's---a low level program schema for fully distributed systems. In Proceedings of the 1st European Conference on Parallel and Distributed Systems (Toulouse, France). 1--7. 33 Davis, A. L. and Keller, R. M. 1982. Data flow program graphs. IEEE Comput. 15, 2, 26--41. 34 Davis, A. L. and Lowder, S. A. 1981. A Sample management application program in a graphical data-driven programming language. In Digest of Papers Compcon Spring, February 1981. 162--165. 35 M. D. de Jong , C. L. Hankin, Structured data flow programming, ACM SIGPLAN Notices, v.17 n.8, p.18-27, August 1982 [doi>10.1145/947941.947942] 36 Dennis, J. 1977. A Language Design for Structured Concurrency. The Design and Implementation of Programming Languages. Lecture Notes in Computer Science, vol. 54. Springer-Verlag, Berlin, Germany, 23--42. 37 J. B. Dennis, First version of a data flow procedure language, Programming Symposium, Proceedings Colloque sur la Programmation, p.362-376, April 09-11, 1974 38 Dennis, J. B. 1980. Data flow supercomputers. IEEE Comput. 13, 11 (Nov.), 48--56. 39 Jack B. Dennis , David P. Misunas, A preliminary architecture for a basic data-flow processor, Proceedings of the 2nd annual symposium on Computer architecture, p.126-132, January 20-22, 1975 [doi>10.1145/642089.642111] 40 Gajski, D. D., Padua, D. A., Kucle, D. J., and Kuh, R. H. 1982. A second opinion on data-flow machines and languages. IEEE Comput. 15, 2, 58--69. 41 Guang R. Gao , Zaharias Paraskevas, Compiling for dataflow software pipelining, Selected papers of the second workshop on Languages and compilers for parallel computing, p.275-306, May 1990, Urbana, Illinois, United States 42 David Gelernter , Nicholas Carriero, Coordination languages and their significance, Communications of the ACM, v.35 n.2, p.97-107, Feb. 1992 [doi>10.1145/129630.129635] 43 Gelly, O. 1976. LAU software system: A high-level data-driven language for parallel processing. In Proceedings of the International Conference on Parallel Processing (New York, NY). 44 Ghittori, E., Mosconi, M., and Porta, M. 1998. Designing and testing new programming constructs in a data flow VL. Tech. Rep. Università di Pavia, Pavia, Italy. 45 Glauert, J. R. W. 1978. A single assignment language for data flow computing, Master's thesis. University of Manchester, Manchester, U.K. 46 Green, T. R. G. and Petre, M. 1996. Usability analysis of visual programming environments: A "Cognitive Dimensions" Framework. J. Vis. Lang. Comput. 7, 131--174. 47 Gurd, J. R. and Bohm, W. 1987. Implicit parallel processing: SISAL on the Manchester dataflow computer. In Proceedings of the IBM-Europe Institute on Parallel Processing (Aug., Oberlech, Austria). 48 C. L. Hankin , H. W. Glaser, The data flow programming language CAJOLE - an informal introduction, ACM SIGPLAN Notices, v.16 n.7, p.35-44, July 1981 [doi>10.1145/947864.947867] 49 Harvey, N. and Morris, J. 1993. NL: A general purpose visual dataflow language, Tech. Rep. University of Tasmania, Tasmania, Australia. 50 Harvey, N. and Morris, J. 1996. NL: A parallel programming visual language. Australian Comput. J. 28, 1, 2--12. 51 Robert Helsel, Cutting your test development time with HP Vee: an iconic programming language, Prentice-Hall, Inc., Upper Saddle River, NJ, 1994 52 Hils, D. D. 1992. Visual languages and computing survey: Data flow visual programming languages. J. Vis. Lang. Comput. 3, 1, 69--101. 53 A. R. Hurson , Ben Lee , Behrooz Shirazi, Hybrid Structure: A Scheme for Handling Data Structures in a Data Flow Environment, Proceedings of the Parallel Architectures and Languages Europe, Volume I: Parallel Architectures, p.323-340, June 12-16, 1989 54 R. A. Iannucci, Toward a dataflow/von Neumann hybrid architecture, Proceedings of the 15th Annual International Symposium on Computer architecture, p.131-140, May 30-June 02, 1988, Honolulu, Hawaii, United States 55 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. 56 Jagannathan, R. 1995. Coarse-Grain Dataflow Programming of Conventional Parallel Computers. In Advanced Topics in Dataflow Computing and Multithreading. IEEE Computer Society Press, Los Alamitos, CA, 113--129. 57 Kahn, G. 1974. The semantics of a simple language for parallel programming. In Proceedings of the IFIP Congress 74 (Amsterdam, The Netherlands). 471--475. 58 Karp, R. and Miller, R. 1966. Properties of a model for parallel computations: Determinacy, termination, queueing. SIAM J. 14, 1390--1411. 59 Keller, R. M. 1985. Rediflow architecture prospectus, Tech. Rep. No. UUCS-85-105. Department of Computer Science, University of Utah, Salt Lake City, Utah. 60 Keller, R. M. and Yen, W. C. J. 1981. A graphical approach to software development using function graphs. In Digest of Papers Compcon Spring, February 1981. 156--161. 61 Kimura, T. and Mclain, P. 1986. Show and Tell user's manual. Tech. Rep. WUCS-86-4. Department of Computer Science, Washington University, St Louis, MO. 62 Kiper, J., Howard, E., and Ames, C. 1997. Criteria for evaluation of visual programming languages. J. Vis. Lang. Comput. 8, 2, 175--192. 63 Paul R. Kosinski, A straightforward denotational semantics for non-determinate data flow programs, Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, p.214-221, January 23-25, 1978, Tucson, Arizona [doi>10.1145/512760.512783] 64 Paul R. Kosinski, A data flow language for operating systems programming, ACM SIGPLAN Notices, v.8 n.9, p.89-94, September 1973 [doi>10.1145/390014.808289] 65 LabView. 2000. Lab View User Manual. National Instruments, Austin, TX. 66 Lee, B. and Hurson, A. R. 1993. Issues in dataflow computing. Adv. in Comput. 37, 285--333. 67 Ben Lee , A. R. Hurson, Dataflow Architectures and Multithreading, Computer, v.27 n.8, p.27-39, August 1994 [doi>10.1109/2.303620] 68 Lee, E. 1997. A denotational semantics for dataflow with firing. Memorandum UCB/ERL M97/3. Electronics Research Laboratory, University of California, Berkeley, Berkeley, CA. 69 Edward Ashford Lee , David G. Messerschmitt, Static scheduling of synchronous data flow programs for digital signal processing, IEEE Transactions on Computers, v.36 n.1, p.24-35, Jan. 1987 [doi>10.1109/TC.1987.5009446] 70 Lee, E. and Parks, T. 1995. Data-flow process networks. Proc. IEEE. 83, 5, 773--799. 71 McGraw, J., Skedzielewski, S. et al. 1983. SISAL---Streams and Iteration in a Single Assignment Language Reference Manual (Version 1.0). Livermore National Laboratory, Livermore, CA. 72 Morrison, J. P. 1994. Flow-Based Programming: A New Approach to Application Development. van Nostrand Reinhold, New York, NY. 73 Mosconi, M. and Porta, M. 2000. Iteration constructs in data-flow visual programming languages. Comput. Lang. 26, 2-4, 67--104. 74 Walid A. Najjar , Edward A. Lee , Guang R. Gao, Advances in the dataflow computational model, Parallel Computing, v.25 n.13-14, p.1907-1929, Dec. 1999 [doi>10.1016/S0167-8191(99)00070-8] 75 Walid A. Najjar , Lucas Roh , A. P. Wim Böhm, An evaluation of medium-grain dataflow code, International Journal of Parallel Programming, v.22 n.3, p.209-242, June 1994 [doi>10.1007/BF02577733] 76 R. S. Nikhil, Can dataflow subsume von Neumann computing?, Proceedings of the 16th annual international symposium on Computer architecture, p.262-272, April 1989, Jerusalem, Israel [doi>10.1145/74925.74955] 77 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. 78 Gregory M. Papadopoulos, Implementation of a general-purpose dataflow multiprocessor, MIT Press, Cambridge, MA, 1991 79 Papadopoulos, G. M. and Traub, K. R. 1991. Multithreading: A revisionist view of dataflow architectures. MIT Memo CSG-330. MIT, Cambridge, MA. 80 Plaice, J. 1991. RLUCID, A General Real-Time Data-Flow Language. Lecture Notes in Computer Science, vol. 571. Springer-Verlag, Berlin, Germany, 363--374. 81 Rasure, J. and Williams, C. 1991. An integrated data flow visual language and software development environment. J. Vis. Lang. Comput. 2, 217--246. 82 Richardson, C. 1981. Manipulator control using a data-flow machine. Doctoral dissertation. University of Manchester, Manchester, U.K. 83 S. Sakai , y. Yamaguchi , K. Hiraki , Y. Kodama , T. Yuba, An architecture of a dataflow single chip processor, Proceedings of the 16th annual international symposium on Computer architecture, p.46-53, April 1989, Jerusalem, Israel [doi>10.1145/74925.74931] 84 Serot, J., Quenot, G., and Zavidovique, B. 1995. A visual dataflow programming environment for a real time parallel vision machine. J. Vis. Lang. Comput. 6, 4, 327--347. 85 Shizuki, B., Toyoda, M., Shibayama, E., and Takahashi, S. 2000. Smart browsing among multiple aspects of data-flow visual program execution, using visual patterns and multi-focus fisheye views. J. Vis. Lang. Comput. 11, 5, 529--548. 86 A. Schürr, BDL - A Nondeterministic Data Flow Programming Language with Backtracking, Proceedings of the 1997 IEEE Symposium on Visual Languages (VL '97), p.394, April 23-26, 1997 87 Silc, J., Robic, B., and Ungerer, T. 1998. Asynchrony in parallel computing: from dataflow to multithreading. Parallel Distrib. Comput. Pract. 1, 1, 3--30. 88 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. 89 Tanimoto, S. 1990. VIVA: A visual language for image processing. J. Vis. Lang. Comput. 1, 127--139. 90 Masashi Toyoda , Buntarou Shizuki , Shin Takahashi , Satoshi Matsuoka , Etsuya Shibayama, Supporting Design Patterns in a Visual Parallel Data-flow Programming Environment, Proceedings of the 1997 IEEE Symposium on Visual Languages (VL '97), p.76, April 23-26, 1997 91 Philip C. Treleaven , David R. Brownbridge , Richard P. Hopkins, Data-Driven and Demand-Driven Computer Architecture, ACM Computing Surveys (CSUR), v.14 n.1, p.93-143, March 1982 [doi>10.1145/356869.356873] 92 Treleaven, P. C. and Lima, I. G. 1984. Future computers: Logic, data flow, …, control flow? IEEE Comput. 17, 3 (Mar.), 47--58. 93 Arthur H. Veen, Dataflow machine architecture, ACM Computing Surveys (CSUR), v.18 n.4, p.365-396, Dec. 1986 [doi>10.1145/27633.28055] 94 L. Verdoscia , R. Vaccaro, A high-level dataflow system, Computing, v.60 n.4, p.285-305, 1998 [doi>10.1007/BF02684377] 95 William W. Wadge , Edward A. Ashcroft, LUCID, the dataflow programming language, Academic Press Professional, Inc., San Diego, CA, 1985 96 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. 97 Watson, I. and Gurd, J. R. 1979. A prototype data flow computer with token labelling. In Proceedings of the National Computer Conference. 623--628. 98 Weng, K. S. 1975. Stream oriented computation in recursive data-flow schemas. Tech. Rep. 68. Laboratory for Computer Science, MIT, Cambridge, MA. 99 Paul G. Whiting , Robert S. V. Pascoe, A History of Data-Flow Languages, IEEE Annals of the History of Computing, v.16 n.4, p.38-59, December 1994 [doi>10.1109/85.329757] 100 Whitley, K. 1997. Visual programming languages and the empirical evidence for and against. J. Vis. Lang. Comput. 8, 1, 109--142. 101 Yu, Y. J. and D'hollander, E. H. 2001. Loop parallelization using the 3D iteration space visualizer. J. Vis. Lang. Comput. 12, 2, 163--181. CITED BY 52 Citations Zdena Dobesova, Visual programming language in geographic information systems, Proceedings of the 2nd international conference on Applied informatics and computing theory, p.276-280, September 26-28, 2011, Prague, Czech Republic Aniket Kittur , Susheel Khamkar , Paul André , Robert Kraut, CrowdWeaver: visually managing complex crowd work, Proceedings of the ACM 2012 conference on Computer Supported Cooperative Work, February 11-15, 2012, Seattle, Washington, USA Seung Chan Lim , Sandi Lowe , Jeremy Koempel, Application of visual programming to web mash up development, Proceedings of the 12th international conference on Human-computer interaction: interaction design and usability, July 22-27, 2007, Beijing, China Dave Mason, Flexible structures for end-user programming, Proceedings of the 3rd international workshop on Free composition, October 22-22, 2012, Tucson, Arizona, USA Yang Yi Sui , Jun Lin , Xiao Tuo Zhang, An automated refactoring tool for dataflow visual programming language, ACM SIGPLAN Notices, v.43 n.4, p.21-28, April 2008 A. Tanju Erdem , Bora Utku , Tolga Abaci , Çiğdem Eroğlu Erdem, Advanced authoring tools for game-based training, Proceedings of the Summer Computer Simulation Conference, p.95-102, July 13-16, 2009, Istanbul, Turkey Lawrence Buckingham , James M. Hogan , Paul Roe , Jiro Sumitomo , Michael Towsey, Comparative Studies Simplified in GPFlow, Proceedings of the 8th international conference on Computational Science, Part III, June 23-25, 2008, Krakow, Poland Tiago A. O. Alves , Leandro A. J. Marzulo , Felipe M. G. Franca , Vitor Santos Costa, Trebuchet: exploring TLP with dataflow virtualisation, International Journal of High Performance Systems Architecture, v.3 n.2/3, p.137-148, May 2011 Mohammad Zalfany Urfianto , Tsuyoshi Isshiki , Arif Ullah Khan , Dongju Li , Hiroaki Kunieda, Decomposition of Task-Level Concurrency on C Programs Applied to the Design of Multiprocessor SoC, IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, v.E91-A n.7, p.1748-1756, July 2008 Romain Vuillemot , Béatrice Rumpler, Une interface de programmation visuelle pour la composition de services de visualisation d'information, Proceedings of the 21st International Conference on Association Francophone d'Interaction Homme-Machine, October 13-16, 2009, Grenoble, France Paul Reimer , Alexandra Branzan Albu , George Tzanetakis, Raydiance: a tangible interface for teaching computer vision, Proceedings of the 7th international conference on Advances in visual computing, September 26-28, 2011, Las Vegas, NV, USA KC Sivaramakrishnan , Lukasz Ziarek , Raghavendra Prasad , Suresh Jagannathan, Lightweight asynchrony using parasitic threads, Proceedings of the 5th ACM SIGPLAN workshop on Declarative aspects of multicore programming, January 19-19, 2010, Madrid, Spain Jean-Marc Pelletier, A graphical interface for real-time signal routing, Proceedings of the 2005 conference on New interfaces for musical expression, May 26-28, 2005, Vancouver, Canada Jacob Burnim , Koushik Sen, Asserting and checking determinism for multithreaded programs, Communications of the ACM, v.53 n.6, June 2010 Viktória Zsók , Pieter Koopman , Rinus Plasmeijer, Generic Executable Semantics for D-Clean, Electronic Notes in Theoretical Computer Science (ENTCS), v.279 n.3, p.85-95, December, 2011 Vasvi Kakkad , Andrew E. Santosa , Bernhard Scholz, Migrating operator placement for compositional stream graphs, Proceedings of the 15th ACM international conference on Modeling, analysis and simulation of wireless and mobile systems, October 21-25, 2012, Paphos, Cyprus Kung-Kiu Lau , Lily Safie , Petr Stepan , Cuong Tran, A component model that is both control-driven and data-driven, Proceedings of the 14th international ACM Sigsoft symposium on Component based software engineering, June 20-24, 2011, Boulder, Colorado, USA Brian Demsky , Jin Zhou , William Montaz, Recovery tasks: an automated approach to failure recovery, Proceedings of the First international conference on Runtime verification, November 01-04, 2010, St. Julians, Malta S. Priebe, Dynamic task generation and transformation within a nestable workpool skeleton, Proceedings of the 12th international conference on Parallel Processing, August 28-September 01, 2006, Dresden, Germany Stephan Heckmüller , Michael Spork , Bernd E. Wolfinger, Load transformation of Markovian arrival processes: methods and tool support, Proceedings of the 3rd International Conference on Performance Evaluation Methodologies and Tools, October 20-24, 2008, Athens, Greece Somashekaracharya G. Bhaskaracharya , Uday Bondhugula, PolyGLoT: a polyhedral loop transformation framework for a graphical dataflow language, Proceedings of the 22nd international conference on Compiler Construction, March 16-24, 2013, Rome, Italy Taylor L. Riché , Harrick M. Vin , Don Batory, Transformation-based parallelization of request-processing applications, Proceedings of the 13th international conference on Model driven engineering languages and systems: Part II, October 03-08, 2010, Oslo, Norway Antoniu Pop , Albert Cohen, OpenStream: Expressiveness and data-flow compilation of OpenMP streaming programs, ACM Transactions on Architecture and Code Optimization (TACO), v.9 n.4, p.1-25, January 2013 Philip T. Cox , Simon Gauvin, Controlled dataflow visual programming languages, Proceedings of the 2011 Visual Information Communication - International Symposium, p.1-10, August 04-05, 2011, Hong Kong, China Tim Kovacs , Robert Egginton, On the analysis and design of software for reinforcement learning, with a survey of existing systems, Machine Learning, v.84 n.1-2, p.7-49, July 2011 Romain Vuillemot , Béatrice Rumpler, A web-based interface to design information visualization, Proceedings of the International Conference on Management of Emergent Digital EcoSystems, October 27-30, 2009, France Niels Joncheere , Dirk Deridder , Ragnhild Straeten , Viviane Jonckers, A Framework for Advanced Modularization and Data Flow in Workflow Systems, Proceedings of the 6th International Conference on Service-Oriented Computing, p.592-598, December 01-05, 2008, Sydney, Australia Philip T. Cox , Anh Dang, Semantic comparison of structured visual dataflow programs, Proceedings of the 3rd International Symposium on Visual Information Communication, September 28-29, 2010, Beijing, China Mauro Caporuscio , Marco Funaro , Carlo Ghezzi, PaCE: a data-flow coordination language for asynchronous network-based applications, Proceedings of the 11th international conference on Software Composition, May 31-June 01, 2012, Prague, Czech Republic Manu Bansal , Jeffrey Mehlman , Sachin Katti , Philip Levis, OpenRadio: a programmable wireless dataplane, Proceedings of the first workshop on Hot topics in software defined networks, August 13-13, 2012, Helsinki, Finland Zoltán Horváth , Zoltán Hernyák , Viktória Zsók, Coordination language for distributed clean, Acta Cybernetica, v.17 n.2, p.247-271, January 2005 Andoni Lombide Carreton , Theo D'Hondt, A hybrid visual dataflow language for coordination in mobile ad hoc networks, Proceedings of the 12th international conference on Coordination Models and Languages, p.76-91, June 07-09, 2010, Amsterdam, The Netherlands Paolo Missier , Norman W. Paton , Khalid Belhajjame, Fine-grained and efficient lineage querying of collection-based workflow provenance, Proceedings of the 13th International Conference on Extending Database Technology, March 22-26, 2010, Lausanne, Switzerland Jacob Burnim , Koushik Sen, DETERMIN: inferring likely deterministic specifications of multithreaded programs, Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, May 01-08, 2010, Cape Town, South Africa Sumit Mohanty , Viktor K. Prasanna, A model-based extensible framework for efficient application design using FPGA, ACM Transactions on Design Automation of Electronic Systems (TODAES), v.12 n.2, p.13-es, April 2007 Neil Gershenfeld , David Dalrymple , Kailiang Chen , Ara Knaian , Forrest Green , Erik D. Demaine , Scott Greenwald , Peter Schmidt-Nielsen, Reconfigurable asynchronous logic automata: (RALA), ACM SIGPLAN Notices, v.45 n.1, January 2010 Martin Erwig , Eric Walkingshaw, A visual language for explaining probabilistic reasoning, Journal of Visual Languages and Computing, v.24 n.2, p.88-109, April, 2013 Laura Haas, Beauty and the beast: the theory and practice of information integration, Proceedings of the 11th international conference on Database Theory, January 10-12, 2007, Barcelona, Spain Ross Tate , Michael Stepp , Zachary Tatlock , Sorin Lerner, Equality saturation: a new approach to optimization, Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, January 21-23, 2009, Savannah, GA, USA Joäo M. P. Cardoso, Dynamic loop pipelining in data-driven architectures, Proceedings of the 2nd conference on Computing frontiers, May 04-06, 2005, Ischia, Italy Eva Burrows , Magne Haveraaen, Programmable data dependencies and placements, Proceedings of the 7th workshop on Declarative aspects and applications of multicore programming, January 28-28, 2012, Philadelphia, Pennsylvania, USA Jonathan Edwards, Coherent reaction, Proceeding of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications, October 25-29, 2009, Orlando, Florida, USA Timothy McPhillips , Shawn Bowers , Daniel Zinn , Bertram Ludäscher, Scientific workflow design for mere mortals, Future Generation Computer Systems, v.25 n.5, p.541-551, May, 2009 Emre Kiciman , Benjamin Livshits , Madanlal Musuvathi , Kevin C. Webb, Fluxo: a system for internet service programming by non-expert developers, Proceedings of the 1st ACM symposium on Cloud computing, June 10-11, 2010, Indianapolis, Indiana, USA Andoni Lombide Carreton , Stijn Mostinckx , Tom Van Cutsem , Wolfgang De Meuter, Loosely-coupled distributed reactive programming in mobile ad hoc networks, Proceedings of the 48th international conference on Objects, models, components, patterns, p.41-60, June 28-July 02, 2010, Málaga, Spain Jin Zhou , Brian Demsky, Bamboo: a data-centric, object-oriented approach to many-core software, ACM SIGPLAN Notices, v.45 n.6, June 2010 Manish Kumar Anand , Shawn Bowers , Timothy McPhillips , Bertram Ludäscher, Efficient provenance storage over nested data collections, Proceedings of the 12th International Conference on Extending Database Technology: Advances in Database Technology, March 24-26, 2009, Saint Petersburg, Russia Jacob Burnim , Koushik Sen, Asserting and checking determinism for multithreaded programs, Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, August 24-28, 2009, Amsterdam, The Netherlands Andrea Alimonda , Salvatore Carta , Andrea Acquaviva , Alessandro Pisano , Luca Benini, A feedback-based approach to DVFS in data-flow applications, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, v.28 n.11, p.1691-1704, November 2009 Chadwick A. Wingrave , Joseph J. Laviola, Jr. , Doug A. Bowman, A natural, tiered and executable UIDL for 3D user interfaces based on Concept-Oriented Design, ACM Transactions on Computer-Human Interaction (TOCHI), v.16 n.4, p.1-36, November 2009 Brian Demsky , Alokika Dash, Bristlecone: A Language for Robust Software Systems, Proceedings of the 22nd European conference on Object-Oriented Programming, July 07-11, 2008, Paphos, Cypress Seung Chan Slim Lim , Peter Lucas, JDA: a step towards large-scale reuse on the web, Companion to the 21st ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, October 22-26, 2006, Portland, Oregon, USA

PY - 2004/3

Y1 - 2004/3

N2 - 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.

AB - 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.

U2 - 10.1145/1013208.1013209

DO - 10.1145/1013208.1013209

M3 - Article

VL - 36

SP - 1

EP - 34

JO - ACM Computing Surveys

T2 - ACM Computing Surveys

JF - ACM Computing Surveys

SN - 0360-0300

IS - 1

ER -