1996hpcs P. Iglinski, N. Kazouris, S. MacDonald, D. Novillo, I. Parsons, J. Schaeffer, D. Szafron, D. Woloschuk, Using a Template-Based Parallel Programming Environment to Eliminate Errors, HPCS 96 (available on CD-ROM from Carleton University press), Ottawa, June, 1996, 22 ms. abstract or pdf.
Abstract:

In this paper we describe how a template-based approach to writing distributed/parallel applications can be used to eliminate parallel programming errors. We take a two phase approach. First, the programming model can be designed to prevent many common parallel errors from occurring. Second, we show how an integrated set of tools that support the common model provided by the templates can be used to quickly detect and fix errors that cannot be prevented. In effect, a high-level view of a parallel program can be used to improve the software engineering properties of a distributed program, and reduce the time required to produce a correct, functional program.