Projet : CAPS

previous up next contents
Précédent : Cobra : exécutif pour la programmation Remonter : Logiciels Suivant : Résultats nouveaux


   
Do! : Générateur automatique de code Java réparti



Participants : Pascale Launay, Jean-Louis Pazat.

Mots clés : frameworks, objets, transformations de programmes .

Contact: J.-L. Pazat
Statut: Déposé à l'APP sous ne numéro IDDN.FR.001.270020.00.R.P.1998.000.10600, disponible sur le serveur Web du projet.  

Le logiciel Do! réalise une génération automatique de code réparti à partir de code Java parallèle centralisé. Le modèle de programmation parallèle est exprimé par un framework, qui permet de limiter l'expression du parallélisme sans modification du langage Java. Le placement des tâches et des données sur les processeurs est dérivé d'indications du programmeur sur les caractéristiques de distribution de son application. Le code généré s'appuie sur le RMI Java et un exécutif (classes Java) permettant la création distante d'objets. Par rapport à l'approche HPF, nous prenons en compte dans un même cadre la génération de code réparti par distribution de contrôle et par distribution de données.

Le modèle de programmation parallèle de Do! est basé sur les notions d'objets actifs (``tâches'') et de collections pouvant contenir tout type d'éléments (et en particulier des tâches). Il est structuré sous forme d'un framework, basé sur le design pattern des opérateurs.

Dans le modèle d'exécution de Do!, les collections sont distribuées (leur éléments, tâches ou données, sont répartis sur les processeurs). Le placement des tâches et des données est donc guidé par la distribution des collections.

La transformation d'un programme centralisé en programme réparti est réalisé automatiquement par Do! en changeant la bibliothèque des collections utilisées pour le parallélisme (utilisation des collections distribuées), et en transformant les composants définis par le programmeur, afin d'assurer une localisation transparente des objets du programme (placement et accès).



previous up next contents
Précédent : Cobra : exécutif pour la programmation Remonter : Logiciels Suivant : Résultats nouveaux