<html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>7. Les langages de programmation</title><link href="style.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.70.1" name="generator"><link rel="start" href="index.html" title="Guide pratique sur l'intelligence artificielle et la vie artificielle sous GNU/linux"><link rel="up" href="index.html" title="Guide pratique sur l'intelligence artificielle et la vie artificielle sous GNU/linux"><link rel="prev" href="ar01s06.html" title="6. Les agents"><link rel="next" href="ar01s08.html" title="8. Manquant et Inactif"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">7. Les langages de programmation</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="ar01s06.html">Précédent</a> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <a accesskey="n" href="ar01s08.html">Suivant</a></td></tr></table><hr></div><div class="section" lang="fr"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N10915"></a>7. Les langages de programmation</h2></div></div></div><p>Bien que n'importe quel langage de programmation puisse être utilisé pour la recherche sur la vie ou l'intelligence artificielle, les langages de programmation décrits ci-dessous sont, si ils n'ont pas été spécifiquement créés pour cela, utilisés intensivement pour la programmation d'intelligence artificielle.</p><div class="glosslist"><dl><dt>Allegro CL</dt><dd><div class="itemizedlist"><ul type="disc"><li><p> Site Web : <a href="http://www.franz.com/" target="_top">www.franz.com/</a> </p></li></ul></div><p>Version linux gratuite de l'environnement de développement Lisp de Franz Inc. Vous pouvez la télécharger ou ils vous expédieront un CD gratuitement (vous n'avez même pas à payer de frais d'expédition). Elle est généralement considérée comme l'une des meilleures plateformes Lisp.</p></dd><dt>APRIL</dt><dd><div class="itemizedlist"><ul type="disc"><li><p> Site Web : <a href="http://sourceforge.net/projects/networkagent/" target="_top">sourceforge.net/projects/networkagent/</a> et <a href="http://www.nar.fujitsulabs.com/april/index.html" target="_top">www.nar.fujitsulabs.com/april/index.html</a> </p></li></ul></div><p>APRIL est un langage de programmation symbolique conçu pour le codage de systèmes basés sur des agents, mobiles et distribués dans l'environnement Internet. Il a des fonctionnalités avancées telles qu'un sous-langage de macro, l'envoi et la réception asynchrone de messages, la mobilité du code, le filtrage, des fonctions d'ordre supérieur et la déclaration typée de variables. Ce langage est compilé en pseudo-code binaire qui est ensuite interprété par le moteur d'exécution APRIL. APRIL a maintenant besoin qu'InterAgent Communications Model (ICM) soit installé avant de pouvoir être installé à son tour. [Ed. ICM est disponible sur le même site web]</p></dd><dt>Ciao Prolog</dt><dd><div class="itemizedlist"><ul type="disc"><li><p> Site Web : <a href="http://www.clip.dia.fi.upm.es/Software/Ciao/" target="_top">www.clip.dia.fi.upm.es/Software/Ciao/</a> </p></li></ul></div><p>Ciao est un système complet Prolog englobant ISO-Prolog avec une nouvelle conception modulaire qui permet à la fois la restriction et l'extension du langage. Parmi les extensions de Ciao, on trouve actuellement les arguments nommés (enregistrements), les fonctions d'ordre supérieur, les contraintes, les objets, les prédicats persistants, une bonne base pour l'exécution distribuée (d'agents) et la concurrence. Les bibliothèques supportent aussi la programmation WWW, les sockets, et les interfaces externes (C, Java, Tcl/Tk, les bases de données relationnelles, etc.). Un environnement pour Emacs, un compilateur autonome, et un interpréteur de commandes haut niveau sont également fournis.</p></dd><dt>DHARMI</dt><dd><div class="itemizedlist"><ul type="disc"><li><p> Site Web : <a href="http://megazone.bigpanda.com/~wolf/DHARMI/" target="_top">megazone.bigpanda.com/~wolf/DHARMI/</a> </p></li></ul></div><p>DHARMI est un langage spatial de haut niveau facile à utiliser dont les composants sont administrés de manière transparente par un processus en tâche de fond appelé "the Habitat". Comme son nom l'indique, ce langage a été conçu pour faire des prototypes de modélisation et la gestion des données actives. Les programmes peuvent être modifiés pendant leur exécution. Cela est rendu possible en estompant la distinction entre le code source, le programme et les données.</p></dd><dt>ECLiPSe</dt><dd><div class="itemizedlist"><ul type="disc"><li><p> Site Web : <a href="http://eclipse.crosscoreop.com/eclipse/" target="_top">eclipse.crosscoreop.com/eclipse/</a> </p></li></ul></div><p>:TODO:</p></dd><dt>ECoLisp</dt><dd><div class="itemizedlist"><ul type="disc"><li><p> Site Web : <a href="http://www.di.unipi.it/~attardi/software.html" target="_top">www.di.unipi.it/~attardi/software.html</a> </p></li></ul></div><p>ECoLisp ("Embeddable Common Lisp", Lisp Commun Embarquable) est une implémentation de "Common Lisp" conçue pour être insérable dans des applications écrites en C. ECL utilise des conventions d'appel C standard pour les fonctions Lisp compilées, ce qui permet aux programmes C d'appeler facilement des fonctions Lisp et vice versa. Aucune interface de fonctions externes n'est requise : les données peuvent être échangées entre le C et le Lisp sans besoin de conversion. ECL est basé sur un "Common Runtime Support (CRS)" (Appui d'Exécution Commun) qui fournit des fonctionnalités de base pour la gestion de la mémoire, le chargement et le vidage dynamique des images binaires, et le soutien de processus multiple d'exécution. Le CRS est intégré à une bibliothèque qui peut être liée au code de l'application. L'ECL est modulaire : les modules principaux sont les outils de développement du programme (niveau supérieur, débogueur, trace d'une exécution, exécution pas à pas), le compilateur, et CLOS. Une version native de CLOS est disponible dans ECL : on peut de configurer ECL avec ou sans CLOS. Une version d'exécution d'ECL peut être construite avec les modules requis par l'application seulement. Le compilateur ECL compile du Lisp vers le C, puis fait appel au compilateur GCC pour créer les binaires.</p></dd><dt>ESTEREL</dt><dd><div class="itemizedlist"><ul type="disc"><li><p> Site Web : <a href="http://www-sop.inria.fr/esterel.org/" target="_top">www-sop.inria.fr/esterel.org/</a> </p></li></ul></div><p>Esterel est à la fois un langage de programmation, dédié à la programmation de systèmes réactifs, et un compilateur qui traduit les programmes Esterel en machine à états finis. Il est particulièrement bien adapté à la programmation de systèmes réactifs, y compris les systèmes temps-réel et les automates de commande.</p><p>Seul l'exécutable est disponible pour le compilateur de langage. :P</p></dd><dt>Gödel</dt><dd><div class="itemizedlist"><ul type="disc"><li><p> Site Web : <a href="http://www.cs.bris.ac.uk/~bowers/goedel.html" target="_top">www.cs.bris.ac.uk/~bowers/goedel.html</a> </p></li></ul></div><p>Gödel est un langage de programmation déclaratif à usage global, de la famille des langages de programmation de logique. C'est un langage fortement typé, le système de typage étant basé sur de la logique multitri avec du polymorphisme paramétrique. Il a un système de module. Gödel supporte les entiers à précision infinie, les nombres rationnels à précision infinie, et les réels à virgule flottante également. Il peut résoudre les contraintes sur des domaines finis d'entiers et également les contraintes rationnelles linéaires. Il supporte le traitement des ensembles finis. Il a également une règle de calcul flexible et un opérateur d'élagage qui généralise la validation des langages de programmation de logique concourante. Un accent considérable est mis sur l'infrastructure méta-logique de Gödel qui fournit un support significatif pour les méta-programmes qui font de l'analyse, de la transformation, de la compilation, de la vérification, du débogage, et ainsi de suite.</p></dd><dt>CLisp (Lisp)</dt><dd><div class="itemizedlist"><ul type="disc"><li><p> Site Web : <a href="http://clisp.sourceforge.net/" target="_top">clisp.sourceforge.net/</a> </p></li><li><p> Site Web officiel : <a href="http://clisp.cons.org/" target="_top">clisp.cons.org/</a> </p></li></ul></div><p>CLisp est une implémentation de "Common Lisp" réalisée par Bruno Haible et Michael Stoll. Il supporte principalement le Lisp décrit par Common LISP: The Language (2nd edition) et le standard Common Lisp ANSI. CLisp comprend un interpréteur, un byte-compilateur, un grand sous ensemble de CLOS ("Object-Oriented Lisp", Lisp Orienté Objet), une interface de langage externe et, pour certaines machines, un éditeur d'écran.</p><p>On choisit la langue d'interface utilisateur (anglais, allemand, français) au moment de l'exécution. Les principaux paquetages qui fonctionnent dans CLisp incluent CLX et Garnet. CLisp ne requiert que 2 Mo de mémoire seulement.</p></dd><dt>CMU Common Lisp</dt><dd><div class="itemizedlist"><ul type="disc"><li><p> Site Web : <a href="http://www.cons.org/cmucl/" target="_top">www.cons.org/cmucl/</a> </p></li><li><p> Site Web : <a href="http://ww.telent.net/lisp/howto.html" target="_top">ww.telent.net/lisp/howto.html</a> </p></li></ul></div><p>CMU Common Lisp est un environnement de programmation Common Lisp de "puissance industrielle" de domaine public. Une grande partie des changements de X3j13 ont été incorporés dans CMU CL. Partout où cela était possible, ceci a été fait afin de permettre de manière transparente l'utilisation soit du CLtL1, soit du CL ANSI proposé. Les nouvelles fonctionnalités les plus intéressantes pour les utilisateurs sont probablement les fonctions SETF, LOOP et la macro WITH-COMPILATION-UNIT.</p></dd><dt>GCL (Lisp)</dt><dd><div class="itemizedlist"><ul type="disc"><li><p> Site FTP : <a href="ftp://ftp.ma.utexas.edu/pub/gcl/" target="_top">ftp.ma.utexas.edu/pub/gcl/</a> </p></li></ul></div><p>GNU Common Lisp (GCL) possède un compilateur et un interpréteur pour Common Lisp. Il était connu auparavant sous le nom de Kyoto Common Lisp. Il est très portable et extrêmement efficace sur une large gamme d'applications. Il soutient la comparaison au niveau performance avec les Lisps commerciaux sur un grand nombre de démontreurs de théorèmes et de systèmes d'algèbre symbolique. Il supporte la spécification CLtL1 mais évolue vers la définition proposée de norme ANSI. GCL compile vers du C et utilise ensuite les compilateurs C d'optimisation de code natif (ex.: GCC). Une fonction comportant un nombre fixe d'arguments et une valeur se transforme en une fonction C du même nombre d'arguments, renvoyant une valeur, GCL a donc une efficacité maximale sur de tels appels. Il a un garbage collector [NdT : ramasse-miettes] classique qui offre une grande liberté au compilateur C pour mettre les valeurs Lisp dans des registres arbitraires.</p><p>Il possède un débogueur Lisp niveau source pour le code interprété, avec affichage du code source dans une fenêtre Emacs. Son outil de profilage (basé sur les outils de profilage C) compte les appels de fonction et le temps passé dans chaque fonction.</p></dd><dt>GNU Prolog</dt><dd><div class="itemizedlist"><ul type="disc"><li><p> Site Web : <a href="http://pauillac.inria.fr/~diaz/gnu-prolog/" target="_top">pauillac.inria.fr/~diaz/gnu-prolog/</a> </p></li><li><p> Site Web : <a href="http://www.gnu.org/software/prolog/prolog.html" target="_top">www.gnu.org/software/prolog/prolog.html</a> </p></li></ul></div><p>GNU Prolog est un compilateur Prolog gratuit, et résolveur de contraintes sur les domaines finis, développé par Daniel Diaz. GNU Prolog accepte des programmes en Prolog+contraintes et produit des exécutables natifs (comme gcc le fait à partir de code source C). L'exécutable obtenu est alors autonome. La taille de cet exécutable peut être relativement petite puisque GNU Prolog peut éviter de lier le code de la plupart des prédicats intégrés inutilisés. Les performances de GNU Prolog sont très encourageantes (comparables à celles des systèmes commerciaux).</p><p>En plus de la compilation en code exécutable natif, GNU Prolog offre un interpréteur interactif classique (haut niveau) avec un débogueur.</p><p>La partie Prolog se conforme aux standards ISO pour Prolog avec beaucoup d'extensions très utiles à l'usage (variables globales, interface système d'exploitation, sockets, ...).</p><p>GNU Prolog comprend également un efficace résolveur de contraintes sur Domaines Finis (FD), ce qui ouvre la programmation logique par contraintes à l'utilisateur, en combinant la puissance de la programmation par contraintes à la déclarativité de la programmation logique.</p></dd><dt>IBAL</dt><dd><div class="itemizedlist"><ul type="disc"><li><p> Site Web : <a href="http://www.eecs.harvard.edu/~avi/IBAL/" target="_top">www.eecs.harvard.edu/~avi/IBAL/</a> </p></li></ul></div><p>:TODO:</p></dd><dt>lush</dt><dd><div class="itemizedlist"><ul type="disc"><li><p> Site Web : <a href="http://lush.sourceforge.net/" target="_top">lush.sourceforge.net/</a> </p></li></ul></div><p>:TODO:</p></dd><dt>Maude</dt><dd><div class="itemizedlist"><ul type="disc"><li><p> Site Web : <a href="http://maude.cs.uiuc.edu/" target="_top">maude.cs.uiuc.edu/</a> </p></li></ul></div><p>:TODO:</p></dd><dt>Mercury</dt><dd><div class="itemizedlist"><ul type="disc"><li><p> Site Web : <a href="http://www.cs.mu.oz.au/research/mercury/" target="_top">www.cs.mu.oz.au/research/mercury/</a> </p></li></ul></div><p>Mercury est un nouveau langage de programmation logique, purement déclaratif. Tout comme Prolog et d'autres langages de programmation logique existants, c'est un langage très haut niveau qui permet aux programmeurs de se concentrer sur le problème plutôt que sur les détails bas niveau tels que la gestion de la mémoire. Contrairement à Prolog, qui est orienté vers la programmation exploratoire, Mercury est conçu pour la construction de grands systèmes logiciels fiables et efficaces par des équipes de programmeurs. Par conséquent, programmer en Mercury apporte une touche différente par rapport à la programmation en Prolog.</p></dd><dt>Mozart</dt><dd><div class="itemizedlist"><ul type="disc"><li><p> Site Web : <a href="http://www.mozart-oz.org/" target="_top">www.mozart-oz.org/</a> </p></li></ul></div><p>Le système Mozart fournit un support de pointe dans 2 domaines : le calcul distribué ouvert et l'inférence basée sur les contraintes. Mozart implémente Oz, un langage concourant orienté objet avec synchronisation des flux de données. Oz combine la programmation distribuée et concourante avec l'inférence logique basée sur les contraintes, ce qui en fait un choix excellent pour le développement des systèmes multiagents. Mozart est une plateforme idéale aussi bien pour les applications distribuées polyvalentes que pour les problèmes difficiles nécessitant une optimisation sophistiquée et des capacités d'inférence. Nous avons développé des applications de planification et de gestion du temps, de placement et de configuration, de représentation du langage naturel et des connaissances, de systèmes multiagent et d'outils de collaboration sophistiqués.</p></dd><dt>SWI Prolog</dt><dd><div class="itemizedlist"><ul type="disc"><li><p> Site Web : <a href="http://www.swi-prolog.org/" target="_top">www.swi-prolog.org/</a> </p></li></ul></div><p>SWI est une version gratuite de Prolog dans la famille Prolog Edinburgh (la rendant de ce fait très similaire à Quintus et à beaucoup d'autres versions), qui contient : une grande bibliothèque de prédicats intégrés, un système de modules, un garbage collector, une interface bidirectionnelle avec le langage C, et beaucoup d'autres dispositifs encore. Il est censé être un langage éducatif, donc son code compilé n'est pas le plus rapide. Bien que sa similarité avec Quintus permette un portage facile.</p><p>XPCE est librement et gratuitement disponible en exécutable pour la version Linux de SWI-Prolog. XPCE est un paquetage/environnement de développement d'interface graphique (GUI) X-window orienté objet.</p></dd><dt>Push</dt><dd><div class="itemizedlist"><ul type="disc"><li><p> Site Web : <a href="http://hampshire.edu/lspector/push.html" target="_top">hampshire.edu/lspector/push.html</a> </p></li></ul></div><p>:TODO:</p></dd><dt>Kali Scheme</dt><dd><div class="itemizedlist"><ul type="disc"><li><p> Site Web : <a href="http://www.neci.nj.nec.com/PLS/Kali.html" target="_top">www.neci.nj.nec.com/PLS/Kali.html</a> </p></li></ul></div><p>Kali Scheme est une implémentation distribuée de Scheme qui permet une transmission efficace d'objets d'ordre supérieur tels que les fermetures et continuations. L'intégration d'équipements de communication distribuée dans un langage de programmation évolué engendre un certain nombre d'abstractions et de paradigmes nouveaux pour l'informatique distribuée. Parmi ces derniers nous avons les politiques de migration des processus et l'équilibrage de charge, personnalisés par l'utilisateur, les calculs distribués liés incrémentalement, les agents, et les applications client-serveur paramétrées. Kali Scheme supporte la simultanéité et la communication, grâce aux procédures et continuations de première classe. Il intègre les procédures et continuations dans un cadre distribué basé sur des messages qui permet à n'importe quel objet Scheme (y compris les vecteurs de code) d'être envoyé et reçu dans un message.</p></dd><dt>RScheme</dt><dd><div class="itemizedlist"><ul type="disc"><li><p> Site Web : <a href="http://www.rscheme.org/" target="_top">www.rscheme.org/</a> </p></li><li><p> Site FTP : <a href="ftp://ftp.rscheme.org/pub/rscheme/" target="_top">ftp.rscheme.org/pub/rscheme/</a> </p></li></ul></div><p>RScheme est une version orientée objet étendue du dialecte Scheme de Lisp. RScheme est librement redistribuable, et il offre des performances raisonnables en dépit de son extraordinaire portabilité. RScheme peut être compilé en C, et le C peut ensuite être compilé avec un compilateur C habituel pour générer du code machine. Cependant, par défaut, RScheme compile en code objet qui est interprété par une machine virtuelle (un moteur d'exécution). Cela assure une compilation rapide et permet de conserver un code de taille réduite. En général, nous recommandons l'utilisation du système de génération de code objet (activé par défaut), et de ne compiler en code machine que vos programmes dont le temps d'exécution est critique. Cela permet un bon compromis taille mémoire/temps d'exécution. (voir le site web pour plus de détails)</p></dd><dt>Scheme 48</dt><dd><div class="itemizedlist"><ul type="disc"><li><p> Site Web : <a href="http://s48.org/" target="_top">s48.org</a> </p></li></ul></div><p>Scheme 48 est une implémentation de Scheme basée sur une architecture de machine virtuelle. Scheme 48 est conçu pour être simple, souple, fiable, et rapide. Il devrait être facilement portable vers des machines 32 bits qui ont POSIX et le support du C ANSI. En plus de l'environnement de développement et des procédures usuelles intégrées de Scheme, les logiciels de bibliothèques incluent le support des macros hygiéniques (comme cela est décrit dans le rapport Scheme Revised^4), du multitâche, des enregistrements, de la gestion des exceptions, des tables de hachage, des tableaux, des pointeurs nuls, et du FORMAT. Scheme 48 implémente et exploite un système expérimental de modules vaguement dérivé de Standard ML et de Scheme Xerox. L'environnement de développement supporte les changements interactifs de modules et d'interfaces.</p></dd><dt>SCM (Scheme)</dt><dd><div class="itemizedlist"><ul type="disc"><li><p> Site Web : <a href="http://swissnet.ai.mit.edu/~jaffer/SCM.html" target="_top">swissnet.ai.mit.edu/~jaffer/SCM.html</a> </p></li></ul></div><p>SCM est conforme à la révision 5 du rapport sur l'Algorithmic Language Scheme (le langage algorithmique Scheme) et à la spécification IEEE P1178. SCM est écrit en C. Il utilise les utilitaires suivants (tous disponibles sur le site ftp) : <div class="itemizedlist"><ul type="disc"><li><p> SLIB (Standard Scheme Library) est une bibliothèque Scheme portable qui est prévue pour fournir des fonctions de compatibilité et des utilitaires pour toutes les implémentations Scheme standard, y compris SCM, Chez, Elk, Gambit, MacScheme, MITScheme, scheme->C, Scheme 48, T3.1, et VSCM, et est disponible sous le nom de fichier slib2c0.tar.gz. Ecrit par Aubrey Jaffer ; </p></li><li><p> JACAL est un système symbolique de mathématiques écrit en Scheme, et est disponible sous le nom de fichier jacal1a7.tar.gz ; </p></li><li><p> Des interfaces vers les bibliothèques standards comprenant un filtrage d'expressions régulières de chaînes de caractères REGEX et le paquetage de gestion d'écran CURSES ; </p></li><li><p> Sont disponibles pour être ajoutés des paquetages parmi lesquels un débogueur interactif, une base de données, des composants X-window, des traitements graphiques BGI, Motif, et des paquetages Open-Windows ; </p></li><li><p> Un compilateur (HOBBIT, disponible séparément) et la liaison dynamique des modules compilés. </p></li></ul></div></p></dd><dt>Shift</dt><dd><div class="itemizedlist"><ul type="disc"><li><p> Site Web : <a href="http://www.path.berkeley.edu/shift/" target="_top">www.path.berkeley.edu/shift/</a> </p></li></ul></div><p>Shift est un langage de programmation permettant de décrire les réseaux dynamiques d'automates hybrides. De tels systèmes sont constitués de composants qui peuvent être créés, interconnectés et détruits au fur et à mesure que le système évolue. Les composants montrent un comportement hybride, constitué de phases continues séparées par des transitions à événements discrets. Les composants peuvent évoluer indépendamment, ou ils peuvent interagir par leurs entrées, leurs sorties et les événements exportés. Le réseau d'interaction lui-même peut évoluer.</p></dd><dt>YAP Prolog</dt><dd><div class="itemizedlist"><ul type="disc"><li><p> Site Web : <a href="http://www.ncc.up.pt/~vsc/Yap/" target="_top">www.ncc.up.pt/~vsc/Yap/</a> </p></li></ul></div><p>YAP est un compilateur Prolog à haute performance développé par LIACC/Universidade do Porto. Son moteur Prolog est basé sur WAM (Warren Abstract Machine, Machine Abstraite Warren), avec plusieurs optimisations pour de meilleures performances. YAP suit la tradition d'Edinburgh, et est en grande partie compatible avec Prolog DEC-10, Quintus Prolog, et particulièrement avec le C-Prolog. Le travail sur la version la plus récente de YAP tends vers plusieurs objectifs : <div class="itemizedlist"><ul type="disc"><li><p> la portabilité : le système tout entier est maintenant écrit en C. YAP compile sur les machines 32 bits les plus courantes, tels que les Sun et les PC sous Linux, et sur les machines 64 bits, les Alphas sur lesquelles tournent OSF Unix et Linux. </p></li><li><p> la performance : nous avons optimisé l'émulateur pour obtenir des performances comparables voire meilleures que celles des systèmes Prolog les plus connus. En réalité, la version actuelle de YAP est plus puissante que l'originale, écrite en assembleur. </p></li><li><p> la robustesse : nous avons testé le système avec un grand échantillonnage d'applications Prolog. </p></li><li><p> l'extensibilité : YAP a dès l'origine été conçu structurellement pour encapsuler la manipulation de termes. Ces principes étaient utilisés, par exemple, pour implémenter une interface C simple et puissante. La nouvelle version de YAP étend ces principes pour adapter les extensions à l'algorithme d'unification, qui, selon nous, sera utile pour l'implémentation d'extensions telles que la programmation de contraintes. </p></li><li><p> la complétude : YAP fournit depuis longtemps la plupart des installations intégrées que l'on attend d'une implémentation Prolog Edinburgh. Celles-ci comprennent les fonctionnalités d'entrées/sorties, les opérations de bases de données, et les modules. Le travail sur YAP a maintenant pour objectif d'être compatible avec le standard Prolog. </p></li><li><p> l'ouverture : nous voudrions faire en sorte que les nouveaux développements de YAP soient ouverts à la communauté des utilisateurs. </p></li><li><p> la recherche : YAP est un projet moteur pour la recherche dans et en dehors de notre groupe. Actuellement la recherche continue sur le parallélisme et la tabulation, et nous avons commencé à travailler sur la prise en compte de la manipulation des contraintes. </p></li></ul></div></p></dd></dl></div></div><div class="navfooter"><hr><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="ar01s06.html">Précédent</a> </td><td align="center" width="20%"> </td><td align="right" width="40%"> <a accesskey="n" href="ar01s08.html">Suivant</a></td></tr><tr><td valign="top" align="left" width="40%">6. Les agents </td><td align="center" width="20%"><a accesskey="h" href="index.html">Sommaire</a></td><td valign="top" align="right" width="40%"> 8. Manquant et Inactif</td></tr></table></div></body></html>