skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: VAL language: description and analysis

Abstract

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.more » 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.« less

Authors:
Publication Date:
Research Org.:
Lawrence Livermore National Lab., CA
OSTI Identifier:
6360552
DOE Contract Number:  
W-7405-ENG-48
Resource Type:
Journal Article
Journal Name:
ACM Trans. Prog. Lang. Syst.; (United States)
Additional Journal Information:
Journal Volume: 4:1
Country of Publication:
United States
Language:
English
Subject:
99 GENERAL AND MISCELLANEOUS//MATHEMATICS, COMPUTING, AND INFORMATION SCIENCE; PROGRAMMING LANGUAGES; ALGORITHMS; COMPUTERS; DESIGN; EFFICIENCY; PROGRAMMING; MATHEMATICAL LOGIC; 990200* - Mathematics & Computers

Citation Formats

McGraw, J R. VAL language: description and analysis. United States: N. p., 1982. Web. doi:10.1145/357153.357157.
McGraw, J R. VAL language: description and analysis. United States. https://doi.org/10.1145/357153.357157
McGraw, J R. 1982. "VAL language: description and analysis". United States. https://doi.org/10.1145/357153.357157.
@article{osti_6360552,
title = {VAL language: description and analysis},
author = {McGraw, J R},
abstractNote = {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.},
doi = {10.1145/357153.357157},
url = {https://www.osti.gov/biblio/6360552}, journal = {ACM Trans. Prog. Lang. Syst.; (United States)},
number = ,
volume = 4:1,
place = {United States},
year = {Fri Jan 01 00:00:00 EST 1982},
month = {Fri Jan 01 00:00:00 EST 1982}
}