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 : Jean-Louis 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).