Benoît Lanaspre and Hugh Glaser.
November 1 1995.
Prograph provides a sophisticated application builder, together with a visual programming language, supported by a powerful program development environment. The programming language uses an object-oriented model for data abstraction and the logic is based on a dataflow model of computation, specified graphically. Graphical dataflow gives programmers a clear view of the potential for exploitation of concurrency and so the Prograph language appears to give some leverage for the programming of parallel or distributed systems. However parallel scheduling of operations based solely on the dataflow dependencies might result in an incorrect execution of the program. This paper gives a summary description of the features of the language. The conditions that might lead to an incorrect execution of the program are briefly discussed and the needs for a static analysis motivated. Knowledge of the types of the data objects flowing on the graph would provide precious information to achieve the goals of the static analysis. A suitable representation for the type information is discussed. The inference algorithm is described in an informal manner. The perspectives of this work are presented in the conclusion.
Full paper (22 pages) available in gzipped postscript.