Propagation LSM Chaos Nacelle Reseau

FigaroIDE

Construire simplement une base de connaissances en Figaro

Figaro est un langage de programmation développé et utilisé par EDF dans le cadre de l'exploitation de la suite logicielle d'études de sûreté KB3.

FigaroIDE est un projet stand-alone d'IDE dédié au langage Figaro. Il a pu ainsi être conçu en parfaite adéquation aux besoins d'un utilisateur de KB3.

FigaroIDE couvre l'ensemble des entrées nécessaires ou optionnelles pour utiliser KB3.

FigaroIDE suit la conception d'une base de connaissances du début à la fin en intervenant dans:

  • la rédaction des règles Figaro décrivant le comportement des éléments intervenant dans le système décrit,
  • la construction d'une représentation graphique efficace des types conçus,
  • l'établissement d'une arborescence de choix ainsi que d'options d'affichage pour KB3,
  • la mise en place de modèles de traitement,
  • la construction de visualisations.

FigaroIDE s'ouvre sur un éditeur de texte très standard, qui permet de définir les fondations de la base de connaissances (types, classes, interfaces et surtout, règles) en Figaro. Figaro étant un langage complexe, FigaroIDE offre à l'utilisateur plusieurs aides au développement :

  • un menu contextuel d'aide à la rédaction est disponible à l'intérieur de l'éditeur,
  • un préprocesseur permet d'observer rapidement et visuellement dans la liste des types et classes les résultats du code rédigé,
  • un processeur évalue la validité du code écrit et indique les erreurs éventuelles.

L'éditeur permet de définir les types et classes et de leur attribuer des règles.

Les types ainsi définis en Figaro peuvent ensuite être édités afin de leur assigner des connecteurs et deux représentations graphiques. La première est l'icône qui apparaîtra dans l'arborescence de choix de KB3. La seconde est la représentation vectorielle qui apparaîtra sur le graphique de représentation du système. Cette dernière peut être dessinée à l'intérieur de FigaroIDE qui possède un éditeur adapté.

Il est possible également de déterminer facilement quel type d'objet apparaîtra sur le graphique final, que ce soit en désactivant l'affichage d'un objet en particulier, ou par un système de calques par défaut.

FigaroIDE couvre également certaines fonctionalités avancées, comme l'édition d'algorithmes d'objets déduits ou la mise en place de conventions de nommage.