previous up next top index
Précédent : Langages à objets parallèles Remonter : Langages à objets parallèles Suivant : Programmation du contrôle des processus


Langage C++//

Participants : Françoise Baude, Denis Caromel, Yves Roudier, David Sagnol

Mots-clés : langage à objets, parallélisme

Nous poursuivons actuellement la définition et l'implémentation d'un langage parallèle basé sur C++ (C++//) [12]. Ce système s'appuie sur les travaux antérieurs et actuels menés sur Eiffel//. Il reprend en particulier les objectifs de réutilisation et de transformation de programmes, et met en oeuvre des techniques développées et expérimentées pour Eiffel// (polymorphisme entre objets et processus, attente par nécessité, bibliothèques facilitant la programmation des processus).

Dans le cadre de ces travaux, le projet participe activement au groupe de travail HPCN EUROPA, qui se consacre à la normalisation des extensions parallèles de C++. Les premiers résultats des investigations menées sont publiés dans [25]. Le standard Europa proposé est en cours d'implémentation, d'une part par University College London en collaboration avec London Parallel Applications Centre (LPAC ), d'autre part par l'équipe SLOOP.

La première implémentation réalisée dans [12] était provisoire car elle n'utilisait pas les techniques et principes développés simultanément par le groupe Europa. L'objectif consiste maintenant, à partir d'Europa, à implémenter C++// comme une simple bibliothèque de classes.

Le rapprochement entre les aspects langages à objets parallèles et bibliothèques de communications nous permet de découpler certains aspects de l'implémentation, et d'utiliser ainsi les bibliothèques développées dans le projet, en l'occurrence SCHOONER (Section 3.2.3 ). Ces réalisations sont en cours, une version préliminaire est décrite dans [20].