Next: Communication et placement Up: Langages à objets Previous: Réutilisationtransformation, et

Bibliothèques

Le dernier axe consiste en l'étude et la définition de bibliothèques pour la programmation parallèle. Celles-ci existent à différents niveaux et permettent de répondre à des besoins très différents: programmation du service des requêtes envoyées à un processus, abstractions pour la programmation du contrôle des processus, bibliothèques spécifiques à l'environnement de simulation.

Le mécanisme d'une bibliothèque de routines permettant la programmation du service [22] des requêtes envoyées à un processus est maintenant relativement bien maîtrisé. Cette technique permet une plus grande flexibilité et surtout une extensibilité qui n'existent pas dans des langages traditionnels où le service est réalisé par un nombre restreint de primitives définies dans le langage même.

L'étude des abstractions pour la programmation du contrôle dans les langages parallèles se poursuit [21][23]. À ce titre, une collaboration avec le LAN/École Centrale de Nantes a permis de définir en Eiffel// un cadre de programmation correspondant aux paradigmes du langage réactif Electre [24]. Dans le cadre de la définition du simulateur parallèle, il est prévu de définir des abstractions spécifiques qui faciliteront la programmation du système.

Le troisième type de bibliothèques à réaliser consiste en un ensemble de classes dédiées à la construction de l'environnement générique de simulation parallèle. Dans la droite ligne du projet MRT PROSIT [25][31] (Simulog/INRIA) nous continuons le développement d'un simulateur à événements discrets basé sur une approche objets et destiné à être utilisé à la fois dans un contexte séquentiel et sur des systèmes MIMD . Parallèlement au développement du premier prototype, nous nous intéressons aux problèmes d'optimisation liée au domaine (réseaux de files d'attente, réseaux de Petri, systèmes de mobiles), ainsi qu'aux problèmes de placement et d'ordonnancement spécifiques de la simulation.

Dans ce cadre, ajoutons un dernier type de bibliothèques qui pourront être définies: celles correspondant à l'encapsulation de fonctionnalité relevant du parallélisme virtuel: communication, placement, ordonnancement. Elles seront ainsi accessibles facilement lors de la programmation de l'environnement de simulation, mais également de façon indépendante pour d'autres types d'applications.

Toutes ces bibliothèques, qui existent partiellement et dans différents langages, seront bien sûr réalisées dans le cadre uniforme du langage C++//.



Next: Communication et placement Up: Langages à objets Previous: Réutilisationtransformation, et


Philippe.Mussi@sophia.inria.fr
Wed Jan 25 19:40:34 MET 1995