![]()
Précédent : Pilotage de programmes
Remonter : Résultats nouveaux Suivant :
Le moteur
MEDIA
Participants : Monica Crubézy, Patrick Itey, Mar Marcos,
Sabine Moisan, Jean-Paul Rigault.
La bibliothèque de composants
La bibliothèque de composants BLOCKS constitue le noyau de la plate-forme LAMA. Elle est destinée au concepteur afin de faciliter son travail de construction ou de mise au point de moteurs à un niveau abstrait, à partir d'un ensemble de composants (structures et instructions) réutilisables. Les instructions travaillent sur les structures, elles constituent l'interface accessible au concepteur. L'implémentation de chaque composant peut être optimisée selon le langage-cible. Les langages-cibles choisis sont actuellement C++ pour sa large utilisation et sa portabilité, et Lisp, pour ses facilités de maquettage. La modélisation de BLOCKS en UML a été finalisée cette année. La version Lisp a été augmentée de capacités de planification plus dynamique. Après les frames, la version C++ intègre actuellement toute la couche générale (états, règles, etc.) et la quasi-totalité de la couche « pilotage de programmes » contenant des spécialisations de frames (opérateurs, arguments, etc.) et de règles (de choix, d'initialisation, etc.) liées à la tâche de pilotage de programmes, en s'appuyant sur la couche générale.
Le langage de description de connaissances YAKL offre à un expert un langage proche de son modèle d'expertise pour décrire le contenu d'une base de connaissances, sans préjuger du langage d'implémentation ciblé (Lisp ou C++). Un traducteur/vérificateur associé génère automatiquement le code en langage d'implémentation. Le langage YAKL et ses traducteurs ont aussi évolué, pour, d'une part, prendre en compte les répercussions pour les experts des évolutions de la bibliothèque (syntaxe enrichie pour la description des opérateurs, des fonctionnalités, des règles de réparation, etc.), et, d'autre part, pour permettre la traduction vers les structures et instructions C++.