Do! : Générateur automatique de code Java réparti
Participant : Jean-Louis
Pazat.
Mots clés : framework, objets,
transformation de programme .
Contact : Jean-Louis Pazat
Statut : Déposé à l'APP sous le
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 fondé 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, fondé sur le design pattern
des opérateurs.
Dans le modèle d'exécution de Do!, les collections sont
distribuées (leurs é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).