• Aucun résultat trouvé

5.2 Fonctionnalités de lecture des connaissances

5.2.2 Le listing des structures du problème

Le listing des structures est la première fonctionnalité de prise en main du problème. Elle est prise en charge par le gestionnaire d’interrogation et définit l’ensemble des commandes permettant de lis-ter les structures définies dans la base de connaissances sur les deux niveaux d’abstraction. Le pre-mier objectif du listing est de fournir à l’utilisateur une interface de lecture du problème qui s’adapte à son niveau et qui permet de réduire sa charge de travail en décomposant l’affichage du problème et en lui évitant d’aller lire le fichier de définition du domaine en HPDDL, ce qui peut être très com-pliqué, surtout pour les utilisateurs qui ne sont pas familiers avec le langage HPDDL. Les principales

commandes de listing possibles à travers le système MIP sont illustrées dans le tableau5.1.

101 CHAPITRE5. MIP : UN SYSTÈME DE PLANIFICATION EN MIXED-INITIATIVE

Commandes Objectif

List operators Affiche tous les opérateurs définis dans le domaine

List actions Affiche toutes les actions pertinentes du coded-problem

List methods Affiche toutes les méthodes définies dans le domaine

List decompositions Affiche toutes les décompositions pertinentes du coded-problem

List tasks Affiche toutes les tâches pertinentes contenues dans le coded-problem

List primitive tasks Affiche toutes les tâches primitives du coded-problem

List composed tasks Affiche toutes les tâches composées du coded-problem

List types Affiche tous les types d’objets définis dans le domaine

List objetcs Affiche tous les objets définis dans le domaine et leurs types

List predicates Affiche tous les prédicats définis dans le domaine

List facts Affiche tous les faits pertinents contenus dans le coded-problem

List goal tasks Affiche les tâches but définies dans le problème ou par l’utilisateur

List initial state Affiche l’état initial du problème

List goal state Affiche l’état but du problème

List inertia Affiche les prédicats et les faits qui sont des inerties dans le problème

List irrelevant actions Affiche toutes les actions qui ont été supprimées du coded-problem

List irrelevant decomps Affiche toutes les décompositions qui ont été supprimées du

coded-problem

TABLE5.1 –Ensemble des commandes permettant le listing des structures de la base de connaissance

comme les opérateurs, les méthodes, les prédicats, ainsi que les objets et leurs types respectifs. En ce qui concerne le problème, le système permet de lister les objets qui y sont définis, les tâches but, l’état initial, et l’état but. On peut voir aussi que le système offre à l’utilisateur une interface d’interrogation non-seulement sur les structures du domaine et du problème, mais aussi sur celles calculées lors de l’insanciation et la simplification, comme les actions, les décompositions, les faits, les inerties ou même les compositions supprimées.

Lors de la réception de la commande de listing, le système accède à la base de connaissances et

charge la version courante des structures demandées. Comme dans la figure5.8, si l’utilisateur

de-mande de lui lister tous les objets du domaine, ces derniers ne correspondront pas forcément aux

SECTION5.2 FONCTIONNALITÉS DE LECTURE DES CONNAISSANCES 102

plutôt à ceux contenus dans la version courante du domaine. En effet, une nouvelle version du do-maine et du problème est créée à chaque modification effectuée par l’utilisateur nécessitant une phase d’instanciation et de simplification, la dernière version obtenue est alors considérée comme la version courante.

MIP User

3.U : Liste toutes les tâches planifiables

rover: rover0 |

waypoint: waypoint0 | waypoint1 | waypoint2 | waypoint3 | store: rover0store | camera: camera0 | camera1 | objective: objective0 | objective1 | mode: colour | high_res | low_res | lander: general |

2.S : Voici le résultat

5.U : Liste toutes les décompositions 1.U : Liste tous les objets manipulables

(get_soil_data waypoint0) (get_rock_data waypoint0) (get_image_data objective1 low_res) .

. .

4.S : Voici le résultat

6.S : Le résultat comporte 88 éléments, veuillez : - Définir le nombre d’éléments à afficher simultanément ou

- Utiliser une commande de listing conditionnel ("get -help" pour plus de détails)

7.U : 10

8.S : Voici le résultat 8.U : Planifie la navigation du rover0 vers waypoint3

FIGURE5.8 –Exemple typique d’échange utilisant la fonctionnalité de listing.

La figure5.8représente un exemple d’échange entre l’utilisateur et le système utilisant la

fonc-tionnalité de listing sous forme d’un diagramme de séquences projetant les initiatives prises par chaque partie. L’utilisateur explore les connaissances du domaine et du problème en exprimant des requêtes de listing qui sont satisfaites par le système, à l’exception de l’échange 6 où le système de-mande à l’utilisateur de faire un choix entre définir un plafond d’affichage ou d’exprimer une requête de listing conditionnel. Après avoir obtenu les informations désirées, l’utilisateur a décidé de lancer la planification d’une nouvelle tâche utilisant ainsi une autre fonctionnalité du système que nous verrons dans les prochaines sections.

On peut voir à travers cet exemple que la réponse du système aux commandes de listing se traduit toujours par l’affichage du résultat correspondant. Cependant, dans la majorité des cas, les domaines définis sont très longs et les problèmes exprimés sont complexes, ce qui donne une liste de résultats

103 CHAPITRE5. MIP : UN SYSTÈME DE PLANIFICATION EN MIXED-INITIATIVE

extrêmement longue. Le système propose alors à l’utilisateur un affichage progressif du résultat ou de formuler une commande de listing conditionnel avec, par exemple, le nom de la structure recherchée ou les propriétés atteignables à travers elle. Ce genre de commande est appelé listing conditionnel et sera présenté en détails dans la prochaine section.