Présentation de CBR*ToolsEn savoir plus ? rapport de recherche INRIA 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. Figure 1: Eléments principaux de la notation UMLCBR*Tools est implantée avec le langage de programmation à objets JAVA et repose sur un ensemble de packages (cf. Figure 2) :
Figure 2: Packages de premier niveau de CBR*ToolsPackage CORELe 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 . Figure 3: sous-packages du package COREFigure 4: bases de cas simples et compositesFigure 5: hierarchie d'indexFigure 6: le reasoner et les phases de raisonnement délégués à des classes d'objets.3. Package TIMEDans 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. Figure 7: situation AFigure 8: représentation des situations comportementalesMichel.Jaczynski@sophia.inria.fr |