Programming environments for parallel machines in use today are built on previous experience with sequential program development. They can be classified as:
where 
 is a collection of objects (data and programs) 
used for program development and execution, 
 allows 
the programmer to express requests to the environment, and 
 maps 
 into streams of 
control on the underlying machine.