Présentation de CBR*Tools
           
           
          En 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 UML
           
          CBR*Tools est implantée avec le langage de
          programmation à objets JAVA et repose sur un ensemble de
          packages (cf. Figure 2) : 
           
          
            
              
                 
               | 
              
              
                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. 
               
                | 
             
            
              
                 
               | 
              
              
                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. 
               
                | 
             
            
              
                 
               | 
              
              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. 
               
                | 
             
            
              
                 
               | 
              
              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é. 
               
                | 
             
            
              
                 
               | 
              
              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...
               
                | 
             
           
            
          
            
              
                 
               | 
             
           
          Figure 2: Packages de premier niveau de
          CBR*Tools
           
           
            
          
          
          
          Package CORE
           
          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
          . 
           
          
          
          
          Figure 3: sous-packages du package CORE
           
          
          
          
          Figure 4: bases de cas simples et composites
           
          
          
          
          Figure 5: hierarchie d'index
          
          
          
          Figure 6: le reasoner et les phases de raisonnement
          délégués à des classes d'objets.
            
          
          
          
          3. Package TIME
           
          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. 
            
          
          Figure 7: situation A
            
          
          Figure 8: représentation des situations
          comportementales
           
           
           
           
          
             
          
          
          Michel.Jaczynski@sophia.inria.fr
           |