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
|