![]()
Over the two meetings of the Europa Architecture SIG there has been various ideas and suggestions as to the structure that a potential European Standard Parallel C++ could take. These ideas have mainly come from the members of the working group based on previous experience in Parallel C++ Research projects-particularly UC++ (LPAC/UCL) and a C++ based on Parallel Eiffel Systems (Eiffel//) (University Of Nice/INRIA). Other ideas have come both from Industrial partners in the working group (particularly ICL and DEC) and knowledge of other (non participating) Parallel C++ projects both within Europe and the rest of the world.
Detailed descriptions of the proposals put forward to date appear both in the Europa Roadmap document and in the minutes of the Architecture SIG meetings. It is not the aim of this document to describe these proposals in any detail, but to reconcile any fundamental differences in their approach to Parallel C++. As a brief resume however, the Eiffel// model of C++ put forward by the University Of Nice/INRIA is a type (class based) system, while the UC++ model (LPAC/UCL) is an allocation/message passing system.
This document wishes to reconcile the various approaches to Parallel C++ in order to provide a framework in which the detailed requirements of any such language can be analysed and in particular to provide a framework within which language builders and implementors can work.
It is suggested that the Europa Working Group does not attempt to define a Parallel C++ language per se; rather it should seek to define a set of standards, a set of facilities and a set of guidelines which language designers will need to consider and follow in order to have a Parallel C++ language which is deemed to be Europa Compliant. Europa C++ (EC++) is an abstraction of Parallel C++, conformance to which should ensure that a parallel C++ application will run on diverse machine platforms.
![]()