© 1994 by British Computer Society
| ||||||||||||||||||||||||||||||||||||||||||||||||||
Interference Control in SuperpascalA Block-Structured Parallel Language
School of Computer and Information Science, Syracuse University, Syracuse, NY 13244, USA
Process interference due to shared variables is a serious problem in parallel programs written in insecure programming languages. The only effective remedy has been known since the 1970s: a parallel programming language must be designed to permit detection of process interference during compilation. This sound principle has seldom been adopted and enforced consistently for block-structured parallel languages. This paper discusses syntactic control of interference in SuperPascal, a block-structured programming language for parallel scientific computing. SuperPascal omits the insecure concepts of Pascal, and adds parallel statements and synchronous communication channels. Restrictions on the use of variables permit a single-pass compiler to check that parallel processes are disjoint, even if they use procedures with global variables.
Received November 1993. revised May 1994.
* School of Computer and Information Science, Syracuse University, Syracuse, NY 13244, USA