Data flow computation

All data flow models describe computation in terms of locally controlled events; each event is the “firing” of an “actor”. There is no notion of a single point or locus of control—nothing corresponding to the program location counter of a conventional sequential computer. Since many actors may be ready to fire, these models can represent many asynchronous concurrent computational events. Nevertheless, they can guarantee an input/output behavior that is unaffected by the order in which the firing of actors is carried out. This property of data flow models—determinacy—ensures that their input/output behavior is functional. Thus the semantics of data flow graphs are closely related to the semantics of applicative programming languages, and we will illustrate the correspondence of data flow graphs to textual programs by means of program fragments written in Val, an applicative programming language developed at MIT for scientific applications.

[1]  J. Dean Brock,et al.  A formal model of non-determinate dataflow computation , 1983 .

[2]  William B. Ackerman,et al.  Data Flow Languages , 1899, Computer.

[3]  William B. Ackerman,et al.  Scenarios: A Model of Non-Determinate Computation , 1981, ICFPC.

[4]  Arvind,et al.  The U-Interpreter , 1982, Computer.

[5]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

[6]  Daniel P. Friedman,et al.  CONS Should Not Evaluate its Arguments , 1976, ICALP.

[7]  Robin Milner,et al.  A Metalanguage for interactive proof in LCF , 1978, POPL.

[8]  Jack B. Dennis,et al.  First version of a data flow procedure language , 1974, Symposium on Programming.

[9]  D. A. Turner,et al.  A new implementation technique for applicative languages , 1979, Softw. Pract. Exp..

[10]  Suhas S. Patil,et al.  Closure properties of interconnections of determinate systems , 1970, Project MAC Conference on Concurrent Systems and Parallel Computation.

[11]  Guang R. Gao,et al.  Maximum Pipelining of Array Operations on Static Data Flow Machine , 1983, ICPP.

[12]  Robert M. Keller,et al.  Data Flow Program Graphs , 1982, Computer.

[13]  WILLIAM B. ACKERMAN Data flow languages , 1979, 1979 International Workshop on Managing Requirements Knowledge (MARK).

[14]  Guang R. Gao,et al.  Modeling the Weather with a Data Flow Supercomputer , 1984, IEEE Transactions on Computers.

[15]  James R. McGraw,et al.  The VAL Language: Description and Analysis , 1982, TOPL.

[16]  John Darlington,et al.  ALICE a multi-processor reduction machine for the parallel evaluation CF applicative languages , 1981, FPCA '81.

[17]  Tilak Agerwala,et al.  Data Flow Systems: Guest Editors' Introduction , 1982, Computer.

[18]  Robert M. Keller,et al.  A loosely-coupled applicative multi-processing system* , 1979, 1979 International Workshop on Managing Requirements Knowledge (MARK).

[19]  Jack B. Dennis,et al.  Programming generality, parallelism and computer architecture , 1968, IFIP Congress.

[20]  Keshav Pingali,et al.  Efficient demand-driven evaluation. II , 1983 .

[21]  William W. Wadge,et al.  Lucid, a nonprocedural language with iteration , 1977, CACM.

[22]  John W. Backus,et al.  Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs , 1978, CACM.

[23]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.

[24]  Antony A. Faustini An Operational Semantics for Pure Dataflow , 1982, ICALP.

[25]  Jack B. Dennis,et al.  Data Flow Supercomputers , 1980, Computer.