Chair for Practical Computer Science






Formal Methods in Developing Parallel Programms

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.


Joint work with

Computing Science Department, University of Glasgow
Dr. John O'Donnell

Department of Computer Science, Chemnitz University of Technology
Prof. Dr. Gudula Rünger