2.4.4 Problématiques des SMA
Les développeurs dans ce domaine peuvent relever cinq
problématiques principales lors de la création des
systèmes multi agents (SMA).
· D'abord, la problématique de l'action: comment
un ensemble d'agents peut agir de manière simultanée dans un
environnement partagé, et comment cet environnement interagit en retour
avec les agents? Les questions sous-jacentes sont entre autres celles de la
représentation de l'environnement par les agents, de la collaboration
entre agent et de la planification multi agent.
· Ensuite la problématique de l'agent et de sa
relation avec le système, qui est représentée
par le modèle cognitif dont dispose l'agent. Un agent
dans un SMA doit être capable de mettre en oeuvre les actions qui
répondent au mieux à ses objectifs. Cette capacité
à la décision est liée à l'état et au
comportement de l'agent.
· Les systèmes multi agents passent aussi par
l'étude de la nature des interactions, comme source de
possibilités d'une part et de contraintes d'autre part. La
problématique de l'interaction s'intéresse aux moyens de
l'interaction (quel langage? quel support ?), et à l'analyse et la
conception des formes d'interactions entre agents. Les notions de collaboration
et coopération sont ici centrales.
· On peut évoquer ensuite la problématique de
l'adaptation en terme d'adaptation individuelle ou apprentissage d'une part et
d'adaptation collective ou évolution d'autre part.
· Enfin, il reste la question de la réalisation
effective et de l'implémentation des SMA, en structurant notamment les
langages de programmation en plusieurs types allant du langage de formalisation
et de spécification, au langage d'implémentation effective. Entre
les deux, on retrouve le langage de communication entre agents, de description
des lois de l'environnement et de représentation des connaissances.
2.5 Les plateformes
Plusieurs systèmes, commerciaux et autres, supportant
la mobilité sont actuellement disponibles. Il existe des plateformes
d'agents mobiles basées sur java, pour lesquelles il n'y a pas de
problèmes de portabilité d'un système d'exploitation
à l'autre, et des plateformes d'agent mobile qui ne sont pas
basées sur java et qui peuvent donc poser des problèmes de
portabilité. Dans cette section, nous en présentons
-brièvement- les plates formes les plus répandues et les plus
importantes.
2.5.1 Agent TC1
Un des premiers systèmes supportant les agents mobiles
a été développé par Robert Gray, David Kotz et
d'autres. A l'origine, le système n'avait pas de nom et utilisait
TCP/IP, le courrier électronique et la commande UNIX « rsh »
comme mécanismes de transfert. Plus tard, la même équipe a
introduit « Agent Tcl », un système utilisant Tcl comme
langage principal de programmation des agents.
Toutefois, à la base, le système supporte
plusieurs langages, à savoir Tcl, Java et Scheme, et récemment le
système a été rebaptisé « D'Agents ».
Notons qu'Agent TCL est un des seuls systèmes actuels n'étant pas
basé directement sur Java.
2.5.2 Aglets
Le « Aglet Workbench » d'IBM est sans doute un des
systèmes les plus connus. Danny Lange, un des pionniers de la
communauté, était à la base de son développement au
Japon. Le système est facile à charger du Web et à
installer sur tout système supportant Java. Il est assez fiable, mais la
documentation en ligne n'est pas d'une qualité commerciale.
2.5.3 Concordia
Concordia est également un système basé
sur Java, mais développé par le Horizon Systems Laboratory de
Mitsubishi. C'est un système récent, orienté vers des
applications au niveau des entreprises. Par conséquent, la
sécurité du système est exceptionnellement
soignée.
2.5.4 Mole
Ce système a été développé
dans l'Institute of Parallel and Distributed High-Performance Systems à
l'Université de Stuttgart comme il a été publié sur
le web.
2.5.5 Telescript
Telescript, développé par General Magic, peut
être considéré comme la référence dans le
domaine.Il est parlant que son inventeur, Jim White, tient un brevet sur la
notion même d'agents mobiles. Telescript était un des seuls
systèmes supportant le transfert de l'état d'exécution des
agents.
Toutefois, le système, conçu pour une
application industrielle, exigeait des ressources importantes, était
plutôt cher (5000 USD par moteur), et offrait une fonctionnalité
pas encore demandée par le marché. Par conséquent, le
système n'existe plus et sa valeur est surtout historique.
2.5.6 Odyssey
Le successeur de Telescript, développé
également par General Magic, s'appelle Odyssey. Différent du
premier, ce dernier est basé sur Java. Il est largement inspiré
par Telescript, mais n'à pas exactement la même
fonctionnalité. Par exemple, Odyssey ne supporte pas le transfert de
l'état d'exécution. Le système n'a toujours pas
dépassé la version bêta, et ne joue visiblement pas le
rôle important que jouait Telescript dans la stratégie de General
Magic.
2.5.7 Voyager
Voyager est un produit commercial proposé par
ObjectSpace. Il s'agit d'un système « branché »
incorporant plusieurs normes industrielles populaires à l'heure
actuelle, notamment CORBA, DCOM et Distributed JavaBeans. Différent des
autres systèmes, il ne s'agit pas d'un système
dédié uniquement aux agents mobiles : toute sorte de
développement distribué est supporté. Dans leur
documentation, cependant, le concept d'agent mobile est explicitement
présenté. Puisqu'il s'agit d'un système bien
soigné, d'une nature générale, et compatible avec les
normes existantes, sa popularité est croissante.
Après avoir citer les principales
caractéristiques des différentes plateformes on peut juger que
Aglets intègre les fonctionnalités nécessaires au
développement aisé d'agent mobiles .La plateforme Aglets est
complètement libre, ce qui est intéressant pour avoir
accès au code source et pour utiliser les applications
développées sans contraintes ce qui n'est pas le cas pour
certaines plateformes qui ne sont libres que pour usage non commercial tel que
Odyssey et voyager.
|