The programming model of ASSIST, an environment for parallel and distributed portable applications