Sophie

Sophie

distrib > * > 2010.0 > * > by-pkgid > a412ceb851151854794ced2a242192bb > files > 155

howto-html-fr-20080722-1mdv2010.0.noarch.rpm

<html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>6.&nbsp;Les agents</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="ar01s05.html" title="5.&nbsp;A venir"><link rel="next" href="ar01s07.html" title="7.&nbsp;Les langages de programmation"></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">6.&nbsp;Les agents</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="ar01s05.html">Pr&eacute;c&eacute;dent</a>&nbsp;</td><th align="center" width="60%">&nbsp;</th><td align="right" width="20%">&nbsp;<a accesskey="n" href="ar01s07.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="N105B2"></a>6.&nbsp;Les agents</h2></div></div></div><p>Aussi connus sous le nom d'agents intelligents ou simplement agents,
    ce domaine de recherche en IA traite de petites applications destin&eacute;es &agrave;
    aider l'utilisateur(trice) dans son travail. Ils peuvent &ecirc;tre mobiles
    (capables de stopper leur ex&eacute;cution sur une machine et de la relancer sur
    une autre) ou statiques (en demeurant dans une seule machine). Ils sont le
    plus souvent sp&eacute;cifiques &agrave; une t&acirc;che (donc relativement simples) et con&ccedil;us
    pour aider l'utilisateur &agrave; la mani&egrave;re d'un assistant. Jusqu'&agrave; pr&eacute;sent,
    l'utilisation la plus courante (c'est &agrave; dire la plus largement r&eacute;pandue)
    de ce type d'application concerne les robots d'indexation, que beaucoup de
    moteurs de recherche utilisent (ex.: webcrawler).</p><div class="glosslist"><dl><dt>Agent</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
              Site FTP&nbsp;: <a href="ftp://www.cpan.org/modules/by-category/23_Miscellaneous_Modules/Agent/" target="_top">
              www.cpan.org/modules/by-category/23_Miscellaneous_Modules/Agent/</a>
            </p></li></ul></div><p>Agent est le prototype d'un syst&egrave;me "Information Agent". Il
          est &agrave; la fois multiplateforme et multilangue, car il stocke les
          informations r&eacute;colt&eacute;es dans de simples cha&icirc;nes de caract&egrave;res
          condens&eacute;es. Il peut &ecirc;tre condens&eacute; et transport&eacute; &agrave; travers le r&eacute;seau
          dans n'importe quel format, car l'agent peut s'autobloquer dans son
          &eacute;tat initial.</p></dd><dt>agentTool</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
              Site Web&nbsp;: <a href="http://en.afit.af.mil/ai/agentool.htm" target="_top">en.afit.af.mil/ai/agentool.htm</a>
            </p></li><li><p>
              Site de t&eacute;l&eacute;chargement&nbsp;: <a href="http://en.afit.af.mil/ai/registration.htm" target="_top">en.afit.af.mil/ai/registration.htm</a>
            </p></li></ul></div><p>Autre cadre de d&eacute;veloppement d'agent con&ccedil;u en Java. Il est
          assez unique dans le fait qu'il s'appuie sur l'utilisation d'une
          interface graphique pour concevoir le syst&egrave;me qui va "synth&eacute;tiser
          semi-automatiquement des syst&egrave;mes multiagents pour r&eacute;pondre &agrave; ces
          exigences". Il vous faut un navigateur compatible java pour pouvoir
          t&eacute;l&eacute;charger le logiciel.&nbsp;:P</p></dd><dt>Aglets Workbench</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
              Site Web&nbsp;: <a href="http://www.trl.ibm.com/aglets/index_e.htm" target="_top">www.trl.ibm.com/aglets/index_e.htm</a>
            </p></li></ul></div><p>Un aglet est un objet Java qui peut se d&eacute;placer d'un h&ocirc;te &agrave; un
          autre sur Internet. Cela veut dire qu'un aglet s'ex&eacute;cutant sur une
          machine peut brusquement arr&ecirc;ter son ex&eacute;cution, s'exp&eacute;dier sur une
          machine distante, et reprendre son d&eacute;roulement sur son nouvel h&ocirc;te.
          Quand l'aglet se d&eacute;place, il emporte aussi bien son code source que
          son &eacute;tat (ses donn&eacute;es). Un m&eacute;canisme de s&eacute;curit&eacute; int&eacute;gr&eacute; s&eacute;curise
          l'accueil d'aglets d'origine incertaine pour l'h&ocirc;te. L'API d'Aglet
          Java (J-AAPI) est un standard propos&eacute; au public pour interfacer les
          aglets et leur environnement. J-AAPI contient des fonctions pour
          initialiser les aglets, g&eacute;rer les messages et exp&eacute;dier, retirer,
          activer ou d&eacute;sactiver, cloner, ou se d&eacute;barrasser de l'aglet. J-AAPI
          est simple, souple, et stable. Les d&eacute;veloppeurs d'applications
          peuvent coder des aglets multiplateformes en consid&eacute;rant qu'ils
          peuvent fonctionner sur n'importe quelle machine supportant
          J-AAPI.</p></dd><dt>A.L.I.C.E.</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
              Site Web&nbsp;: <a href="http://www.alicebot.org" target="_top">www.alicebot.org</a>
            </p></li></ul></div><p>Le logiciel ALICE impl&eacute;mente l'AIML (Artificial Intelligence
          Markup Language), un langage &agrave; balise non standard en &eacute;volution,
          permettant de cr&eacute;er des robots de "chat". La caract&eacute;ristique de base
          de sa conception est minimaliste. Compar&eacute; &agrave; d'autres langages de
          robot de "chat", l'AIML est peut-&ecirc;tre le plus simple. Le langage de
          filtrage est tr&egrave;s simple, ne permettant par exemple qu'un seul
          caract&egrave;re joker ('*') de comparaison par filtre. L'AIML est un
          langage XML, ce qui implique qu'il ob&eacute;it &agrave; certaines m&eacute;ta-r&egrave;gles
          grammaticales. Le choix d'une syntaxe XML rend possible
          l'int&eacute;gration avec d'autres outils tels que des &eacute;diteurs XML. Une
          autre motivation du choix du XML est son apparence famili&egrave;re,
          particuli&egrave;rement pour les personnes exp&eacute;riment&eacute;e en HTML.</p></dd><dt>Ara</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
              Site Web&nbsp;: <a href="http://wwwagss.informatik.uni-kl.de/Projekte/Ara/index_e.html" target="_top">wwwagss.informatik.uni-kl.de/Projekte/Ara/index_e.html</a>
            </p></li></ul></div><p>Ara est une plateforme d'ex&eacute;cution s&ucirc;re et portable d'agents
          mobiles dans les r&eacute;seaux h&eacute;t&eacute;rog&egrave;nes. Dans ce contexte, les agents
          mobiles sont des programmes ayant la capacit&eacute; de changer de machine
          h&ocirc;te pendant leur ex&eacute;cution tout en pr&eacute;servant leur &eacute;tat interne.
          Cela leur permet de g&eacute;rer des op&eacute;rations localement, plut&ocirc;t que de
          devoir les effectuer &agrave; distance. Par rapport aux plateformes du m&ecirc;me
          type, le but pr&eacute;cis d'Ara est de fournir des fonctionnalit&eacute;s
          compl&egrave;tes d'agent mobile, tout en maintenant autant que possible des
          mod&egrave;les et langages de programmation &eacute;tablis.</p></dd><dt>BattleBots</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
              Site Web&nbsp;: <a href="http://www.bluefire.nu/droidbattles/" target="_top">www.bluefire.nu/droidbattles/</a>
            </p></li></ul></div><p>Jeu de programmation d'IA o&ugrave; l'on con&ccedil;oit un robot en
          choisissant du mat&eacute;riel et en programmant son unit&eacute; centrale, puis
          en faisant des comp&eacute;titions avec d'autres robots. Les comp&eacute;titions
          peuvent engager des &eacute;quipes et des r&egrave;gles sp&eacute;ciales pour un
          jeu.</p><p>Le mat&eacute;riel disponible pour concevoir votre robot comprend des
          armes, un moteur, des scanners, un microprocesseur, etc. Le langage
          de programmation d&eacute;pend du type de votre CPU et est similaire &agrave; un
          langage d'assemblage.</p></dd><dt>Bee-gent</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
              Site Web&nbsp;: <a href="http://www2.toshiba.co.jp/beegent/index.htm" target="_top">www2.toshiba.co.jp/beegent/index.htm</a>
            </p></li></ul></div><p>Bee-gent est un nouveau type de cadre de d&eacute;veloppement car
          c'est un syst&egrave;me d'agent &agrave; 100%. Par opposition &agrave; d'autres syst&egrave;mes
          qui ne font qu'une utilisation partielle des agents, Bee-gent
          "agentifie" compl&egrave;tement la communication qui a lieu entre les
          applications logicielles. Les applications deviennent des agents, et
          tous les messages sont transport&eacute;s par les agents. Ainsi, Bee-gent
          permet aux d&eacute;veloppeurs de construire des syst&egrave;mes ouverts,
          distribu&eacute;s et souples, qui permettent une utilisation optimale des
          applications existantes.</p></dd><dt>Bond</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
              Site Web&nbsp;: <a href="http://bond.cs.ucf.edu/" target="_top">bond.cs.ucf.edu/</a>
            </p></li></ul></div><p>Encore un autre syst&egrave;me d'agent en Java...</p><p>Bond est un syst&egrave;me d'objets distribu&eacute;s con&ccedil;u en Java et un
          cadre d'agent. Il met en application un logiciel m&eacute;dian bas&eacute; sur des
          messages et des services associ&eacute;s tels qu'un annuaire, la
          persistance, la surveillance et la s&eacute;curit&eacute;. Bond permet de
          construire facilement des applications r&eacute;parties multiagents. Une
          autre application future de Bond est le Laboratoire Virtuel
          supportant l'annotation d'informations et l'informatique r&eacute;partie &agrave;
          grande &eacute;chelle.</p></dd><dt>Cadaver</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
              Site Web&nbsp;: <a href="http://www.erikyyy.de/cadaver/" target="_top">www.erikyyy.de/cadaver/</a>
            </p></li></ul></div><p>Cadaver simule en temps r&eacute;el des cyborgs et la nature. Le
          champ de bataille est constitu&eacute; de for&ecirc;ts, de bl&eacute;, d'eau, d'herbe,
          de carcasses (bien s&ucirc;r) et de plein d'autres choses. Le serveur de
          jeu contr&ocirc;le le jeu et les r&egrave;gles. Vous d&eacute;marrez le serveur et
          connectez quelques clients. Les clients communiquent avec le serveur
          en utilisant un protocole tr&egrave;s primitif. Ils peuvent donner l'ordre
          aux cyborgs de moissonner le bl&eacute;, d'attaquer des ennemis ou de
          couper du bois. Le jeu n'est pas destin&eacute; &agrave; &ecirc;tre jou&eacute; par des
          humains! Il y a beaucoup trop de choses &agrave; contr&ocirc;ler. R&eacute;serv&eacute; aux
          experts&nbsp;: vous pouvez uniquement vous connecter au serveur par
          telnet et entrer les commandes manuellement. Mais l'id&eacute;e est plut&ocirc;t
          que vous &eacute;criviez des clients dot&eacute;s d'une intelligence artificielle
          pour battre les autres intelligences artificielles. Vous pouvez
          s&eacute;lectionner un langage (et un syst&egrave;me d'exploitation) de votre
          choix pour effectuer cette t&acirc;che. Il n'y a qu'&agrave; &eacute;crire un programme
          qui communique sur les canaux d'entr&eacute;e et de sortie standard. Puis
          vous pouvez employer des programmes tels que "socket" pour connecter
          vos clients au serveur. Il n'est PAS n&eacute;cessaire d'&eacute;crire du code
          TCP/IP, bien que je l'ai fait&nbsp;:) La bataille ne sera pas ennuyeuse,
          donc vous disposez du client appel&eacute; "spyboss" qui affiche
          graphiquement l'action &agrave; l'&eacute;cran.</p></dd><dt>Cougaar</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
              Site Web&nbsp;: <a href="http://www.cougaar.org/" target="_top">www.cougaar.org/</a>
            </p></li></ul></div><p>Cougaar est une architecture Java pour la construction
          d'applications &agrave; base d'agents distribu&eacute;s &agrave; grande &eacute;chelle. C'est le
          produit de plusieurs ann&eacute;es de recherche dans le cadre du projet
          DARPA sur les syst&egrave;mes d'agents &agrave; grande &eacute;chelle, et il inclut non
          seulement l'architecture du noyau mais aussi un ensemble de
          composants de d&eacute;monstration, de visualisation et d'administration
          pour simplifier le d&eacute;veloppement d'applications complexes et
          distribu&eacute;es. [Encore un autre syst&egrave;me d'agents con&ccedil;u en Java &mdash;
          ed.]</p></dd><dt>D'Agent (anciennement AGENT TCL)</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
              Site Web&nbsp;: <a href="http://agent.cs.dartmouth.edu/software/agent2.0/" target="_top">agent.cs.dartmouth.edu/software/agent2.0/</a>
            </p></li><li><p>
              Site FTP&nbsp;: <a href="ftp://agent.cs.dartmouth.edu/pub/agents/" target="_top">agent.cs.dartmouth.edu/pub/agents/</a>
            </p></li></ul></div><p>Un agent transportable est un programme qui peut migrer d'une
          machine &agrave; une autre dans un r&eacute;seau h&eacute;t&eacute;rog&egrave;ne. Le programme choisit
          o&ugrave; et quand il va migrer. Il peut suspendre son ex&eacute;cution &agrave; un
          certain point, se d&eacute;placer sur une autre machine et reprendre
          l'ex&eacute;cution sur la nouvelle machine. Par exemple, un agent
          transportant un courrier &eacute;lectronique migre d'abord vers le routeur
          et ensuite vers la bo&icirc;te mail du destinataire. L'agent peut
          effectuer arbitrairement un traitement complexe sur chaque machine
          afin de s'assurer que le message atteint le bon destinataire.</p></dd><dt>Dunce</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
              Site Web&nbsp;: <a href="http://www.boswa.com/misc/dunce/" target="_top">www.boswa.com/misc/dunce/</a>
            </p></li></ul></div><p>Dunce est un simple robot de "chat" (IA conversationnelle) et
          un langage pour programmer ce type de robots. Il emploie un filtrage
          d'expressions rationnelles de base et un m&eacute;canisme semi-neuronal de
          lancement de r&egrave;gles et de r&eacute;ponses (avec des cycles acc&eacute;l&eacute;ration /
          ralentissement d'activit&eacute;).</p></dd><dt>FIPA-OS</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
              Site Web&nbsp;: <a href="http://fipa-os.sourceforge.net/" target="_top">fipa-os.sourceforge.net/</a>
            </p></li><li><p>
              Site Web secondaire&nbsp;: <a href="http://www.nortelnetworks.com/products/announcements/fipa/" target="_top">www.nortelnetworks.com/products/announcements/fipa/</a>
            </p></li></ul></div><p>FIPA-OS est l'impl&eacute;mentation "open source" des &eacute;l&eacute;ments
          obligatoires contenus dans la sp&eacute;cification FIPA n&eacute;cessaires &agrave;
          l'interop&eacute;rabilit&eacute; des agents. En plus d'&ecirc;tre compatible avec le
          concept d'interop&eacute;rabilit&eacute; de FIPA, FIPA-OS fournit &eacute;galement une
          architecture bas&eacute;e sur des composants permettant le d&eacute;veloppement
          d'agents sp&eacute;cifiques &agrave; un domaine, pouvant utiliser les services des
          agents de la plateforme FIPA. Il est impl&eacute;ment&eacute; en Java.</p></dd><dt>FishMarket</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
              Site Web&nbsp;: <a href="http://www.iiia.csic.es/Projects/fishmarket/newindex.html" target="_top">www.iiia.csic.es/Projects/fishmarket/newindex.html</a>
            </p></li></ul></div><p>FM &mdash; Le projet FishMarket men&eacute; par l' "Artificial Intelligence
          Research Institute" (IIIA-CSIC) tente d'apporter sa contribution
          dans cette direction en d&eacute;veloppant FM, une maison de ventes aux
          ench&egrave;res &eacute;lectronique g&eacute;r&eacute;e par des agents, qui a &eacute;t&eacute; transform&eacute;e en
          banc d'essai pour les march&eacute;s d'ench&egrave;res &eacute;lectroniques. Le cadre,
          con&ccedil;u et mis en application comme extension de FM96.5 (une version
          Java de la maison de ventes de Fishmarket), permet de d&eacute;finir des
          sc&eacute;narii de transactions bas&eacute;s sur les ench&egrave;res &agrave; la cri&eacute;e (ench&egrave;res
          hollandaises). FM fournit un cadre o&ugrave; les concepteurs d'agent
          peuvent r&eacute;aliser des exp&eacute;riences contr&ocirc;l&eacute;es de telle mani&egrave;re qu'une
          multitude de sc&eacute;narii de march&eacute;s exp&eacute;rimentaux &mdash; que nous
          consid&eacute;rons comme sc&eacute;narii de comp&eacute;tition du fait de la nature
          concurrentielle du domaine &mdash; d'un r&eacute;alisme et d'une complexit&eacute; plus
          ou moins forts peuvent &ecirc;tre &eacute;tablis, activ&eacute;s, et enregistr&eacute;s&nbsp;; et de
          telle mani&egrave;re que les agents h&eacute;t&eacute;rog&egrave;nes (humains et logiciels)
          d'&eacute;change (acheteur et vendeur) peuvent &ecirc;tre compar&eacute;s, accord&eacute;s et
          &eacute;valu&eacute;s.</p></dd><dt>GNU Robots</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
              Site Web&nbsp;: <a href="http://www.gnu.org/software/robots/robots.html" target="_top">www.gnu.org/software/robots/robots.html</a>
            </p></li></ul></div><p>GNU Robots est un jeu / divertissement o&ugrave; il vous faut
          construire un programme pour un petit robot, puis le regarder
          explorer un monde. Le monde en question est rempli de m&eacute;chants qui
          peuvent vous blesser, d'objets dans lesquels vous pouvez frapper, et
          de nourriture que vous pouvez manger. Le but de ce jeu est de
          collecter autant de prix que possible avant d'&ecirc;tre tu&eacute; par un ennemi
          ou d'&ecirc;tre &agrave; court d'&eacute;nergie. Les robots peuvent &ecirc;tre &eacute;crits en
          script "Guile" ou en utilisant une interface graphique.</p></dd><dt>Grasshopper</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
              Site Web&nbsp;: <a href="http://www.grasshopper.de/" target="_top">www.grasshopper.de/</a>
            </p></li></ul></div><p>Autre syst&egrave;me d'agent en Java. Poss&egrave;de de nombreuses
          fonctionnalit&eacute;s et est activement d&eacute;velopp&eacute;. Commercial mais libre.
          Orient&eacute; &agrave; l'origine vers les syst&egrave;mes embarqu&eacute;s.</p></dd><dt>Hive</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
              Site Web&nbsp;: <a href="http://hive.sourceforge.net/" target="_top">hive.sourceforge.net/</a>
            </p></li></ul></div><p>Hive est une plateforme logicielle en Java pour cr&eacute;er des
          applications r&eacute;parties. En utilisant Hive, les programmeurs peuvent
          facilement cr&eacute;er des syst&egrave;mes qui se connectent et utilisent des
          donn&eacute;es provenant d'internet. Au fond, Hive est un environnement
          d'&eacute;volution pour les agents distribu&eacute;s, qui communiquent et se
          d&eacute;placent pour accomplir des t&acirc;ches. Nous essayons de rendre
          Internet vivant.</p></dd><dt>ICM</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
              Site Web&nbsp;: <a href="http://www.nar.fujitsulabs.com/" target="_top">www.nar.fujitsulabs.com/</a>
            </p></li><li><p>
              Site sur SourceForge&nbsp;: <a href="http://sourceforge.net/projects/networkagent/" target="_top">sourceforge.net/projects/networkagent/</a>
            </p></li></ul></div><p>Inter-Agent Communication Model (ICM, Mod&egrave;le de Communication
          Inter-agents) est un m&eacute;canisme de communication pouvant &ecirc;tre utilis&eacute;
          pour envoyer des messages entre agents en mode asynchrone. Son
          domaine d'application pr&eacute;vu est le m&eacute;canisme de transport pour les
          langages de communication d'agent (ACLs), comme KQML et ACL de
          FIPA.</p></dd><dt>Jacomma</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
              Site Web&nbsp;: <a href="http://jacomma.sourceforge.net/" target="_top">jacomma.sourceforge.net/</a>
            </p></li><li><p>
              Site sur SourceForge&nbsp;: <a href="http://sourceforge.net/projects/jacomma/" target="_top">sourceforge.net/projects/jacomma/</a>
            </p></li></ul></div><p>Jacomma est une plateforme / un cadre de d&eacute;veloppement pour
          d&eacute;velopper des agents d'information distribu&eacute;s, mobiles et r&eacute;actifs,
          avec des capacit&eacute;s de communication h&eacute;t&eacute;rog&egrave;ne, en Java et
          Jpython.</p><p>Jacomma fournit un cadre de d&eacute;veloppement et un environnement
          d'ex&eacute;cution, qui repose sur l'infrastructure "Inter-Agent
          Communication Model". ICM d&eacute;finit un protocole de communication, une
          architecture de stockage et d'exp&eacute;dition de messages, et une
          infrastructure de communication bas niveau pour l'&eacute;change de
          messages. La communication est r&eacute;ellement asynchrone, bas&eacute;e sur des
          sockets TCP.</p><p>Il y a une rubrique sur ICM dans ce guide, vous pouvez
          &eacute;galement le trouver via un lien &agrave; partir de ce site.</p></dd><dt>Jade</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
              Site Web&nbsp;: <a href="http://sharon.cselt.it/projects/jade/" target="_top">sharon.cselt.it/projects/jade/</a>
            </p></li></ul></div><p>JADE (Java Agent DEvelopment Framework) est un cadre de
          d&eacute;veloppement logiciel compl&egrave;tement impl&eacute;ment&eacute; en langage Java. Cela
          simplifie l'impl&eacute;mentation de syst&egrave;mes multiagents &agrave; travers un
          logiciel m&eacute;dian dont on est assur&eacute; qu'il est conforme aux
          sp&eacute;cifications de la FIPA, et &agrave; travers un ensemble d'outils
          permettant le d&eacute;buggage et la phase de d&eacute;ploiement. La plateforme
          d'agents peut &ecirc;tre distribu&eacute;e entre diverses machines (qui n'ont
          m&ecirc;me pas besoin de partager le m&ecirc;me syst&egrave;me d'exploitation) et sa
          configuration peut &ecirc;tre r&eacute;alis&eacute;e au moyen d'une interface graphique
          distante. La configuration peut m&ecirc;me &ecirc;tre chang&eacute;e au cours de
          l'ex&eacute;cution, en d&eacute;pla&ccedil;ant les agents d'une machine &agrave; une autre, au
          fur et &agrave; mesure que cela est n&eacute;cessaire.</p></dd><dt>JAM Agent</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
              Site Web&nbsp;: <a href="http://www.marcush.net/IRS/irs_downloads.html" target="_top">www.marcush.net/IRS/irs_downloads.html</a>
            </p></li></ul></div><p>JAM accepte aussi bien les modes de raisonnement descendant (&agrave;
          base de buts &agrave; atteindre) que les modes de raisonnement ascendant (&agrave;
          partir des donn&eacute;es). JAM choisit ses objectifs et plans selon la
          priorit&eacute; maximale si le raisonnement m&eacute;taniveau n'est pas utilis&eacute;,
          ou sur les plans de raisonnement m&eacute;taniveau d&eacute;velopp&eacute;s par
          l'utilisateur si ceux-ci existent. Pour JAM, la conceptualisation
          des objectifs et l'accomplissement des objectifs est d&eacute;finie plus
          classiquement (UMPRS est plus bas&eacute; sur les performances
          comportementales que v&eacute;ritablement sur les objectifs) et fait la
          distinction entre les plans pour atteindre un objectif et les plans
          qui encodent simplement les comportements. Les objectifs-type
          impl&eacute;ment&eacute;s incluent la r&eacute;alisation (atteindre un &eacute;tat donn&eacute; du
          syst&egrave;me), la maintenance (atteindre de nouveau cet &eacute;tat donn&eacute; du
          syst&egrave;me), et la performance. L'ex&eacute;cution simultan&eacute;e d'objectifs
          multiples est possible, avec une capacit&eacute; de suspension et de
          reprise pour chaque processus d'objectif (c-&agrave;-d d'intention). Les
          plans de JAM ont des propri&eacute;t&eacute;s explicites de condition &agrave; priori et
          de fonctionnement qui restreignent leur applicabilit&eacute;, une propri&eacute;t&eacute;
          de condition &agrave; posteriori et une section des propri&eacute;t&eacute;s du plan sont
          utilis&eacute;es pour d&eacute;finir des caract&eacute;ristiques sp&eacute;cifiques &agrave; un plan ou
          un domaine. Les constructions de plan disponibles incluent&nbsp;:
          l'ordonnancement, l'it&eacute;ration, les objectifs partiels, les segments
          de plan atomiques (c-&agrave;-d non-interruptible), l'ex&eacute;cution
          conditionnelle non d&eacute;terministe et d&eacute;terministe &agrave; n-branche,
          l'ex&eacute;cution parall&egrave;le de segments de plan multiples, la
          synchronisation bas&eacute;e sur l'&eacute;tat donn&eacute; du syst&egrave;me ou les objectifs,
          une section de manipulation des d&eacute;faillances explicite, et la
          d&eacute;finition de primitives de fonction Java au moyen de sa
          construction dans JAM aussi bien que l'invocation de membres de
          classe pr&eacute;d&eacute;finies (c-&agrave;-d propri&eacute;taire) via les capacit&eacute;s de
          r&eacute;flexion de Java, sans avoir &agrave; le construire dans JAM.</p></dd><dt>JATLite</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
              Site Web&nbsp;: <a href="http://java.stanford.edu/" target="_top">java.stanford.edu/</a>
            </p></li></ul></div><p>JATLite fournit un ensemble de paquetages Java qui facilite la
          conception de syst&egrave;mes multiagents en Java. JATLite fournit
          seulement un ensemble petit et l&eacute;ger de paquetages, de sorte que les
          d&eacute;veloppeurs puissent se d&eacute;brouiller avec tous les paquetages avec
          un minimum d'efforts. Pour plus de souplesse, JATLite fournit quatre
          couches diff&eacute;rentes, d'une impl&eacute;mentation abstraite &agrave; une
          impl&eacute;mentation "Router". Un utilisateur peut acc&eacute;der &agrave; n'importe
          quelle couche fournie. Chaque couche est bas&eacute;e sur un ensemble de
          postulats diff&eacute;rents. L'utilisateur peut choisir la couche
          appropri&eacute;e selon les postulats de la couche et de l'application de
          l'utilisateur. La page d'introduction pr&eacute;sente les fonctionnalit&eacute;s
          de JATLite et l'ensemble des postulats de chaque couche.</p></dd><dt>JATLiteBeans</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
               Site Web&nbsp;: 

              <a href="http://waitaki.otago.ac.nz/JATLiteBean/" target="_top">waitaki.otago.ac.nz/JATLiteBean/</a>

               
            </p></li></ul></div><div class="itemizedlist"><ul type="disc"><li><p>Interface de JATLite am&eacute;lior&eacute;e et maniabilit&eacute; accrue,
              comprenant l'envoi, la r&eacute;ception et l'analyse lexicale des
              messages KQML</p></li><li><p>
               Architecture extensible pour la gestion des messages et l'administration "thread of control" (NdT&nbsp;: unit&eacute; d'ex&eacute;cution) des agents 
            </p></li><li><p>
               Fonctions utiles pour l'analyse lexicale du contenu de messages KQML simples 
            </p></li><li><p>
              JATLiteBean permet la transmission automatique aux agents
              animateurs de l'information sur les capacit&eacute;s des agents
            </p></li><li><p>
               Gestion automatique, facultative de la directive "forward" 
            </p></li><li><p>
               Analyseur lexical des fichiers g&eacute;n&eacute;riques de configuration 
            </p></li><li><p>
               V&eacute;rificateur syntaxique de KQML 
            </p></li></ul></div></dd><dt>Java(tm) Agent Template</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
               Site Web&nbsp;: 

              <a href="http://www-cdr.stanford.edu/ABE/JavaAgent.html" target="_top">www-cdr.stanford.edu/ABE/JavaAgent.html</a>

               
            </p></li></ul></div><p>Le JAT fournit un mod&egrave;le pleinement fonctionnel, &eacute;crit
          enti&egrave;rement en langage Java, qui permet de construire des agents
          logiciels qui communiquent en poste-&agrave;-poste ("peer-to-peer") avec
          une communaut&eacute; d'autres agents r&eacute;partis sur Internet. Bien que des
          portions du code utilis&eacute; dans chaque agent soient portables, les
          agents JAT ne sont pas mobiles mais restent statiques sur une seule
          machine. Ce comportement est en opposition &agrave; beaucoup d'autres
          technologies "agent". (Cependant, en utilisant le RMI Java, les
          agents JAT pourraient se d&eacute;placer dynamiquement sur une machine
          ext&eacute;rieure par l'interm&eacute;diaire d'un agent r&eacute;sidant sur cette seconde
          machine). Actuellement, tous les messages d'agent emploient KQML
          comme protocole de haut niveau ou comme emballeur de message. Le JAT
          poss&egrave;de une fonctionnalit&eacute; pour &eacute;changer dynamiquement les
          "Ressources", qui peuvent inclure des classes Java (ex.: nouveaux
          langages ou interpr&eacute;teurs, services distants, etc.), des fichiers de
          donn&eacute;es et des informations int&eacute;gr&eacute;s dans les messages KQML.</p></dd><dt>Khepera Simulator</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
               Site Web&nbsp;: 

              <a href="http://diwww.epfl.ch/lami/team/michel/khep-sim/index.html" target="_top">diwww.epfl.ch/lami/team/michel/khep-sim/index.html</a>

               
            </p></li></ul></div><p>Khepera Simulator est un paquetage logiciel du domaine public
          &eacute;crit par <a href="http://diwww.epfl.ch/lami/team/michel/" target="_top">Olivier MICHEL</a>
          pendant la pr&eacute;paration de son doctorat, au Laboratoire I3S, URA 1376
          du CNRS et de l'Universit&eacute; de Nice-Sophia Antipolis, en France. Il
          permet d'&eacute;crire son propre contr&ocirc;leur en langage C ou C++ pour le
          robot mobile Khepera, de le tester dans un environnement simul&eacute;, et
          comporte une belle interface graphique X11 color&eacute;e. De plus, si vous
          poss&eacute;dez un robot Khepera, le simulateur peut commander le vrai
          robot en utilisant le m&ecirc;me algorithme de contr&ocirc;le. Il est
          principalement destin&eacute; aux chercheurs &eacute;tudiant les agents
          autonomes.</p></dd><dt>Lyntin</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
               Site Web&nbsp;: 

              <a href="http://lyntin.sourceforge.net/" target="_top">lyntin.sourceforge.net/</a>

               
            </p></li></ul></div><p>Lyntin est un client "Mud" (Multi-User Dialog, dialogue
          multi-utilisateur) extensible et un cadre de d&eacute;veloppement d'agents
          autonomes, ou de robots, aussi bien que tout ce qui approche le
          "mudding" en g&eacute;n&eacute;ral. Lyntin est bas&eacute; sur du Python, langage de
          programmation amusant, dynamique et orient&eacute; objet, bas&eacute; sur
          TinTin++, un beau client "mud".</p></dd><dt>Mole</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
               Site Web&nbsp;: 

              <a href="http://mole.informatik.uni-stuttgart.de/" target="_top">mole.informatik.uni-stuttgart.de/</a>

               
            </p></li></ul></div><p>Mole est un syst&egrave;me d'agent compatible avec les agents mobiles
          programm&eacute;s en Java. Les agents de Mole sont un regroupement
          d'objets, qui n'ont pas de r&eacute;f&eacute;rence vers l'ext&eacute;rieur, et qui dans
          l'ensemble travaillent sur des t&acirc;ches donn&eacute;es par l'utilisateur ou
          par d'autres agents. Ils ont la capacit&eacute; d'&eacute;voluer sur un r&eacute;seau
          d'"emplacements" de fa&ccedil;on autonome. Ces "emplacements" sont une
          abstraction de n&#339;uds r&eacute;els, qui existent dans le r&eacute;seau
          sous-jacent. Ils peuvent acc&eacute;der &agrave; des ressources de nature locale,
          en communiquant avec les agents d&eacute;di&eacute;s repr&eacute;sentant ces services.
          Les agents sont capables d'utiliser les services fournis par
          d'autres agents et de fournir &eacute;galement des services.</p></dd><dt>Narval</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
               Site Web&nbsp;: 

              <a href="http://www.logilab.fr/narval.html" target="_top">www.logilab.fr/narval.html</a>

               et 

              <a href="http://www.logilab.org/projects/narval" target="_top">www.logilab.org/projects/narval</a>

               
            </p></li></ul></div><p>Narval signifie Assistant R&eacute;seau pour la Visualisation de
          Ressources et Langage d'Agent ("Network Assistant for Ressources
          Visualization and Agent Language"). C'est un assistant personnel en
          r&eacute;seau bas&eacute; sur l'intelligence artificielle et les technologies
          d'agent. Il ex&eacute;cute des recettes (s&eacute;quences d'actions) pour
          effectuer ses t&acirc;ches. Il est tr&egrave;s facile de d&eacute;finir une nouvelle
          action gr&acirc;ce &agrave; du XML et de l'impl&eacute;menter en utilisant Python. Les
          recettes peuvent &ecirc;tre cod&eacute;es et d&eacute;bogu&eacute;es au moyen d'une interface
          graphique.</p></dd><dt>NeL</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
               Site Web&nbsp;: 

              <a href="http://www.nevrax.org/" target="_top">www.nevrax.org/</a>

               
            </p></li></ul></div><p>NeL est en fait une biblioth&egrave;que de d&eacute;veloppement de jeux
          (pour les jeux multijoueurs massifs), mais je le signale ici car il
          devrait inclure une biblioth&egrave;que d'IA assez consid&eacute;rable. Voici une
          notice tir&eacute;e du livre blanc&nbsp;:</p><p>Le but de cette biblioth&egrave;que d'IA est de fournir une approche
          pragmatique pour cr&eacute;er une plateforme d'agents distribu&eacute;s. Elle est
          centr&eacute;e sur les agents&nbsp;; des entit&eacute;s individuelles communiquant
          ind&eacute;pendamment de l'endroit, en utilisant un mod&egrave;le
          action-r&eacute;action.</p></dd><dt>OAA</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
               Site Web&nbsp;: 

              <a href="http://www.ai.sri.com/~oaa/" target="_top">www.ai.sri.com/~oaa/</a>

               
            </p></li></ul></div><p>"Open Agent Architecture" (Architecture Ouverte d'Agents) est
          un cadre dans lequel une communaut&eacute; d'agents logiciels s'ex&eacute;cutant
          sur des machines distribu&eacute;es peuvent travailler ensemble sur des
          t&acirc;ches assign&eacute;es par des participants de la communaut&eacute;, humains ou
          non. La coop&eacute;ration distribu&eacute;e et la communication haut-niveau sont
          deux id&eacute;es centrales &agrave; l'origine d'OAA.</p><p>Il d&eacute;finit un langage de communication inter-agent et est
          compatible avec de multiples plateformes et langages de
          programmation.</p></dd><dt>PAI</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
               Site Web&nbsp;: 

              <a href="http://utenti.quipo.it/claudioscordino/pai.html" target="_top">utenti.quipo.it/claudioscordino/pai.html</a>

               
            </p></li></ul></div><p>PAI ("Programmable Artificial Intelligence", Intelligence
          Artificielle Programmable) est un programme capable de soutenir une
          conversation dans sa langue maternelle, l'anglais. Ecrit en
          C++.</p></dd><dt>Penguin!</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
               Site FTP&nbsp;: 

              <a href="ftp://www.cpan.org/modules/by-category/23_Miscellaneous_Modules/Penguin/FSG/" target="_top">www.cpan.org/modules/by-category/23_Miscellaneous_Modules/Penguin/FSG/</a>

               
            </p></li></ul></div><p>Penguin est un module Perl version 5. Il vous fournira un
          ensemble de fonctions qui vous permettront de&nbsp;: <div class="itemizedlist"><ul type="disc"><li><p>
                 envoyer du code Perl crypt&eacute;, avec signature num&eacute;rique vers une machine distante o&ugrave; il sera ex&eacute;cut&eacute;. 
              </p></li><li><p>
                 recevoir du code et, selon le signataire du message, l'ex&eacute;cuter dans un compartiment arbitrairement s&eacute;curis&eacute; et limit&eacute;. 
              </p></li></ul></div> La combinaison de ces fonctions permet le codage
          direct en Perl d'algorithmes qui permettent un commerce &eacute;lectronique
          s&ucirc;r, des agents mobiles de r&eacute;cup&eacute;ration d'information, des
          applications d'aide &agrave; la navigation en contenu temps r&eacute;el sur
          Internet ("live content"), le calcul distribu&eacute; &agrave; r&eacute;partition de
          charge, la mise &agrave; jour de logiciel &agrave; distance, l'administration de
          machines distantes, la propagation d'information bas&eacute;e sur le
          contenu, les applications de donn&eacute;es partag&eacute;es &agrave; travers Internet,
          les g&eacute;n&eacute;rateurs d'applications r&eacute;seau, et ainsi de suite.</p></dd><dt>Ps-i</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
               Site Web&nbsp;: 

              <a href="http://ps-i.sourceforge.net/" target="_top">ps-i.sourceforge.net/</a>

               
            </p></li></ul></div><p>Ps-i est un environnement permettant d'effectuer des
          simulations bas&eacute;es sur des agents. Il est multiplateforme, et un
          ex&eacute;cutable est disponible pour Win32. Ses fonctionnalit&eacute;s sont&nbsp;:
          <div class="itemizedlist"><ul type="disc"><li><p>
                 langage d&eacute;claratif pour la sp&eacute;cification des mod&egrave;les 
              </p></li><li><p>
                 langage de script Tcl/Tk conforme aux normes industrielles avec optimisation int&eacute;gr&eacute;e des sous-programmes, &eacute;valuation sp&eacute;culative, de plus les utilisateurs du compilateur JIT xf86 pourront cr&eacute;er des mod&egrave;les complexes sans d&eacute;gradation de performance 
              </p></li><li><p>
                 interface conviviale 
              </p></li><li><p>
                 sauvegarde et restauration du d&eacute;roulement du programme 
              </p></li><li><p>
                 changement des param&egrave;tres du mod&egrave;le &agrave; la vol&eacute;e 
              </p></li><li><p>
                 visualisation des donn&eacute;es&nbsp;: affichage d'agent par champs avec de multiples formes et couleurs, fen&ecirc;tre de statistiques, visionneur d'agents, explorateur de sous-programmes et outil de mise en surbrillance d'agents 
              </p></li></ul></div></p></dd><dt>RealTimeBattle</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
               Site Web&nbsp;: 

              <a href="http://www.lysator.liu.se/realtimebattle/" target="_top">www.lysator.liu.se/realtimebattle/</a>

               
            </p></li></ul></div><p>RealTimeBattle (Bataille Temps R&eacute;el) est un jeu de
          programmation dans lequel les robots, contr&ocirc;l&eacute;s par des programmes,
          se battent les uns contre les autres. L'objectif est de d&eacute;truire ses
          ennemis, &agrave; l'aide du radar pour observer les alentours et du canon
          pour tirer. <div class="itemizedlist"><ul type="disc"><li><p>
                 Le jeu se d&eacute;roule en temps r&eacute;el, le programme du robot s'ex&eacute;cutant en tant que processus fils de RealTimeBattle. 
              </p></li><li><p>
                 Les robots communiquent avec le programme principal via l'entr&eacute;e et la sortie standard. 
              </p></li><li><p>
                 Les robots peuvent &ecirc;tre construits dans presque n'importe quel langage de programmation. 
              </p></li><li><p>
                 Autant de robots que voulu peuvent concourir simultan&eacute;ment si le syst&egrave;me d'exploitation le permet. 
              </p></li><li><p>
                 Un langage de transmission de messages simple est utilis&eacute; pour communiquer, ce qui facilite le d&eacute;but de la construction de robots. 
              </p></li><li><p>
                 Les robots se comportent comme des objets physiques r&eacute;els. 
              </p></li><li><p>
                 Vous pouvez cr&eacute;er vos propres ar&egrave;nes. 
              </p></li><li><p>
                 Hautement configurable. 
              </p></li></ul></div></p></dd><dt>Remembrance Agents</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
               Site Web&nbsp;: 

              <a href="http://www.remem.org/" target="_top">www.remem.org/</a>

               
            </p></li></ul></div><p>Remembrance Agents (les Agents du Souvenir) sont un ensemble
          d'applications qui veillent sur l'utilisateur et sugg&egrave;rent des
          informations concernant la situation actuelle. Tandis que les moyens
          mn&eacute;moniques bas&eacute;s sur des requ&ecirc;tes aident &agrave; la rem&eacute;moration directe,
          les agents de souvenir sont une m&eacute;moire associative &eacute;tendue. Par
          exemple, la version du traitement de texte de RA met continuellement
          &agrave; jour une liste de documents en rapport avec ce qui est saisi ou lu
          dans un tampon d'emacs. Ces documents sugg&eacute;r&eacute;s peuvent &ecirc;tre
          n'importe quel fichier texte qui pourrait &ecirc;tre en rapport avec ce
          que vous &ecirc;tres en train d'&eacute;crire ou de lire. Ils pourraient &ecirc;tre de
          vieux courriers &eacute;lectroniques li&eacute;s au courrier que vous &ecirc;tes en
          train de lire, ou des r&eacute;sum&eacute;s de la recherche et des articles de
          journaux qui traitent du m&ecirc;me sujet que ce que vous &eacute;crivez.</p></dd><dt>RoboTournament</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
               Site Web&nbsp;: 

              <a href="http://robotournament.sourceforge.net/" target="_top">robotournament.sourceforge.net/</a>

               
            </p></li></ul></div><p>RoboTournament est un jeu inspir&eacute; de RoboRally o&ugrave; les joueurs
          programment leurs robots pour vaincre leurs adversaires. Les
          fonctionnalit&eacute;s de RoboTournament sont&nbsp;: types de jeu multiples&nbsp;:
          match &agrave; mort, rallye et capture de drapeau. Multijoueurs via TCP/IP,
          six armes y compris le BFG, un &eacute;diteur de cartes, et une grande
          vari&eacute;t&eacute; d'&eacute;l&eacute;ments de tableau de bord.</p></dd><dt>SimRobot</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
               Site Web&nbsp;: 

              <a href="http://www.informatik.uni-bremen.de/simrobot/index_e.htm" target="_top">www.informatik.uni-bremen.de/simrobot/index_e.htm</a>

               
            </p></li><li><p>
               Site FTP&nbsp;: 

              <a href="ftp://ftp.uni-bremen.de/pub/ZKW/INFORM/simrobot/" target="_top">ftp.uni-bremen.de/pub/ZKW/INFORM/simrobot/</a>

               
            </p></li></ul></div><p>SimRobot est un programme de simulation de robots avec
          capteurs dans un environnement 3D. Ecrit en C++, il fonctionne sous
          Unix et X11 et requiert la bo&icirc;te &agrave; outils graphique Xview.
          <div class="itemizedlist"><ul type="disc"><li><p>
                 Simulation de la cin&eacute;matique du robot 
              </p></li><li><p>
                 D&eacute;finition de sc&egrave;ne construite hi&eacute;rarchiquement par l'interm&eacute;diaire d'une langue de d&eacute;finition simple 
              </p></li><li><p>
                 Divers capteurs int&eacute;gr&eacute;s&nbsp;: appareil photo, &#339;il &agrave; facettes, mesure de distances, capteur de luminosit&eacute;, etc. 
              </p></li><li><p>
                 Les objets sont d&eacute;finis comme des poly&egrave;dres 
              </p></li><li><p>
                 Emetteur d&eacute;fini abstraitement&nbsp;: peut &ecirc;tre interpr&eacute;t&eacute; par exemple comme lumi&egrave;re ou bruit 
              </p></li><li><p>
                 Images d'appareil-photo calcul&eacute;es selon les algorithmes de raytracing ou de Z-buffer que l'on conna&icirc;t par l'infographie 
              </p></li><li><p>
                 Interface logicielle de capteur/moteur sp&eacute;cifique pour communiquer avec la simulation 
              </p></li><li><p>
                 Mappage de textures sur les surfaces de l'objet&nbsp;: bitmaps dans divers formats 
              </p></li><li><p>
                 Visualisation compl&egrave;te de la sc&egrave;ne&nbsp;: rendu en fil de fer sans lignes cach&eacute;es, ni valeurs de capteur ou d'acteur 
              </p></li><li><p>
                 Le contr&ocirc;le des agents et l'op&eacute;ration dans l'environnement sont aussi bien interactifs que trait&eacute;s par lots 
              </p></li><li><p>
                 D&eacute;tection des collisions 
              </p></li><li><p>
                 Capacit&eacute; d'extension gr&acirc;ce &agrave; des types d'objet d&eacute;finis par l'utilisateur 
              </p></li><li><p>
                 Communication par socket possible vers, par exemple, le logiciel de traitement d'image Khoros 
              </p></li></ul></div></p></dd><dt>Sulawesi</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
               Site Web&nbsp;: 

              <a href="http://wearables.essex.ac.uk/sulawesi/" target="_top">wearables.essex.ac.uk/sulawesi/</a>

               
            </p></li></ul></div><p>Un cadre de d&eacute;veloppement appel&eacute; Sulawesi a &eacute;t&eacute; con&ccedil;u et
          impl&eacute;ment&eacute; pour aborder ce qui est consid&eacute;r&eacute; comme des d&eacute;fis
          importants dans les interfaces utilisateur tout usage [NdT&nbsp;: en
          anglais le terme wearable est utilis&eacute;, pour exprimer la possibilit&eacute;
          d'un syst&egrave;me que l'on peut emporter sur soi, int&eacute;gr&eacute; ou non aux
          v&ecirc;tements]&nbsp;: la capacit&eacute; d'accepter une entr&eacute;e venant de n'importe
          quel nombre de modalit&eacute;s, et d'effectuer au besoin une traduction
          vers n'importe quel nombre de sorties modales. Cela est fait
          principalement au moyen d'un ensemble d'agents qui agissent par
          anticipation sur l'entr&eacute;e.</p></dd><dt>TclRobots</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
               Site Web&nbsp;: 

              <a href="http://www.nyx.net/~tpoindex/" target="_top">www.nyx.net/~tpoindex/</a>

               
            </p></li></ul></div><p>TclRobots est un jeu de programmation, semblable &agrave; &laquo; Core War
          &raquo;. Pour jouer &agrave; TclRobots, vous devez &eacute;crire un programme en Tcl qui
          contr&ocirc;le un robot. La mission du robot est de survivre &agrave; une
          bataille contre d'autres robots. Deux, trois ou quatre robots
          combattent pendant une bataille, chacun utilisant un programme
          diff&eacute;rent (ou &eacute;ventuellement le m&ecirc;me programme dans diff&eacute;rents
          robots). Chaque robot est &eacute;quip&eacute; avec un radiom&egrave;tre &agrave; balayage, un
          canon, et un m&eacute;canisme de d&eacute;placement. Un duel ne s'arr&ecirc;te que
          lorsqu'il ne reste qu'un seul robot op&eacute;rationnel. Les robots peuvent
          combattre individuellement, ou par &eacute;quipe. Un tournoi peut avoir
          lieu avec n'importe quel nombre de programmes de robot, chaque robot
          jouant contre tous les autres dans une poule, en face &agrave; face
          individuel. Un simulateur de bataille est disponible pour aider &agrave; la
          mise au point des programmes de robot.</p><p>Le programme TclRobots fournit un environnement physique,
          imposant certains param&egrave;tres de jeu auxquels tous les robots doivent
          adh&eacute;rer. TclRobots fournit &eacute;galement une vue de la bataille, et une
          interface de contr&ocirc;le pour l'utilisateur. Conditions pour utiliser
          TclRobots&nbsp;: un interpr&eacute;teur "wish" con&ccedil;u pour Tcl 7.4 et Tk
          4.0.</p></dd><dt>TKQML</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
               Site Web&nbsp;: 

              <a href="http://www.csee.umbc.edu/tkqml/" target="_top">www.csee.umbc.edu/tkqml/</a>

               
            </p></li></ul></div><p>TKQML est une application / un ajout KQML &agrave; Tcl/Tk, ce qui
          permet aux syst&egrave;mes bas&eacute;s sur Tcl de communiquer facilement avec un
          puissant langage de communication d'agent.</p></dd><dt>The Tocoma Project</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
               Site Web&nbsp;: 

              <a href="http://www.tacoma.cs.uit.no/" target="_top">www.tacoma.cs.uit.no/</a>

               
            </p></li></ul></div><p>Un agent est un processus qui peut migrer &agrave; travers un r&eacute;seau
          informatique dans le but de satisfaire des requ&ecirc;tes &eacute;mises par des
          clients. Les agents sont une mani&egrave;re attrayante de d&eacute;crire les
          calculs distribu&eacute;s sur tout le r&eacute;seau.</p><p>Le projet TACOMA se concentre sur le support des syst&egrave;mes
          d'exploitation pour les agents et sur la mani&egrave;re dont les agents
          peuvent &ecirc;tre utilis&eacute;s pour r&eacute;soudre des probl&egrave;mes traditionnellement
          destin&eacute;s aux syst&egrave;mes d'exploitation. Nous avons impl&eacute;ment&eacute; une
          s&eacute;rie de syst&egrave;mes prototypes pour accueillir des agents.</p><p>TACOMA version 1.2 est bas&eacute; sur UNIX et TCP. Le syst&egrave;me est
          compatible avec des agents &eacute;crits en C, Tcl/Tk, Perl, Python, et
          Scheme (Elk). Il est impl&eacute;ment&eacute; en C. Cette version de TACOMA a &eacute;t&eacute;
          rendue publique en Avril 1996.</p><p>Nous nous concentrons actuellement sur les probl&egrave;mes
          d'h&eacute;t&eacute;rog&eacute;n&eacute;it&eacute;, de tol&eacute;rance aux anomalies, de s&eacute;curit&eacute; et de
          gestion. En outre, plusieurs applications de TACOMA sont en
          construction. Nous avons impl&eacute;ment&eacute; StormCast 4.0, un vaste syst&egrave;me
          en r&eacute;seau de surveillance m&eacute;t&eacute;orologique sur Internet, en utilisant
          TACOMA et Java. Nous sommes actuellement en cours d'&eacute;valuation de
          l'application, et nous pr&eacute;voyons de construire une nouvelle version
          de StormCast qui devrait &ecirc;tre achev&eacute;e en Juin 1997.</p></dd><dt>Ummon</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
               Site Web&nbsp;: 

              <a href="http://www.advogato.org/proj/Ummon/" target="_top">www.advogato.org/proj/Ummon/</a>

               
            </p></li></ul></div><p>Ummon est un robot conversationnel avanc&eacute; et "open source". Le
          principe g&eacute;n&eacute;ral du robot est qu'il ne poss&egrave;de aucune connaissance
          initiale en vocabulaire ou grammaire&nbsp;; il apprend tout &agrave; la vol&eacute;e.
          De nombreuses techniques d'IA seront explor&eacute;es au cours du
          d&eacute;veloppement d'Ummon pour arriver &agrave; une communication "humaine"
          r&eacute;aliste avec le support de diff&eacute;rentes personnalit&eacute;s
          param&eacute;trables.</p></dd><dt>UMPRS Agent</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
               Site Web&nbsp;: 

              <a href="http://www.marcush.net/IRS/" target="_top">www.marcush.net/IRS/</a>

               
            </p></li></ul></div><p>UMPRS supporte le mode de raisonnement descendant, avec
          objectifs &agrave; atteindre et il choisit ses objectifs et plan selon la
          priorit&eacute; maximale. L'ex&eacute;cution de plusieurs buts simultan&eacute;ment est
          possible, ainsi que la suspension et reprise pour chaque t&acirc;che de
          but (c-&agrave;-d d'intention). Les plans d'UMPRS ont un attribut int&eacute;gr&eacute;
          de pr&eacute;condition/moteur d'ex&eacute;cution qui restreint leur applicabilit&eacute;.
          Les plans de construction disponibles comprennent&nbsp;:
          l'ordonnancement, l'it&eacute;ration, la d&eacute;finition de sous-objectifs, les
          blocs atomiques (c-&agrave;-d non-interruptible), l'ex&eacute;cution
          conditionnelle d&eacute;terministe &agrave; n-branches, une section de gestion de
          pannes explicite, et la d&eacute;finition de fonction primitive en
          C++.</p></dd><dt>Virtual Secretary Project (ViSe)</dt><dd><p>(Tcl/Tk)</p><div class="itemizedlist"><ul type="disc"><li><p>
               Site Web&nbsp;: 

              <a href="http://www.vise.cs.uit.no/vise/" target="_top">www.vise.cs.uit.no/vise/</a>

               
            </p></li></ul></div><p>Ce qui motive le projet Secr&eacute;taire Virtuelle est la
          construction d'agents logiciels intelligents bas&eacute;s sur des mod&egrave;les
          utilisateurs, qui pourraient dans la plupart des cas remplacer les
          hommes pour des t&acirc;ches de secr&eacute;tariat&nbsp;; ces agents seraient bas&eacute;s
          sur l'informatique mobile moderne et les r&eacute;seaux informatiques. Le
          projet comporte 2 diff&eacute;rentes phases&nbsp;: la premi&egrave;re phase (ViSe1) se
          concentre sur le filtrage des informations et la migration de
          processus, son but &eacute;tant de cr&eacute;er un environnement s&eacute;curis&eacute; pour les
          agents logiciels en utilisant le concept des mod&egrave;les utilisateur&nbsp;;
          la seconde phase (ViSe2) est ax&eacute;e sur la coop&eacute;ration efficace et
          intelligente des agents dans un environnement distribu&eacute;, son but
          &eacute;tant de construire des agents coop&eacute;ratifs pour obtenir un niveau
          d'intelligence &eacute;lev&eacute;. (cod&eacute; en Tcl/TclX/Tix/Tk)</p></dd><dt>VWORLD</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
               Site Web&nbsp;: 

              <a href="http://zhar.net/projects/vworld/" target="_top">zhar.net/projects/vworld/</a>

               
            </p></li></ul></div><p>Vworld est un environnement simul&eacute;, &eacute;crit en prolog, pour la
          recherche avec des agents autonomes. Il est actuellement plus ou
          moins en version b&ecirc;ta. Il fonctionne bien avec SWI-prolog, et
          devrait fonctionner avec Quitnus-prolog, avec seulement quelques
          modifications. Il est destin&eacute; &agrave; &ecirc;tre utilis&eacute; comme outil p&eacute;dagogique
          pour des projets d'&eacute;l&egrave;ves traitant de prolog et des agents
          autonomes. Il est livr&eacute; avec trois mondes ou environnements de
          d&eacute;monstration, ainsi qu'avec des exemples d'agents qui leurs sont
          destin&eacute;s. Il y a deux version maintenant. L'une d'elles est &eacute;crite
          pour SWI-prolog et l'autre pour LPA-prolog. Globalement, la
          documentation est faite (dans l'optique d'un cadre
          &eacute;tudiant/professeur), et une interface graphique est pr&eacute;vue.</p></dd><dt>WebMate</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
               Site Web&nbsp;: 

              <a href="http://www-2.cs.cmu.edu/~softagents/webmate/" target="_top">www-2.cs.cmu.edu/~softagents/webmate/</a>

               
            </p></li></ul></div><p>WebMate est un agent personnel pour la recherche et la
          navigation sur le World-Wide Web. Il vous accompagne quand vous
          surfez sur Internet et vous fournit ce que vous d&eacute;sirez. Ses
          fonctionnalit&eacute;s comprennent&nbsp;: <div class="itemizedlist"><ul type="disc"><li><p>
                 Am&eacute;lioration des recherches, dont la recherche parall&egrave;le, affinage des mots-cl&eacute;s de la recherche en utilisant notre technologie d'extraction de mots-cl&eacute;s appropri&eacute;s, retour d'information pertinente, etc. 
              </p></li><li><p>
                 Assistant &agrave; la navigation, comprenant l'apprentissage de votre centre d'int&eacute;r&ecirc;t actuel, avec recommandation de nouveaux URLs selon votre profil et les ressources s&eacute;lectionn&eacute;es, gestion de vos signets de Netscape ou IE, envoie de la page actuellement affich&eacute;e &agrave; vos amis, etc. 
              </p></li><li><p>
                 Navigation hors ligne, y compris le t&eacute;l&eacute;chargement des pages suivant la page affich&eacute;e pour une navigation hors ligne. 
              </p></li><li><p>
                 Filtrage des en-t&ecirc;tes HTTP, comprenant l'enregistrement des en-t&ecirc;tes HTTP et de toutes les transactions effectu&eacute;es entre le navigateur et les serveurs WWW, etc. 
              </p></li><li><p>
                 V&eacute;rification de la page HTML et d&eacute;tection des erreurs et liens morts, etc. 
              </p></li><li><p>
                 Programmation en Java, ind&eacute;pendant du syst&egrave;me d'exploitation, fonctionnant en multiprocessus 
              </p></li></ul></div></p></dd><dt>Zeus</dt><dd><div class="itemizedlist"><ul type="disc"><li><p>
               Site Web&nbsp;: 

              <a href="http://more.btexact.com/projects/agents/zeus/" target="_top">more.btexact.com/projects/agents/zeus/</a>

               
            </p></li></ul></div><p>La construction de syst&egrave;mes multiagents implique une longue
          p&eacute;riode de d&eacute;veloppement et exige des solutions &agrave; quelques
          difficult&eacute;s techniques consid&eacute;rables. C'est ce qui a motiv&eacute; le
          d&eacute;veloppement de la bo&icirc;te &agrave; outils ZEUS, qui fournit une
          biblioth&egrave;que de composants logiciels et des outils qui facilitent la
          conception, le d&eacute;veloppement et le d&eacute;ploiement rapide de syst&egrave;mes
          d'agent.</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="ar01s05.html">Pr&eacute;c&eacute;dent</a>&nbsp;</td><td align="center" width="20%">&nbsp;</td><td align="right" width="40%">&nbsp;<a accesskey="n" href="ar01s07.html">Suivant</a></td></tr><tr><td valign="top" align="left" width="40%">5.&nbsp;A venir&nbsp;</td><td align="center" width="20%"><a accesskey="h" href="index.html">Sommaire</a></td><td valign="top" align="right" width="40%">&nbsp;7.&nbsp;Les langages de programmation</td></tr></table></div></body></html>