Présentation de CBR*Tools

CBR+Tools picture
En savoir plus ? 
rapport de recherche INRIA

CBR+Tools picture
 

Notre objectif est de définir des méthodes et des outils génériques pour le raisonnement à partir de cas dans la cadre de notre bibliothèque logicielle CBR*Tools. Nous souhaitons en effet faciliter le développement d'applications RàPC en offrant d'une part un ensemble de composants de RàPC directement réutilisables et d'autre part en permettant l'extension des méthodes proposées. Il ne s'agit donc pas d'un "shell" où uniquement certains paramètres d'une classe de problèmes peuvent être modifiés: notre objectif est d'offir des outils plus ouverts et plus réutilisables.

CBR*Tools est une bibliothèque à objets concue sous l'atelier Rational Rose et programmée en JAVA. En effet notre effort de modélisation, nécessaire pour obtenir des composants génériques, est géré par l'atelier Rational Rose. Cette atelier permet d'un part de représenter graphiquement les différents concepts et leur relations (notation UML ), et d'autre part il est le garant de la cohérence entre le modèle et la programmation. Dans la Figure 1, nous donnons les éléments de la notation UML (Unified Modeling Language) nécessaires pour la compréhension des diagrammes présentés parla suite. La notation UML est une notation conçue pour la modélisation objet d'applications et fait suite notamment aux notations des méthodes OMT et Booch.


CBR+Tools picture

Figure 1: Eléments principaux de la notation UML


CBR*Tools est implantée avec le langage de programmation à objets JAVA et repose sur un ensemble de packages (cf. Figure 2) :


CBR+Tools picture Package CORE (129 classes) : l'objectif de ce premier package est d'offrir un ensemble de classes de base pour le raisonnement par cas.  La version actuelle met l'accent sur  des hiérarchies de classes permettant notamment la représentation de la base de cas , des indices, des index et des similarités. Ce package définit également des classes gérant le raisonnement à partir de cas et un ensemble de protocoles pour l'indexation et la remémoration. 
 
CBR+Tools picture Package TIME (38 classes) : ce deuxième package propose les composants spécifiques pour la gestion de situations comportementales dont notamment : les enregistrements, les chroniques, les situations comportementales , les patrons de situations. 
 
CBR+Tools picture Package NAVIG (26 classes) : ce package permet la représentation des situations comportementales et des cas pour l'aide à la navigation dans un hypermedia. Le système BROADWAY est construit à partir des classes définies dans ce package. 
 
CBR+Tools picture Package CONTROL (20 classes) : ce package gère une representation spécifique des cas pour la commande de systèmes dynamiques en utilisant les outils définis dans TIME. Il permet également l'integration d'un module de commande contruit à partir de ce package dans un système de commande hiérarchisé. 
 
CBR+Tools picture Package MISC (33 classes) : ce dernier pakage rassemble des outils divers utilisés dans l'ensemble des autres packages : représentation des relations entre classes, options de compilation...
 
 
CBR+Tools picture

Figure 2: Packages de premier niveau de CBR*Tools

 
 

Package CORE

CBR+Tools picture

Le package CORE se décompose en quatre sous-packages (cf. Figure 3) : cbrcase pour la représentation des indices, des cas et les bases de cas simples ou composites ; similarity pour la repésentation des mesures de similarité, index qui définit les strucrures d'indexation applées index qui peuvent être assemblées ou spécialisées; enfin le package reasoner donne les classes nécessaires au controle du raisonnement .

 
CBR+Tools picture

Figure 3: sous-packages du package CORE

 
CBR+Tools picture

Figure 4: bases de cas simples et composites

 
CBR+Tools picture

Figure 5: hierarchie d'index

CBR+Tools picture

Figure 6: le reasoner et les phases de raisonnement délégués à des classes d'objets.

 

3. Package TIME

CBR+Tools picture

Dans notre étude, nous faisons une distinction entre d'une part une indexation basée sur une situation instantanée, ensemble d'indices qui définissent un état à un instant particulier et d'autre part une indexation basée sur une situation comportementale, ensemble d'indices décrivant une évolution dans le temps de cet état. L'indexation par situation instantanée est l'approche la plus répandue dans les systèmes de raisonnement à partir de cas : par exemple les systèmes classiques  CHEF [HAM 86], JULIA [HIN 89], CASEY [KOT 89], et MEDIATOR [KOL 89] utilisent une indexation par situation instantanée. Le système CHEF permet de dériver des recettes suivant notamment les ingrédients et le mode de cuisson désirés en se basant sur d'autres recettes stockées dans des cas. Les cas sont indexés suivant un ensemble de buts qu'ils permettent de satisfaire ou d'échecs qu'ils permettent d'éviter. Les indices utilisés décrivent uniquement les objectifs pertinents à l'instant où le cas a été appris : il s'agit d'une situation instantanée.

L'aspect comportemental permet souvent de mieux décrire une situation et représente pour de nombreux problèmes une composante essentielle de la description de la situation. De manière générale en médecine, l'évolution de l'état d'un patient est souvent plus importante qu'un état particulier [KER 95], et les fiches médicales doivent être consultées. Dans les problèmes d'analyse et de compréhension du comportement d'un être humain utilisant une machine, il est nécessaire de prendre en compte des séquences temporelles d'interactions [RIT 94]. Dans le domaine de la conduite de procédés, des délais de réactions importants et variables peuvent être observés, ce qui oblige à prendre en compte des événements passés de plusieurs minutes et même de plusieurs heures : par exemple, dans la conduite de hauts fourneaux, une erreur d'alimentation peut être observée six heures plus tard [JAK 90]. La prise en compte d'un ensemble de comportements dans l'indexation a été nécessaire à la réalisation de plusieurs applications basées sur le raisonnement à partir de cas : prévision de l'évolution de feux de forêt [ROU 94], prévision économique [NAK 94], prévision médicale et épidémiologique [SCH 96, BUL 97], commande de robots mobiles [RAM 93] et aide à la supervision de processus [FUC 95]. Pour plus de détails sur nos travaux veuillez consulter le rapport INRIA .

Dans le package TIME de CBR*Tools, nous permettons la gestion de situations comportementales. Par exemple, la situation A est définie à l'instant t par les valeurs de la variable V1 dans les 10 dernières secondes, par une forte augmentation des valeurs de la variable V2, et par l'événement a suivi de b sur la variable V3, b se produisant pendant l'augmentation de V2.

 
CBR+Tools picture

Figure 7: situation A

 
CBR+Tools picture

Figure 8: représentation des situations comportementales

 
CBR+Tools picture
CBR+Tools picture Michel.Jaczynski@sophia.inria.fr

Valid XHTML 1.0!

Valid CSS!