Sunteți pe pagina 1din 8

METHODOLOGIE DE DEVELOPPEMENT DE BASES DE CONNAISSANCES POUR LA SDF AVEC L'ENVIRONNEMENT OPEN-SOURCE "VISUAL FIGARO" BUILDING KNOWLEDGE BASES IN THE

DEPENDABILITY FIELD WITH THE OPEN-SOURCE ENVIRONEMENT "VISUAL FIGARO"


Guillaume TORRENTE, Marc BOUISSOU EDF R&D 1 avenue du gnral de Gaulle 92141 Clamart cedex France
Rsum L'objectif de la communication est de prsenter une dmarche permettant de passer progressivement d'un squelette de base de connaissances compos du minimum permettant de construire des modles de sret de fonctionnement avec l'outil de modlisation KB3 un outil complet et convivial, muni de divers modes de visualisation, de contrles de la saisie, et de traitements automatiss des modles. Cette approche s'appuie sur l'environnement de dveloppement Visual Figaro, qui peut aussi tre utilis pour la maintenance de bases de connaissances dveloppes avec des outils antrieurs ; ce point est trs important tant donn le nombre important et la longue dure de vie des bases de connaissances existantes. Summary The aim of this paper is to present a progressive approach enabling to pass from a skeleton of knowledge base, containing the minimum information necessary to build dependability models with the modelling tool KB3, to a complete and user-friendly tool, with input checking, various visualization modes, and automated processing. This approach relies on the Visual Figaro development environment, that can also be used for the maintenance of existing knowledge bases. This is an important point, given the large number and long life of existing knowledge bases.

Introduction
A EDF, les tudes de sret de fonctionnement ont d faire face une complexit importante des systmes tudier (systmes nuclaires ou systmes du rseau de transport). De multiples tudes ralises depuis les annes 1980 ont abouti une exprience capitalise dans la Plate-forme outils KB3, en constant dveloppement depuis cette poque, et des bases de connaissances crites dans le langage de modlisation FIGARO. Ce langage a t le premier cr spcialement pour faciliter la construction de modles de sret de fonctionnement de systmes [1]. Il a t dvelopp en 1989-1990 EDF R&D et valid depuis par des centaines d'tudes de systmes complexes. C'est ce langage qui a permis EDF de capitaliser dans des bases de connaissances la fois prennes et volutives, la majorit des connaissances sur la sret de fonctionnement des systmes hydrauliques, lectriques, de contrle-commande, de tlcommunication tudis au fil des ans. Le langage FIGARO est tout ce qui est requis pour construire des modles de sret de fonctionnement uniquement l'aide de texte ; mais afin d'offrir ses utilisateurs une interface homme-machine agrable et reposant fortement sur le graphique, l'outil KB3 a des exigences supplmentaires. Il faut paramtrer son interface graphique gnrique en dfinissant a minima les icnes et les styles de liens associer aux types FIGARO. Mais on peut aller beaucoup plus loin en dfinissant aussi des variantes graphiques de ces lments (avec des changements de couleurs, des affichages de texte variable) qui seront appeles dans diffrents modes de visualisation qui pourront prsenter des aspects varis d'un systme, en en facilitant ainsi beaucoup l'apprhension. Il est galement possible de dfinir des contraintes sur les assemblages de composants permis, de faon viter que l'utilisateur peu au fait des concepts d'une base de connaissances donne saisisse des modles dnus de signification. Dans cet article, nous allons montrer en nous appuyant sur un exemple de modlisation de systme simple (que nous avions dj trait dans l'article o nous avons compar les langages de modlisation AltaRica et Figaro [2]) les diffrentes tapes du travail de construction d'un outil de modlisation d'une catgorie de systmes (ici des systmes lectriques).

Prsentation de la plate-forme outils KB3


KB3 est un logiciel permettant dautomatiser les tudes de sret de fonctionnement partir dune base de connaissances adapte aux problmatiques du systme tudier. A partir dune reprsentation graphique de ce systme, KB3 gnre un modle textuel dit en FIGARO 0, transparent pour lutilisateur, qui peut soit tre utilis pour gnrer automatiquement un arbre de dfaillances soit constituer le fichier dentre aux outils de traitement adapts aux systmes dynamiques (FIGSEQ et YAMS, dcrits plus loin). Autrefois, les modles utiliss EDF pour les tudes de fiabilit et disponibilit taient construits la main, ce qui prsentait de multiples inconvnients, parmi lesquels une cohrence souvent imparfaite entre les hypothses faites par des analystes diffrents et une faible traabilit des hypothses (source potentielle derreurs lors des ractualisations des tudes). Do les principaux avantages de KB3 qui sont : le gain de temps dans la ralisation des tudes, laccessibilit de loutil des non spcialistes du fait de bases de connaissances ddies une application, la qualit des tudes obtenue par une garantie de cohrence entre les diffrents modles et la traabilit des donnes, la possibilit de faire plusieurs traitements partir d'un modle unique. Principes de la plate-forme outils KB3 Pour raliser ltude de sret de fonctionnement dun systme avec KB3, il faut disposer dune base de connaissances pralablement crite en langage FIGARO. Lutilisateur de KB3 utilise donc la fois une base de connaissances adapte son application et le logiciel KB3

lui-mme qui est constitu dune interface conviviale pour la description graphique du systme tudi et des buts de ltude. Cette interface permet la construction de modles de systmes industriels complexes. A partir de cette description graphique dans lIHM de KB3 et des connaissances dcrites dans la base, le logiciel KB3 gnre un modle dit FIGARO lordre 0. Ce modle unique est utilis : soit par le gnrateur darbres de dfaillances pour les modles statiques, soit par le gnrateur de squences FIGSEQ pour les modles dynamiques markoviens, soit par loutil de simulation de Monte Carlo YAMS pour tous les modles (qu'ils soient markoviens ou non).

Figure 1 : Principes de la plate-forme outils KB3 La plate-forme outils KB3 a dj fait l'objet de nombreuses publications, dont on trouvera une slection dans la liste des rfrences en fin d'article. La prsentation ci-dessus est volontairement trs succincte, de faon laisser le plus de place la description de la dmarche de construction d'une base de connaissances s'appuyant sur Visual Figaro. Cette dmarche va tre illustre par un problme concret : la construction d'une base de connaissances pour dcrire des systmes lectriques tels que celui dcrit dans la section suivante.

Prsentation du cas-test
Soit le systme non rparable suivant, compos de deux sources lectriques (S1 et S2), deux rcepteurs (R1 et R2) et un interrupteur (I1). Le rcepteur R1 est en priorit aliment par la source S1, et est raliment par la source S2 en cas de perte de S1, grce la fermeture de I1. Un fonctionnement symtrique est suppos pour l'alimentation de R2. Mode de dfaillance Sources Rcepteurs Interrupteur en fonctionnement la sollicitation

S1

S2

I1

Destruction : DS Court-circuit : CC Fermeture intempestive : Refus de fermeture : FI RF

R1

R2

Figure 2 : systme lectrique simple schma et modes de dfaillance On suppose pour simplifier que les seuls modes de dfaillance prendre en compte sont ceux du tableau ci-dessus. Le mode de dfaillance DS des sources peut se produire "spontanment", ou bien de manire provoque par d'autres dysfonctionnements. La destruction provoque des deux sources se produit si elles sont mises en relation par la fermeture de l'interrupteur alors qu'aucune d'elles n'est perdue. Si un court-circuit se produit sur un rcepteur, cela provoque galement la destruction des sources auxquelles le rcepteur est reli. Ces hypothses ne sont gure ralistes : dans un systme rel, on aurait la fois des modes de dfaillances supplmentaires, commencer par la coupure et le court-circuit sur les cbles, et des composants supplmentaires, tels que des disjoncteurs destins viter la propagation de courts-circuits. En fait, ce cas-test est repris de l'article [2], dans lequel nous avons d simplifier l'exemple l'extrme pour pouvoir lister intgralement les modles dans les deux langages FIGARO et AltaRica. Dans la suite du prsent article, nous ne ferons qu'baucher la partie en langage FIGARO, pour laisser de la place aux oprations de paramtrage de l'interface graphique de KB3.

Dmarche de construction d'une base de connaissances pour KB3


Gnralits La mthode de travail s'appuie fortement sur un environnement en open source appel Visual Figaro, qui est disponible sur le site de tlchargement de KB3 [5]. L'objectif de cet environnement est de dcharger au maximum l'utilisateur du travail de gestion de la cohrence entre diffrentes parties de la base de connaissances. Tant qu'il travaille uniquement en langage FIGARO, l'utilisateur peut d'un simple clic appeler un outil de contrle syntaxique qui lui signale toute incohrence "statique" (c'est dire dtectable sans excution d'un modle). Puis lorsqu'il commence paramtrer l'interface graphique, une IHM menus et boutons lui propose chaque fois que cela est possible des listes de choix, en fonction du contenu des types dfinis en FIGARO. Visual Figaro a t conu de manire tre utile tout concepteur de base de connaissances, quel que soit son degr d'expertise dans ce type de travail. Les aides syntaxiques sont discrtes et non invasives. Elles se prsentent sous la forme d'expressions typiques que l'on peut choisir en fonction du contexte dans des menus arborescents et insrer dans le texte FIGARO.

Objectifs : tout ce qu'il faut faire En s'appuyant sur cet outil, la mthode de dveloppement d'une nouvelle base de connaissances passe par les tapes suivantes : dfinition de la structuration statique de l'ensemble des types FIGARO (leurs noms, leurs relations d'hritage, leurs interfaces), dfinition d'un paramtrage minimal de l'IHM de KB3 (choix d'icnes, de caractristiques de liens, instructions de remplissage des interfaces) itrations sur : 1. criture des rgles dcrivant le comportement des types FIGARO 2. test sur des petits exemples d'assemblages de composants ajout de variantes graphiques (changements de couleurs, affichage de textes prvus pour la simulation interactive) ajout de contraintes sur la saisie pour rendre l'outil cr robuste L'ordre des tapes de cette mthode a t choisi de faon minimiser les risques de retour en arrire, avec ncessit de modifier ce que l'on a dj cr. Nous allons les reprendre en dtail, avec des illustrations par des copies d'cran de VisualFigaro. Dtermination des types et de leurs interfaces La premire partie, prliminaire ltude de tout systme, est la dfinition de tous les types et des interfaces entre ces types ; cela revient peu prs crer un modle entit-relation pour l'ensemble des objets du systme. Dans le cas du systme lectrique tudi les types sont trs simplement dfinis comme reprsentation directe des composants prsents dans le circuit, auxquels on ajoute le type "nud" afin d'y dclarer des caractristiques communes aux sources, rcepteurs et interrupteurs afin de maintenir la base aussi concise que possible en vitant de nombreuses redondances. Ces types rcupreront leur tour ces proprits en utilisant la relation dhritage du langage FIGARO : ils hriteront donc tous du type nud . Cest ce qui sera suppos dans le reste de larticle mais ce nest quune des nombreuses possibilits de reprsentation du systme.

Cration des types dans Visual Figaro Une fois cette premire bauche papier de la base de connaissances termine lcriture en langage FIGARO peut commencer. Le logiciel Visual Figaro va alors commencer donner son plein potentiel. Son but principal est de fournir des "patterns" pour crer une base de connaissances. Il sagit d'expressions typiques du langage FIGARO qui permettent lutilisateur de prendre connaissance de la syntaxe de FIGARO de manire progressive. Il a tout moment la libert dexplorer la syntaxe dans le but de mieux la connatre sans pour autant lire la documentation en entier. Les prototypes proposs peuvent en outre donner un axe de lecture pour la documentation complte de FIGARO dont la lecture reste cependant indispensable long terme. Suivant larchitecture de la base dfinie dans la phase initiale il est temps dcrire les premiers lments en langage FIGARO. Pour cela il est videment conseill dutiliser Visual Figaro quil faudra lancer partir d'un logiciel tiers : l'diteur de texte (en open source) jEdit. La figure 3 reprsente la fentre principale avec la racine d'une arborescence dispose sur la gauche de lcran :

Figure 3 : Fentre principale de Visual Figaro Avant de commencer la rdaction il est deux notions quil faut connatre propos des bases de connaissances : la hirarchie des types et la hirarchie syntaxique. Une base de connaissances contient en effet deux types de hirarchie : celle des types (c'est elle qui dfinit les liens d'hritage entre composants du systme), et la hirarchie qui reflte simplement l'arbre syntaxique de la syntaxe FIGARO d'une base de connaissances. Dans notre exemple, les types source, interrupteur et rcepteur vont hriter du type nud : ceci est reprsentatif de la hirarchie des types et sera visible sous une forme graphique dans une fentre spcifique que l'utilisateur pourra afficher tout moment (cette fonction n'est pas encore disponible, mais elle est prvue). Cependant la fentre de travail utilise le plus souvent est celle qui correspond l'arbre syntaxique. Par exemple, lors de lcriture dune base de connaissances toute dclaration de type doit suivre une certaine hirarchie pour encapsuler les rgles, les constantes et les autres structures propres au type dclar. Au plus haut niveau se trouvent les types puis immdiatement endessous se trouvent les constantes, les rgles, puis au sein des rgles, par exemple, se trouvent les prmisses et les conclusions de ces rgles, au sein desquelles se trouvent les variables qui entrent en jeu, etc. Toutes ces informations sont en outre runies sous une racine nomme BDC afin de maintenir lunit de la base. Dans la base tudie la prmisse fonction = source appartient la rgle regle_tension_source qui appartient son tour au type nud qui appartient la base de connaissances. Cest cette hirarchie qui est la plus utile lors de lcriture de la base et cest elle qui est reprsente dans la partie gauche de la fentre sous la forme dun arbre. Le principe fondamental est que chaque tage de l'arbre syntaxique de Visual Figaro propose une srie de prototypes de codes pour les parties plus profondes dans larbre. Ces prototypes sont accessibles laide dun clic droit sur la partie correspondante de larbre. Le fait d'en slectionner un le copie dans le presse-papier, ce qui permet de l'utiliser dans la fentre de droite en prenant soin de remplacer les noms gnriques par les noms appropris.

L'criture de la base commence donc par la cration du code des entits qui se trouvent au plus haut niveau dans la hirarchie syntaxique cest--dire les types. Leur cration suit une syntaxe rigoureuse en langage FIGARO. Mme si celle-ci a t pense pour tre la plus simple utiliser, la complexit des notions exprimes la rend tout de mme difficile au premier abord. Cest maintenant que Visual Figaro va pouvoir aider le dveloppeur de base de connaissances. Des bouts de code reprsentant des dclarations de types vont tre proposs travers linterface graphique et simplifier considrablement la recherche et lapprentissage de la syntaxe. Les types se situant au plus haut niveau, ils se trouvent juste sous la racine BDC et les informations leur propos sobtiennent donc en effectuant un clic droit sur la feuille BDC de larbre.

Figure 4 : Ajout assist d'un type utilisant l'interface VisualFigaro. Sur la figure prcdente on peut remarquer que pour dclarer un type il ny a que deux syntaxes possibles. Dans le cas du type nud la premire proposition est suffisante car ce type nhrite daucun autre type. Il suffit alors de cliquer sur le menu intitul TYPE nom ; . Cette phrase est mise dans le presse-papier et il ne reste plus qu la coller dans la partie texte du logiciel et remplacer le paramtre nom par nud . Les types sources , recepteur et interrupteur ont quant eux la particularit de tous hriter du type nud dfini prcdemment. Une exploration de la hirarchie des prototypes proposs permet de sapercevoir quil existe une dfinition prenant en compte lexistence dun parent pour le type dclar (Figure 5 gauche).

Figure 5 : Ajout des types hritant de nud et obtention du premier squelette de base de connaissances avec affichage de larborescence syntaxique. Il suffit donc de cliquer sur le menu pour placer la proposition dans le presse-papier, la coller trois fois dans la partie texte et remplacer les prototypes de noms par les noms rels des composants. Enfin la cration du dernier type, arete_bi_dir , seffectue de la mme manire que pour le type nud. Maintenant que les principaux types se trouvent dans la base de donnes il faut mettre en place les interfaces qui vont permettre aux diffrents objets de communiquer entre eux. Cependant, afin de pouvoir utiliser la hirarchie disponible dans le plugin et les prototypes proposs, il faut mettre jour la hirarchie en appuyant sur le bouton vertical marqu <= . Lexploration de larbre fera alors se dcouvrir larchitecture de la figure 5 (droite). Les types dclars prcdemment sont maintenant bien prsents et pris en compte. Toutes les suggestions de structures de code pour le "corps" des types sont prsent disponibles. Lajout dinterface peut donc se faire de manire assiste ds prsent. Ajout des interfaces Les interfaces servent reprsenter les connexions entre les composants et ainsi permettent de les faire interagir. Leur dclaration est la dernire tape indispensable concernant le code Figaro avant de pouvoir charger la base de connaissances dans KB3 et lutiliser pour saisir des assemblages de composants (pour linstant dnus de tout comportement), donc des structures de systmes. Les interfaces correspondent aux points de contacts entre deux composants. Une interface appartient un type particulier et a pour caractristiques principales le type de composants que lon peut y connecter et le nombre de composants de ce type qu'elle peut contenir. Toutes ces informations peuvent aisment tre devines par un dbutant en consultant la documentation associe Interface dans le menu associ. Une interface tant une partie dun type, un clic droit sur le type en question, par exemple CLASS nud permet de faire apparatre le menu droulant visible sur la figure 6 (gauche).

Figure 6 : Menu de compltion pour les interfaces d'un type et arborescence obtenue aprs l'ajout de linterface entree au type "nud". Linterface crer tant dun type simple la premire suggestion INTERFACE nom GENRE nom_de_type est suffisante. Encore une fois un clic sur le menu place ce prototype dans le presse-papier afin de permettre de le coller dans la partie texte juste aprs le type que lon est en train de traiter. Linterface que lon est en train de construire tant voue connecter un composant avec un conducteur de courant on remplacera le champ nom par le nom de linterface par exemple entree puis le nom_de_type par la valeur arete_bi_dir car tout composant doit se brancher un fil pour se connecter aux autres. Le code final obtenu aprs ajout de l'interface entree pour le nud se trouve dans partie droite de la figure 6. Aprs lajout de toutes les interfaces ncessaires se clt la partie dition de code FIGARO strictement ncessaire au lancement de KB3. Cration d'un premier fichier de paramtrage de lIHM de KB3 Lors de ldition dune base de connaissances destine KB3 la partie graphique est paramtre par un fichier XML dont lextension est modifie en .bdc . Avant la cration de Visual Figaro ldition de ce fichier tait manuelle et donc fastidieuse tant donn la taille du fichier, mme si elle sappuyait sur un diteur de XML performant. Ce nest plus le cas car tout se passe dsormais par le biais dune interface graphique de type bote de dialogue avec des menus droulants, des cases cocher, des champs remplir. Linterface assure constamment la conformit du fichier XML au schma quil doit respecter et ne propose dans les listes de choix que des options cohrentes avec le contenu du fichier FIGARO, ce qui peut faire gagner beaucoup de temps sur toutes les phases de construction : du prototypage ldition avance dune base. Laccs ldition du fichier XML se fait par le biais de du bouton XML managment situ au dessus de larbre syntaxique. Cette action fait alors apparatre une fentre de choix (Figure 7 gauche). Celle-ci permet de choisir entre la cration dune interface graphique minimale de manire automatique ou bien la cration entirement manuelle de linterface. Pour les dbutants il est recommand de commencer avec une interface dj remplie. Cest le choix qui sera effectu par la suite. Quel que soit le choix effectu, la fentre qui s'affiche ensuite est celle reprsente sur la figure 7 (droite).

Figure 7 : Fentre de confirmation d'entre dans l'interface d'dition assiste du fichier de configuration de l'interface graphique de KB3 reprsente dans la partie droite de la figure. Cest cette fentre qui sera appele fentre principale dans le reste de larticle. Elle est le point daccs tous les principaux menus qui permettent de configurer laspect et les options disponibles dans KB3, par le biais des 4 onglets de la partie suprieure dcrits ci-dessous. Main : Onglet donnant accs aux informations gnrales relatives la base. Types : Onglet donnant accs aux informations relatives chaque type en particulier. Models : Onglet donnant accs au paramtrage des menus de traitements autoriss pour la base de connaissances (gnration darbre de dfaillance, lancement de FIGSEQ ou YAMS etc.). Algos : Onglet donnant accs la dfinition dalgorithmes dits dobjets dduits qui permettent de construire ou modifier automatiquement des objets FIGARO partir de ceux saisis par lutilisateur. La plupart des bases de connaissances nutilisent pas cette possibilit. Mais dans certains cas, en crant de tels algorithmes ( laide du langage FIGARO auquel des oprateurs de cration, modification, parcours dobjets ont t ajouts) on augmente considrablement la puissance de modlisation du

langage FIGARO de base. Cela permet en outre des optimisations trs efficaces du modle traiter (par exemple, par agrgation automatique de dfaillances ayant les mmes consquences sur le systme). Remarque : Etant donn la grande simplicit du contenu des onglets Main et Models (ce sont ceux que lon remplit en premier), et le caractre facultatif de longlet Algos, dans la suite de larticle, seul le contenu de longlet Types sera voqu. Affectation de la catgorie graphique nud ou lien aux types FIGARO Chaque type peut tre vu comme un lien ou un nud dans un le graphe reprsentant le systme. Si un type est considr comme un lien dans le graphe il prendra la forme dune flche. Les interfaces de dpart seront remplies par le composant situ au dbut de la flche et celles darrive par celui la fin. Dans cet exemple le type arete_bi_dir qui reprsente un fil sera videment considr dans linterface graphique comme un lien. A linverse les types nud , source ou encore recepteur seront considrs comme des nuds du graphe et reprsents sous la forme dun icne.

Figure 8 : Fentre principale sur l'onglet dition de type ; sur la partie droite les types avec leurs modes de reprsentation Linterface permet de choisir entre une des deux reprsentations en slectionnant le type en question et en cliquant sur le bouton node ou bien link selon le choix effectu. Cette action a pour effet douvrir une des deux fentres que lon trouve sur la figure 9.

Figure 9 : Fentre d'dition de nud (gauche) et de lien (droite) Dfinition des contraintes sur les connexions possibles et des rgles de remplissage dinterfaces Pour tablir un lien entre le comportement graphique de KB3 (une fois la base de connaissances charge) et la cration dun modle FIGARO il faut spcifier, via des rgles de remplissage dinterfaces dfinies dans le fichier XML, quelle action sur le modle FIGARO correspond le fait de connecter un lien sur un nud. En outre, afin de rendre linterface intelligente il faut pouvoir lui spcifier, par exemple, que lorsquun utilisateur tente de brancher un fil lectrique sur une pompe, ce fil doit aller saccrocher sur le point de licne de la pompe qui correspond larrive de lalimentation lectrique, et non larrive deau ! Les interfaces dfinies en FIGARO pour chaque composant doivent donc tre compltes par des informations supplmentaires pour pouvoir tre utilises au sein dune interface graphique. Les informations attaches aux interfaces dun type sont disponibles partir de sa fentre ddie en cliquant sur longlet Ports & Graphics (Cf. Figure 9). Par exemple, dans la base de connaissances sur les systmes lectriques, comment doit se traduire le branchement dune arete_bi_dir sur un nud ? Le nud propose deux interfaces entre et sortie qui acceptent toutes des arete_bi_dir. Larete_bi_dir propose deux interfaces dpart et arrive qui acceptent toutes des nuds. Le comportement dcrire en sappuyant sur les menus droulants proposs par Visual Figaro est le suivant : Si le nud se situe au dbut de larte alors remplir linterface sortie du nud par larte et linterface dpart de larte par le nud. Si le nud se situe la fin de larte alors remplir linterface entre du nud par larte et linterface arrive de larte par le nud. Chargement dans KB3 et saisie de petits systmes de test A ce stade, le chargement de la base de connaissances dans KB3 permet de sassurer de labsence de toute incohrence dans ce qui a t dfini jusque l et de vrifier par la saisie de petits assemblages de composants (qui pourront servir par la suite de systmes tests) que les rgles de remplissage des interfaces fonctionnent comme on le souhaite. Pour linstant, les icnes nayant pas t dfinies, elles sont toutes remplaces par des carrs dans lIHM de KB3.

Figure 10 : Construction dun systme test dans KB3 grce au squelette de la base de connaissance Cration des premires rgles Les composants sont donc maintenant des botes vides, que lon peut accrocher les unes aux autres, condition de respecter certaines contraintes. Pour les faire interagir il faut crire des rgles en langage FIGARO, sans oublier de dclarer les constantes et variables quelles manipulent. Elles permettent de propager les consquences des modifications qui ont t effectues sur un composant tous les autres composants entrainant ainsi lvolution du systme vers un nouvel tat. Ces rgles ayant beaucoup de rpercussions sur le systme il est fortement recommand de tester frquemment la base de connaissances avec KB3 afin de sassurer par des simulations interactives que le comportement est conforme ce que l'on attend. La rdaction de ces rgles est la partie la plus complexe de la cration de la base de connaissances. Le lecteur dsireux de connatre les dtails de la prsente base devra se rfrer larticle [2] qui donne lintgralit du code FIGARO. Cependant les prototypes proposs par Visual Figaro permettent de retrouver facilement la syntaxe des constructions un peu complexes telles que les expressions avec des quantificateurs. Il en va de mme pour la dclaration des variables (qui se subdivisent en effets, pannes et attributs), et des constantes que lon trouve dans les rgles. La figure 11 permet dillustrer certaines de ces possibilits.

Figure 11 : Ajout d'un effet au type "Nud" et modification de la base de connaissances en consquence.

Boucles de test dans KB3 et rvision des rgles Les rgles initiales ayant t crites, lessentiel du dveloppement de la base va consister alterner les deux activits suivantes : Test au sein de KB3 par simulation interactive (ou ventuellement en lanant dautres traitements) Cration ou modification de rgles La prochaine tape a pour but de rendre lutilisation de la base de connaissances plus conviviale, de faon crer un vritable outil ddi ltude dune catgorie de systmes.

Amliorations de l'interface graphique Linterface graphique visible dans KB3 est une partie ne pas ngliger car cest dans cet outil que les utilisateurs de la base de connaissances passeront le plus de temps. Les items doivent tre clairs et parlants pour ces utilisateurs, surtout sils sont diffrents de ceux qui ont crit la base de connaissances. La partie la plus visible dans ce logiciel est constitue par les icnes qui reprsentent les types et leurs instanciations. Leur paramtrage seffectue au sein de linterface graphique dont la fentre principale est reprsente figure 7 (droite), en ouvrant dans un premier temps longlet Types. Ajout de variantes graphiques Les variantes graphiques sont lensemble des caractristiques qui permettent de dfinir laspect graphique dun type une fois quil est plac dans la fentre ddition. Les caractristiques des nuds et des liens tant trs diffrentes le contenu de leurs variantes graphiques lest aussi. Par exemple on trouve respectivement : Nud : icne afficher, description, point dattache des liens sur licne. Lien : paisseur et type du trait, couleur. Toutes ces informations sont disponibles dans les fentres ddition des nuds et des liens. Par exemple, dans la base de connaissances actuelle, les sources doivent tre reconnaissables par licne de source prsent dans le dossier icnes de la base de connaissances. Il faut donc ouvrir la fentre ddition du type en question en utilisant le bouton nud. Une fois cette opration effectue ldition de la variante graphique par dfaut se fait en poussant le bouton Edit Default Var . Une fois cette fentre remplie le type source sera reprsent par licne S dans tous schmas dessins dans KB3 avec cette base de connaissances.

Figure 12 : Edition d'une variante graphique et mise jour de l'arborescence avec les apparitions des icnes Lutilisation de tous les champs ne sera pas dtaille ici mais elle peut tre trouve dans la documentation de KB3. La variante graphique modifie va impliquer la mise jour de larborescence de VisualFigaro. Licne de dossier d'origine est remplac par celui de la variante graphique. Cela confirme le fait qu partir de ce moment dans KB3 les sources seront reprsentes par cet icne (figure 12 droite). Validation finale avec KB3 La validation de la base de connaissances seffectue tout en la construisant laide des multiples chargements dans KB3 par exemple lors de la modification des rgles. Cependant la validation finale est plus pousse que toutes les prcdentes car elle va jusqu lutilisation des outils qui traitent le modle de systme obtenu. Il faut prendre soin danalyser les rsultats de ces outils afin de remarquer toute anomalie qui ne serait pas en accord avec les dires des experts.

CONCLUSION
Dans cet article, nous avons montr comment, grce une mthode simple et progressive, il est possible en partant d'une "feuille blanche" de construire trs rapidement un outil spcialis pour l'tude d'une certaine catgorie de systmes, en s'appuyant sur les progiciels de la plate-forme outils KB3. Le dernier n de ces outils, Visual Figaro, est celui qui permet d'accompagner la dmarche que nous avons crite en dchargeant tout moment le dveloppeur de bases de connaissances des aspects secondaires, mais susceptibles de gnrer d'importantes pertes de temps : connaissance de la syntaxe FIGARO, de la structure du fichier de paramtrage de l'interface graphique gnrique de KB3, cohrence entre ces deux fichiers, navigation dans l'ensemble de la base de connaissances

Rfrences
[1] M. Bouissou, H. Bouhadana, M. Bannelier, N. Villatte. Knowledge modelling and reliability processing : presentation of the FIGARO language and associated tools, Safecomp'91, Trondheim (Norvge), novembre 1991. [2] M. Bouissou, C. Seguin. Comparaison des langages de modlisation AltaRica et FIGARO, lm15, Lille, octobre 2006. [3] M. Bouissou, S. Humbert, S. Muffat, N. Villatte KB3 Tool: Feedback On Knowledge Bases, ESREL 2002, Lyon (France), mars 2002. [4] M. Bouissou, J.C. Houdebine Inconsistency Detection In KB3 Models, ESREL 2002, Lyon (France), mars 2002. [5] http://rdsoft.edf.fr - lien vers Plateforme KB3.

S-ar putea să vă placă și