Although programming environments have been improved over the years, developing
reliable and correct software systems is still hard to realize. Especially
parallel and distributed applications include additional complexity hardly to
overlook caused by the distribution of tasks and corresponding data as well as
increases in efficiency. Subsequent program verification is only possible for
less complex programs.
The use of formal methods in developing parallel programs by a stepwise
derivation of an implementation out of the specification provides an
alternative with general acceptance, however mostly different levels of a
language are necessary.
Functional programming languages have the advantage that not only the inital
task formulation and the final implementation but also the steps of derivation
and proof are described in the same language.
In order to distinguish between the algorithm and the parallel programming
model an abstract parallel machine (APM) is introduced. This allows the
transformation of programming models. An additional cost dimension makes the
evaluation of algorithms with regard to the different APMs possible.
The project is supported as an ARC-Project.
Computing Science Department, University of Glasgow
Dr. John O'Donnell
Department of Computer Science, Chemnitz University of Technology
Prof. Dr. Gudula Rünger