Abstract
A language for representing computational procedures based on the concept of data flow is presented in terms of a semantic model that permits concurrent execution of noninterfering program parts. Procedures in the language operate on elementary and structured values, and always define functional transformations of values. The language is equivalent in expressive power to a block structured language with internal procedure variables and is a generalization of pure Lisp. The language is being used as a model for study of fundamental semantic constructs for programming, as a target language for evaluating trans-latability of programs expressed at the user-language level, and as a guide for research in advanced computer architecture.
This work was supported by the National Science Foundation under research grant GJ-34671.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
Adams, D. A. A Computation Model With Data Flow Sequencing. Technical Report CS 117, Computer Science Department, School of Humanities and Sciences, Stanford University, Stanford, Calif., December 1968, 130 pp.
Amerasinghe, S. N. The Handling of Procedure Variables in a Base Language. S. M. Thesis, Department of Electrical Engineering, Massachusetts Institute of Technology, Cambridge, Mass., September 1972, 179 pp.
Ashcroft, E., and Z. Manna. The translation of ‘goto’ programs to ‘while’ programs. Information Processing 71, North-Holland Publishing Co., 1972, 250–255.
Bahrs, A. Operation patterns (an extensible model of an extensible language). Symposium on Theoretical Programming, Novosibirsk, USSR, August 1972.
Dahl, O. J., and C. A. R. Hoare. Hierarchical program structures. Structured Programming, Academic Press 1972, 175–220.
Dennis, J. B. [1969] Programming generality, parallelism and computer architecture. Information Processing 68, North-Holland Publishing Co., 1969, 484–492.
Dennis, J. B. [1971]. On the design and specification of a common base language. Proceedings of the Symposium on Computers and Automata, Polytechnic Press of the Polytechnic Institute of Brooklyn, Brooklyn, N. Y. 1971, 47–74.
Dennis, J. B. [1973]. Modularity. Advanced Course on Software Engineering, Lecture Notes in Economics and Mathematical Systems, 81, Springer-Verlag 1973, 128–182.
Dennis, J. B., and J. B. Fosseen. Introduction to Data Flow Schemas. [To be published.]
Dijkstra, E. W. Notes on structured programming. Structured Programming, Academic Press 1972, 1–82.
Evans, A., Jr. PAL — a language designed for teaching programming linguistics. Proceedings of the 23rd ACM National Conference, 1968, 395–403.
Fosseen, J. B. Representation of Algorithms by Maximally Parallel Schemata. S. M. Thesis, Department of Electrical Engineering, Massachusetts Institute of Technology, Cambridge, Mass., June 1972, 100 pp.
Kahn, G. A Preliminary Theory for Parallel Programs. Internal Memo, Institut de Recherche d'Informatique et d'Automatique, Rocquencourt, Yvelines, France, 1973, 20 pp.
Karp, R. M., and R. E. Miller. Properties of a model for parallel computations: determinacy, termination, queueing. SIAM J. of Applied Math. 14, 6 (November 1966), 1390–1411.
Kosinski, P. A Data Flow Programming Language. Report RC 4264, IBM T. J. Watson Research Center, Yorktown Heights, N. Y., 140 pp.
Landin, P. J. The mechanical evaluation of expressions. The Computer Journal 6, 4 (January 1964), 308–320.
Lohr, K.-P. Buffered Communication in Abstract Systems. Bericht Nr. 73-03, Fachbereich 20 — Kybernetik, Technische Universitat Berlin, February 1973, 31 pp.
Liskov, B. H., and S. N. Zilles. Programming with abstract data types. Paper to be presented at the Very High Level Languages Symposium, Santa Monica, California, March 1974.
Luckham, D. C., D. M. R. Park, and M. S. Paterson. On formalised computer programs. J. of Computer and System Sciences 4, 3 (June 1970), 220–249.
McCarthy, J. Recursive functions of symbolic expressions and their computation by machine, Part I. Comm. of the ACM 3, 4 (April 1960), 184–195.
Paterson, M. S. Equivalence Problems in a Model of Computation. Ph.D Thesis, Trinity College, University of Cambridge, August 1967, 154 pp.
Patil, S. S. Closure properties of interconnections of determinate systems. Record of the Project MAC Conference on Concurrent Systems and Parallel Computation, ACM, New York 1970, 107–116.
Rodriguez, J. E. A Graph Model for Parallel Computation. Report MAC-TR-64, Project MAC, Massachusetts Institute of Technology, Cambridge, Mass., September, 1969, 120 pp.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1974 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dennis, J.B. (1974). First version of a data flow procedure language. In: Robinet, B. (eds) Programming Symposium. Lecture Notes in Computer Science, vol 19. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-06859-7_145
Download citation
DOI: https://doi.org/10.1007/3-540-06859-7_145
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-06859-4
Online ISBN: 978-3-540-37819-8
eBook Packages: Springer Book Archive