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.