Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

VAL language: description and analysis

Journal Article · · ACM Trans. Prog. Lang. Syst.; (United States)

VAL is a high-level, function-based language designed for use on data flow computers. A data flow computer has many small processors organized to cooperate in the executive of a single computation. A computation is represented by its data flow graph; each operator in a graph is scheduled for execution on one of the processors after all of its operands' values are known. VAL promotes the indentification of concurrency in algorithms and simplifies the mapping into data graphs. This paper presents a detailed introduction to VAL and analyzes its usefulness for programming in a highly concurrent environment. VAL provides implicit concurrency (operations that can execute simultaneously are evident without the need for any explicit language notation). The language uses function- and expression-based features that prohibit all side effects, which simplifies translation to graphs. The salient language features are described and illustrated through examples taken from a complete VAL program for adaptive quadrature. Analysis of the language shows that VAL meets the critical needs for a data flow environment. The language encourages programmers to think in terms of general concurrency, enhances readability (due to the absence of side effects), and possesses a structure amenable to verification techniques. However, VAL is still evolving. The language definition needs refining, and more support tools for programmer use need to be developed. Also, some new kinds of optimization problems should be addressed.

Research Organization:
Lawrence Livermore National Lab., CA
DOE Contract Number:
W-7405-ENG-48
OSTI ID:
6360552
Journal Information:
ACM Trans. Prog. Lang. Syst.; (United States), Journal Name: ACM Trans. Prog. Lang. Syst.; (United States) Vol. 4:1
Country of Publication:
United States
Language:
English

Similar Records

Data flow computing: software development. [VAL]
Conference · Mon Jul 23 00:00:00 EDT 1979 · OSTI ID:6130276

Streams and iteration in VAL additions to a data-flow language
Conference · Thu Dec 31 23:00:00 EST 1981 · OSTI ID:5011316

Language features for a static data flow environment
Book · Fri Dec 31 23:00:00 EST 1982 · OSTI ID:5814399