Open-ended programming environments



next up previous contents
Next: A new logic Up: New efforts Previous: Towards improved education

Open-ended programming environments

Programming environments for parallel machines in use today are built on previous experience with sequential program development. They can be classified as:

None of these parallel programming environments satisfies the essential condition for a true education in parallel computing: the development of the intuition for parallel programming as a distinct computational phenomenon. However, all of them could contribute to this intuition by allowing us to develop hands-on experience with the currently available machines. Programming environments for HPCS is a crucial topics for future software technology because a suitable environment provides for both research and education and may have good feedback on the technology itself. But we stress here that with a parallel programming environment many implicit activities in the conventional environments must be explicitly carried out and therefore the concept itself must be carefully designed. Building upon the conventional interactive environments, we can introduce a unifying concept of programming environment as a tuple 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.