Projet : SHERPA

previous up next contents
Précédent : Visualisation et diffusion des bases Remonter : Fondements scientifiques Suivant : Construction et exploitation de modèles


   
Résolution de problèmes et modèles de tâches

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 résolvables par l'exécution d'une méthode informatique. L'utilisation d'un modèle de tâches sur un problème donné s'effectue de la manière suivante : à chaque pas de décomposition, le problème courant, représenté par une instance de tâche, est tout d'abord caractérisé par sa classification dans une hiérarchie de tâches de même catégorie, puis il est décomposé selon les prescriptions de la tâche qui a été sélectionnée. Il en résulte donc une analyse particulière en sous-problèmes et le cycle caractérisation-décomposition se répète sur chacun de ces sous-problèmes. 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 donc bien adaptés à la formalisation et l'exploration d'un processus de résolution quelconque.

Ces modèles de tâches sont mis en oeuvre dans des environnements coopératifs d'aide à la résolution de problèmes. Le projet Sherpa a ainsi développé, de 1994 à 1996, en collaboration avec la société Ilog, l'environnement POWERTASKS. Ultérieurement, une version répartie de cet environnement a été réalisée : elle permet 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ésentes sur son site. L'avantage d'une telle approche 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.



previous up next contents
Précédent : Visualisation et diffusion des bases Remonter : Fondements scientifiques Suivant : Construction et exploitation de modèles