• Aucun résultat trouvé

de synthèse par un prototype de système

4.6 Instanciation de la tâche .1 Introduction.1 Introduction

Une fois la requête structurée saisie par l'utilisateur, elle est stockée et ajoutée à la liste des requêtes à traiter. Elle est alors repérée par un processus de contrôle du traitement de synthèse qui tourne en permanence. Celui-ci lance le traitement de la requête et change son statut à En cours d'exécution. Il contrôle aussi les accès concurrents aux ressources par le système de traitement, par exemple pour s'assurer que les identiants de requête sont bien uniques quand plusieurs sont exécutées en même temps.

l'archi-tecture logique du prototype, cette instanciation implique tout à la fois une opéra-tionnalisation du modèle de tâche, par association de chaque sous-tâche élémentaire avec un composant particulier de la librairie de composants, et sa spécialisation avec des informations issues de la requête, des préférences de l'utilisateur et des connaissances du domaine.

L'architecture logicielle sous-jacente et les éléments qu'elle implique sont présentés dans la suite de cette section.

4.6.2 Architecture logicielle

L'instanciation de la tâche est réalisée par le gestionnaire de tâche, comme présenté Fig. 4.7. Celui-ci parcourt l'ensemble du chier de modèle de tâche.

Fig. 4.7: Opérationnalisation du modèle de tâche - Ce processus est réalisé par le gestionnaire de modèle qui parcourt le modèle de tâche et le spécialise selon les indications de sources pour la spécialisation que le modèle contient. Selon les instructions du modèle, le gestionnaire accède à la requête, aux préférences utilisateur et aux connaissances du domaine par l'intermédiaire de gestionnaires spéciques, récupère les informations de spécialisation et complète les paramètres de chacune des sous-tâches du modèle. Il a aussi recours à un gestionnaire de librairie pour accéder à la librairie de composants et déterminer quel composant utiliser pour chaque sous-tâche élémentaire.

Pour chaque sous-tâche élémentaire du modèle, le gestionnaire de tâche commence par dénir quel composant utiliser, en se basant sur des connaissances expérimen-tales de type méthodes. Dans le contexte du prototype, comme exposé Para-graphe 4.3.2.3, ces connaissances dénissent un composant par défaut pour chaque sous-tâche élémentaire. Ce défaut peut être écrasé par des instructions spéciques de la requête ou des préférences de l'utilisateur.

En pratique, le gestionnaire de tâche use d'un arbre de décision très simple pour choisir le composant à utiliser. Il commence par vérier si un composant spécique est déni dans la requête et si c'est le cas, prévoit d'utiliser celui-là. Si aucune indication n'est donnée dans la requête, il vérie de la même façon les préférences utilisateur, et si rien n'est indiqué, il recourt au composant par défaut. Ainsi qu'il a été présenté Paragraphe4.3.2.3, des représentations de connaissances expérimentales plus complexe pourraient permettre à l'avenir une gestion plus ne du choix du composant à utiliser pour chaque sous-tâche élémentaire, rendant ainsi le processus d'opérationnalisation plus adapté aux besoins des usagers.

Le gestionnaire de tâche lit ensuite les instructions de spécialisation, qui dénis-sent les paramètres du composant à utiliser. Chaque paramètre inclut l'indication d'une source de spécialisation primaire et des sources optionnelles. Ces sources peu-vent être un élément de la requête, des préférences utilisateur, des connaissances du domaine d'étude ou expérimental, ou le résultat d'une autre sous-tâche, stockée dans une partie du tableau noir. Le gestionnaire teste les sources dans l'ordre une à une en accédant à la source par l'intermédiaire d'un gestionnaire spécique. Dès qu'une source dénie a été trouvée, il utilise ces informations pour spécialiser le paramètre. Un exemple de spécialisation de paramètre est proposé Fig. 4.8. La sous-tâche qui consiste en le calcul de la taille de la grille du document de synthèse a trois paramètres dont la largeur de la grille. Cette largeur peut être dénie dans la re-quête, comme contrainte expérimentale. Elle peut aussi faire partie des préférences de l'utilisateur. Enn, une valeur par défaut est dénie dans les connaissances du domaine.

Pour spécialiser ce paramètre, le gestionnaire de modèle interroge tout d'abord le gestionnaire de requête pour savoir si la taille de grille est spéciée dans la requête. Si oui, il utilise cette valeur pour spécialiser la largeur de grille. Sinon, il fait appel au gestionnaire de préférences pour déterminer si l'utilisateur a cette valeur dans son chier de préférences. Si oui, il utilise la valeur issue des préférences pour spécialiser le paramètre, sinon, il demande la valeur par défaut au gestionnaire de connaissances et l'utilise pour spécialiser la largeur de grille.

Cette valeur de spécialisation est stockée au sein du tableau noir à un emplace-ment particulier, et la référence de cet emplaceemplace-ment est indiquée au sein du chier de modèle spécialisé.

Une fois le paramètre spécialisé, le gestionnaire de modèle passe au paramètre suivant. Il a recours à la librairie de composants par l'intermédiaire d'un gestionnaire de librairie pour vérier que tous les paramètres décrits pour le composant corre-spondant à la sous-tâche élémentaire sont bien dénis. Une fois toutes les sous-tâches spécialisées, le modèle spécialisé, correspondant à la tâche instanciée est stocké dans un chier XML et il peut être exécuté.

Fig. 4.8: Exemple de spécialisation de paramètre - Cette spécialisation est dirigée par le modèle de tâche selon un arbre de décision très simple, tel qu'illustré ici pour le paramètre Width du

composant GridSize qui détermine la taille de la grille du document de synthèse.

4.6.3 Modèle spécialisé

L'instanciation du modèle de tâche qui vient d'être présentée, par le processus qui a été décrit en début de section, conduit à l'écriture d'un chier XML de modèle spécialisé ou instance de tâche. Ce chier reprend la même structure que le chier de modèle de tâche et indique, au niveau sous-tâche élémentaire, le composant à utiliser, ainsi que les informations de spécialisation. Ces informations de spécialisa-tion sont indiquées sous la forme de la référence à l'emplacement du tableau noir où l'information est localisée. Quelques exemples pour l'étude d'illustration considérée dans ce chapitre sont présentés Tab. 4.3.

Ainsi, par exemple, le composant CriteriaApplication, qui permet la sélection stricte d'individus selon un jeu de critères reçoit comme paramètre la valeur de critère de sélection dénie dans la requête, soit une localisation de la tumeur dans le côlon (TumorLocation = colon). Le composant Language, lui, est spécialisé à

Tab. 4.3: Modèle de tâche spécialisé - Ce tableau répertorie quelques exemples de composants inclus dans le modèle de tâche et présente, pour l'exemple d'étude considéré, les informations de

spécialisation correspondantes, telles que stockées dans le tableau noir.

Composant Description Spécialisation

Sélection :

-

CriteriaApplica-tion Application stricte d'un critèrede sélection TumorLocation = colon

- GroupingCriteria Dénition de la liste des groupes Marker / LocationTowardsLesion / In-tracellularLocation

- GroupsBuilding Attribution des individus

sélec-tionnés aux groupes CleanListItems / GroupsList - ...

Organisation :

- GridSize Dénition de la taille de la grille LengthWidthRatio / GridLength / GridWidth / Count

- GroupsPositions Attribution de groupes à des

zones de la grille GridWidth / GridLength / Groups - ItemsPositions Placement des individus au sein

des zones de la grille PercentMarkedCells / Items / Groups - ...

Présentation :

- Language Dénition de la langue de

l'inter-face fr

- Colour Dénition du code couleur à

utiliser dans la grille White / Black - ...

partir de préférences utilisateur (fr pour le français).

Enn, le composant Gridsize, qui calcule la taille de la grille, a des sources variées pour sa spécialisation : la largeur de grille (GridWidth) est issue de la re-quête, le rapport entre largeur et longueur (LengthWidthRatio) est déni dans les préférences utilisateur, la longueur de grille (GridLength) est une valeur par défaut des connaissances expérimentales et le nombre total d'individus sélectionnés (count) est inscrit dans le tableau noir par un des composants de sélection.

Par contre, le composant GroupsBuilding, qui attribue les éléments sélectionnés aux groupes, ne subit pas de spécialisation : ses paramètres sont toujours la liste des items sélectionnés après gestion des données manquantes (CleanListItems) et la liste des groupes (GroupsList) construite par le composant GroupingCriteria.

Une vue partielle du chier XML correspondant à ce modèle spécialisé est présen-tée et commenprésen-tée en AnnexeF.

4.7 Exécution de l'instance de tâche