Recherche Membres Publications Logiciels Actualités Plan du site
Action ROMANS Thèmes de recherche de l'action ROMANS
Thèmes de recherche de l'action ROMANS
Pilotage de codes de calcul
     
 
Représentation de connaissances
Constr. de modèles numériques
Pilotage de
codes de calcul
Collaborations académiques
Collaborations industrielles
Le pilotage de codes de calcul consiste à aider un utilisateur dans l'utilisation de codes de calcul qui peuvent prendre diverses formes :  bibliothèques de programmes, modules ou composants logiciels. Le pilotage consiste ici à permettre à l'utilisateur de caractériser le problème à résoudre, de sélectionner les méthodes les plus adaptées à la résolution du problème, de paramétrer les codes de calcul afin de résoudre au mieux le  problème (calage), enfin d'enchaîner les exécutions des divers codes à utiliser dans la résolution du problème.

L'Action ROMANS oeuvre dans le but de faciliter l'automatisation partielle ou complète d'une chaîne de traitements. L'approche choisie repose sur la mise à disposition de l'utilisateur d'une base de connaissances lui permettant d'expliciter à la fois les méthodes de résolution et les informations relatives aux codes de calcul. 

Cette base de connaissances repose sur un modèle permettant la définition des problèmes à résoudre et des méthodes de résolution, mais également l'explicitation du flot de données entre les codes qui permet d'enchaîner les codes de calcul. Sur ce modèle de représentation, appelé modèle de tâches, se greffent des moteurs de pilotages de codes génériques, paramétrables et réutilisables.

Les modèles de tâches permettent de décrire des schémas de résolution de problèmes sous la forme d'une décomposition récursive du problème initial en sous-problèmes plus simples. Cette décomposition se termine lorsqu'on obtient des problèmes élémentaires solubles par l'exécution d'un fragment de code. En outre, la décomposition est réalisable de manière coopérative : ainsi, les utilisateurs peuvent, à tout moment, arrêter une décomposition, modifier la description du problème, et comparer plusieurs schémas de résolution entre eux. Les modèles de tâches sont ainsi bien adaptés à la formalisation et l'exploration d'un processus de résolution quelconque.

L'Action ROMANS étudie et développe un langage de description de tâches en AROM, basé sur une représentation classe/association, et  permettant d'exécuter les méthodes associées aux tâches élémentaires sur les sites mêmes où elles sont développées et maintenues. Pour l'utilisateur, ce processus reste totalement transparent : tout se passe comme si le schéma de décomposition et les méthodes élémentaires étaient présents sur son site. L'avantage d'une telle approche répartie est double. D'une part, on élimine les problèmes de portabilité des applications car elles restent sur les sites où elles ont été développées et d'autre part, il devient envisageable de paralléliser certains traitements.

Toutefois, la mise en oeuvre d'une exécution répartie nécessite la définition de mécanismes de localisation des compétences et l'élaboration de processus de synchronisation permettant aux tâches réparties d'interagir entre les différents sites. Ces deux points entraînent évidemment des modifications structurelles et opérationnelles du modèle de tâches classique. Par ailleurs, l'utilisation d'un environnement réparti oblige à prendre en considération des contraintes temporelles et de disponibilité des ressources matérielles et logicielles. En d'autres termes, les stratégies de résolution doivent tenir compte de la puissance de calcul des machines, de leur charge de travail et de la disponibilité des compétences et des données.
 

Page modifiée le 10/02/2000
This page in english