13.07.2015 Views

Assistance au calage de modèles numériques en hydraulique ... - TEL

Assistance au calage de modèles numériques en hydraulique ... - TEL

Assistance au calage de modèles numériques en hydraulique ... - TEL

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CHAPITRE 5 IMPLÉMENTATION D’UN SYSTÈME OPÉRATIONNEL5.3.2 Construction d’une base <strong>de</strong> connaissances <strong>en</strong> pilotage <strong>de</strong> programmesLa première étape <strong>de</strong> développem<strong>en</strong>t d’un système à base <strong>de</strong> connaissances est bi<strong>en</strong>sûr la construction <strong>de</strong> la base <strong>de</strong> connaissances elle-même. Disposant par ailleurs d’outilsperformants comme l’interpréteur du langage YAKL et le moteur d’infér<strong>en</strong>ce PE-GASE+, la construction <strong>de</strong> cette base <strong>de</strong> connaissances a constitué l’ess<strong>en</strong>tiel du travail<strong>de</strong> développem<strong>en</strong>t du prototype. La base <strong>de</strong> connaissances détaillée ici est construitesuivant les contraintes associées <strong>au</strong> pilotage <strong>de</strong> programmes.De conceptualisation <strong>en</strong> prototypage, et inversem<strong>en</strong>tLa construction <strong>de</strong> la base <strong>de</strong> connaissances dans le langage YAKL ne s’est pas effectuée– loin <strong>de</strong> là – <strong>de</strong> manière linéaire. Plusieurs étapes ont nécessité <strong>de</strong>s allers etretours pour parv<strong>en</strong>ir à un résultat satisfaisant. On retrouve ici une métho<strong>de</strong> similaireà celle d’un expert hydr<strong>au</strong>lici<strong>en</strong> chargé <strong>de</strong> caler manuellem<strong>en</strong>t un modèle numérique.Ces allers et retours se sont déroulés sur <strong>de</strong>ux procédures.Tout d’abord, la correspondance <strong>en</strong>tre les connaissances initialem<strong>en</strong>t décrites dansle formalisme graphique UML et la base <strong>de</strong> connaissances <strong>en</strong> pilotage <strong>de</strong> programmesécrite dans le langage YAKL a nécessité <strong>de</strong>s ajustem<strong>en</strong>ts <strong>de</strong> la modélisation initiale pourune traduction cohér<strong>en</strong>te dans le langage YAKL. Les principes <strong>de</strong> cette traduction sontprés<strong>en</strong>tés dans les paragraphes suivants. De même, l’implém<strong>en</strong>tation <strong>de</strong> certains conceptsprés<strong>en</strong>ts dans le langage UML et nécessaires dans l’objectif fixé ont conduit àét<strong>en</strong>dre la syntaxe du langage YAKL.Ensuite, la concordance <strong>de</strong>s résultats <strong>de</strong> l’exécution du système avec les objectifsfixés a été vérifiée sur les cas concrets <strong>de</strong> <strong>calage</strong> décrits dans les chapitres 6 et 7. Cesvérifications ont conduit à <strong>de</strong>s raffinem<strong>en</strong>ts dans la rédaction <strong>de</strong> la base YAKL.Traduction UML–YAKLNous avons vu dans la section 5.2 <strong>au</strong> travers d’exemples comm<strong>en</strong>t les élém<strong>en</strong>ts –<strong>de</strong>scriptifs et procédur<strong>au</strong>x – associés à <strong>de</strong>s programmes se traduisai<strong>en</strong>t naturellem<strong>en</strong>tdans le langage YAKL, justem<strong>en</strong>t <strong>de</strong>stiné à représ<strong>en</strong>ter ce type <strong>de</strong> connaissances pour lepilotage <strong>de</strong> programmes.Nous avons <strong>en</strong>suite utilisé le langage YAKL pour représ<strong>en</strong>ter l’<strong>en</strong>semble <strong>de</strong>s connaissancesdécrites dans le chapitre précé<strong>de</strong>nt avec le formalisme graphique UML. Le principe<strong>de</strong> traduction <strong>de</strong>s diagrammes <strong>de</strong> classes est prés<strong>en</strong>té sur la figure 5.8. Chaqueclasse UML – attributs et métho<strong>de</strong>s compris – a été traduite par un type d’argum<strong>en</strong>t.Les métho<strong>de</strong>s – principalem<strong>en</strong>t les procédures <strong>de</strong> lecture et d’écriture <strong>de</strong>s fichiers – ontété écrites <strong>en</strong> C++.Nous avons <strong>en</strong>fin quelque peu détourné le langage YAKL <strong>de</strong> ses fonctions initialespour représ<strong>en</strong>ter les diagrammes d’activités UML. Le principe <strong>de</strong> traduction <strong>de</strong> ces diagrammesest prés<strong>en</strong>té sur la figure 5.9. Chaque activité a été traduite par un opérateur,et les flots d’objets <strong>en</strong>trants et sortants par les argum<strong>en</strong>ts – Input Data et OutputData – <strong>de</strong> cet opérateur.133

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!