Abstract
We have defined ADFL, an Applicative Data Flow Language, given its denotational semantics, thus demonstrating its simplicity, given its operational semantics, thus demonstrating its concurrency, and proven the consistency of the two semantic definitions.
This research is best extended by extension of the data flow language. Procedures are an obvious, and easy, addition to the language. The addition of constructs for programming real-time systems is a difficult, though rewarding, extension. In the data flow language of Weng [13], program identifiers may have streams (histories) as values. Interprocess communication, similar to that observed in real-time systems, is accomplished by the passing of streams. Dennis [7] has defined a stream operator which non-determinately merges two input stream and has used it to specify the inherently non-determinate airline reservation system. While the non-determinacy of this language limits the simplicity of its-semantic characterization, the elevation of process communication and synchronization to the level of passed parameters results in programs which are easier to comprehend and verify.
This research was supported by the National Science Foundation under contract 7915255-MCS and the Department of Energy under contract DE-AC02-79ER10473.
Preview
Unable to display preview. Download preview PDF.
6. References
Ackerman, W. B., and J. B. Dennis, VAL — A Value-Oriented Algorithmic Language: Preliminary Reference Manual, Computation Structures Group, Laboratory for Computer Science (TR-218), MIT, Cambridge, Massachusetts, June 1979.
Arvind, and K. P. Gostelow, “A Computer Capable of Exchanging Processors for Time”, Information Processing 77: Proceedings of IFIP Congress 77 (B. Gilchrist, Ed.), August 1977, 849–853.
Arvind, K. P. Gostelow, and W. Plouffe, “Indeterminacy, Monitors and Dataflow”, Proceedings of the Sixth ACM Symposium on Operating Systems Principles, Operating Systems Review 11, 5(November 1977), 159–169.
Brinch Hansen, P., “Distributed Processes: A Concurrent Programming Concept,” Communications of the ACM 21, 11(November 1978), 934–941.
Brock, J. D., Operational Semantics of a Data Flow Language, Laboratory for Computer Science (TM-120), MIT, Cambridge, Massachusetts, December 1978.
Dennis, J. B., “First Version of a Data Flow Procedure Language”, Programming Symposium: Proceedings, Colleque sur la Programmation (B. Robinet, Ed.), Lecture Notes in Computer Science 19, 362–376.
Dennis, J. B., “A Language Design for Structured Concurrency”, Design and Implementation of Programming Languages: Proceedings of a DoD Sponsored Workshop (J. H. Williams and D. A. Fisher, Eds.), Lecture Notes in Computer Science 54, October 1976.
Dennis, J. B., and D. P. Misunas, “A Preliminary Architecture for a Basic Data-Flow Processor”, The Second Annual Symposium on Computer Architecture: Conference Proceedings, January 1975, 126–132.
Hoare, C. A. R., “Communicating Sequential Processes”, Communications of the ACM 21, 8(August 1978), 666–677.
Kahn, G., “The Semantics of a Simple Language for Parallel Programming”, Information Processing 74: Proceedings of the IFIP Congress 74, August 1974, 471–475.
Scott, D. S., “Data Types as Lattices”, SIAM Journal of Computing 5, 3(September 1976), 522–587.
Tennent, R. D., “The Denotational Semantics of Programming Languages”, Communications of the ACM 19, 8(August 1976), 437–453.
Weng, K.-S., Stream-Oriented Computation in Recursive Data Flow Schemas, Laboratory for Computer Science (TM-68), MIT, Cambridge, Massachusetts, October 1975.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1980 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dean Brock, J. (1980). Consistent semantics for a data flow language. In: Dembiński, P. (eds) Mathematical Foundations of Computer Science 1980. MFCS 1980. Lecture Notes in Computer Science, vol 88. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0022503
Download citation
DOI: https://doi.org/10.1007/BFb0022503
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-10027-0
Online ISBN: 978-3-540-38194-5
eBook Packages: Springer Book Archive