The basic concepts of a relational model of programming are introduced which model supports the synthesis of parallel programs. We define the concepts of a problem, an abstract program, behaviour relation of a parallel program and a solution. Programming theorems are developed and verified (computing the values of an associative function, theorem of pipelines, etc.) which theorems are widely applicable for different concrete problems. The abstract program is implemented in C/PVM on a PowerXplorer computer containing 16 processors. The effectiveness of an implemented program is investigated.