Près de 20 ans après le 1er atelier sur les théories, les architectures et les langages d’agents (ATAL’94) à ECAI’94, que beaucoup supposent comme un point de départ de la recherche intensive sur les systèmes d’agents, nous avons demandé à certains des chercheurs les plus éminents et actifs dans le domaine de partager leurs points de vue sur quelques questions fondamentales sur les agents logiciels.
Les réponses de Costin Badica, Lars Braubach, Giancarlo Fortino et Giovanni Rimassa fournissent une vue assez composite de l’état et des perspectives de la recherche sur les agents et les systèmes multi-agents, ainsi que sur leurs applications futures.
- Bios
- Questions
- Réponses
- Question 1 : Où en est la recherche sur les systèmes d’agents aujourd’hui et où se dirige-t-elle ? Quels sont les plus grands succès et échecs à ce jour, et quelles sont les leçons les plus importantes apprises?
- Giovanni Rimassa
- Costin Badica
- Giancarlo Fortino
- Lars Braubach
- Question 2 : Quelles sont les applications les plus réussies des agents logiciels dans le monde réel ? Quels sont les prochains domaines d’application pour eux, et les humains sont-ils prêts à interagir avec des agents logiciels dans leur vie quotidienne ?
- Lars Braubach
- Giancarlo Fortino
- Costin Badica
- Giovanni Rimassa
- Question 3 : Quel est votre point de vue sur les normes relatives aux agents ? Le statut actuel du FIPA en tant qu’organisme de l’IEEE est-il satisfaisant, ou avons-nous besoin d’autre chose ?
- Giovanni Rimassa
- Costin Badica
- Giancarlo Fortino
- Lars Braubach
- Question 4 : Qu’est-ce qui manque encore dans le domaine des plates-formes, des langages et des outils pour agents ?
- Giancarlo Fortino
- Lars Braubach
- Costin Badica
- Giovanni Rimassa
Bios
Costin Badica est professeur au département des ordinateurs et des technologies de l’information de l’Université de Craiova, en Roumanie. Il est titulaire d’un doctorat en systèmes de contrôle de l’Université de Craiova. Ses intérêts de recherche se situent à l’intersection de l’intelligence artificielle, des systèmes distribués et du génie logiciel. Il a publié plus de 100 articles de journaux, chapitres de livres et documents de conférence, plus de 10 numéros spéciaux de journaux édités par des invités, ainsi que plusieurs livres édités. Contactez-le à l’adresse [email protected].
Lars Braubach est chercheur principal et chef de projet au sein du groupe des systèmes distribués de l’université de Hambourg. Il est titulaire d’un doctorat en informatique de l’université de Hambourg. Ses recherches visent à améliorer les moyens techniques logiciels pour développer des applications distribuées et ciblent le transfert de technologie de la recherche vers l’industrie. Il est le co-inventeur de l’approche des composants actifs, qui réunit des agents avec des caractéristiques de composants et de services, et il est l’un des principaux architectes de la plate-forme d’agents Jadex depuis 2003. Il a soutenu plusieurs projets de transfert de technologie avec des partenaires industriels tels que Daimler et Uniique AG et a publié plus de 80 articles dans des ateliers internationaux, des conférences et des revues. Contactez-le à l’adresse [email protected].
Giancarlo Fortino est professeur associé d’ingénierie informatique au département d’informatique, de modélisation, d’électronique et de systèmes (DIMES) de l’université de Calabre (Unical), à Rende, en Italie. Il est titulaire d’un doctorat en génie informatique de l’Unical. Ses recherches portent sur l’informatique distribuée, les réseaux de capteurs sans fil, les agents logiciels, l’informatique en nuage et les réseaux multimédias. Il est l’auteur de plus de 200 publications dans des revues, des conférences et des livres, et fait actuellement partie des comités de rédaction de Journal of Networks and Computer Applications, Engineering Applications of Artificial Intelligence, Information Fusion, et Multi Agent and GRID Systems. Il est cofondateur et PDG de SenSysCal, une entreprise dérivée d’Unical, qui développe des systèmes innovants basés sur des capteurs pour l’e-santé et la domotique. Il est membre senior de l’IEEE. Contactez-le à l’adresse [email protected].
Giovanni Rimassa est chef de produit chez Whitestein Technologies. Il est titulaire d’un doctorat en ingénierie de l’information de l’Università degli Studi di Parma. Ses intérêts professionnels comprennent la gestion intelligente des processus d’affaires, les intergiciels d’agents, l’innovation de produits et le transfert de technologie. Actif sur la scène des agents depuis 1997 avec ses travaux précurseurs sur la plate-forme JADE, il a publié plus de 60 articles dans des revues et des conférences. Il est membre de l’IEEE et de l’IEEE Computer Society. Contactez-le à l’adresse [email protected].
Questions
- Où en est la recherche sur les systèmes d’agents aujourd’hui et où se dirige-t-elle ? Quels sont les plus grands succès et échecs à ce jour, et quelles sont les leçons les plus importantes apprises?
- Quelles sont les applications les plus réussies des agents logiciels dans le monde réel ? Quels sont les prochains domaines d’application pour eux, et les humains sont-ils prêts à interagir avec des agents logiciels dans leur vie quotidienne ?
- Quel est votre point de vue sur les normes relatives aux agents ? Le statut actuel du FIPA en tant qu’organe de l’IEEE est-il satisfaisant, ou avons-nous besoin d’autre chose ?
- Que manque-t-il encore dans le domaine des plateformes, langages et outils d’agents ?
Réponses
Question 1 : Où en est la recherche sur les systèmes d’agents aujourd’hui et où se dirige-t-elle ? Quels sont les plus grands succès et échecs à ce jour, et quelles sont les leçons les plus importantes apprises?
Giovanni Rimassa
Compte tenu de ma trajectoire professionnelle au cours de ces 20 années, au cours desquelles je suis passé de la recherche universitaire à la recherche industrielle, puis à la gestion des produits et à l’innovation, je ne vais pas me lancer dans une évaluation détaillée de la recherche sur les systèmes d’agents en général, ce que d’autres peuvent faire avec beaucoup plus d’autorité. Je préfère me concentrer sur des questions telles que l’impact général de la recherche dans le domaine, ou le transfert de technologie et l’adoption éventuelle dans la grande arène de la construction de logiciels.
De mon point d’observation spécifique, la recherche sur les systèmes multi-agents est clairement devenue un domaine assez mature. Après le boom des années 90, la discipline semble s’être installée. Il n’est probablement pas aussi facile aujourd’hui de choisir un sujet de doctorat sur les principes généraux des agents, ni d’obtenir, par exemple, un financement de l’UE pour un projet de recherche sur l’infrastructure de la technologie des agents ou les bancs d’essai des systèmes ouverts. Compte tenu de ce niveau de maturité, je pense que l’évolution future de la recherche sur les systèmes d’agents verra la poursuite de la recherche théorique, l’application des mathématiques et de l’informatique fondamentale à des problèmes schématiques liés aux systèmes multi-agents, mais les domaines plus appliqués et centrés sur l’ingénierie devront devenir plus spécialisés et centrés sur le domaine. Un exemple, inspiré par la situation mondiale récente, est l’application de la simulation à base d’agents pour l’évaluation des risques économiques et financiers et la prise de décision. De plus, avec les récents scandales d’espionnage mondial de l’Agence nationale de sécurité américaine (NSA), les gens pourraient commencer à se souvenir qu’Internet était censé être un système décentralisé de pair à pair plutôt qu’un énorme système pyramidal dans lequel les utilisateurs soumettent leurs données – et maintenant même leurs calculs – à un petit nombre d’énormes sociétés informatiques à la responsabilité douteuse. Il est donc possible, et même probable, que les sujets informatiques de base sur les réseaux (pour un véritable peer-to-peer) et les langages de programmation (pour une programmation concurrente plus facile sur les processeurs multicœurs) se rapprochent encore plus des idées des systèmes d’agents pour des raisons très pragmatiques.
Je ne peux pas dire que la recherche sur les agents logiciels a été complètement réussie, et au cours des dernières années, j’ai même entendu de multiples déclarations sur l’échec ultime des systèmes multi-agents – bien que généralement sans motivations claires (le cas le plus drôle était d’un orateur principal dans une conférence sur l’informatique autonome). Je pense que le résultat est en fait mitigé et nécessite une certaine élaboration. Les plus grandes réussites de la technologie des agents résident dans certains de ses concepts centraux et dans la façon dont ils ont anticipé et, dans certains cas, même conduit l’évolution de l’informatique traditionnelle. Si l’on compare le paysage informatique typique d’aujourd’hui avec son aspect en 1994, on constate que de nombreux traits que les chercheurs préconisaient dans les systèmes multi-agents à l’époque sont aujourd’hui monnaie courante :
- Communication asynchrone basée sur les messages;
- Schémas complexes et structurés pour les charges utiles des messages;
- Concurrence omniprésente;
- Dispositifs mobiles situés avec une foule d’informations sensibles au contexte ;
- Code mobile ; et
- Utilisation accrue des idées des sciences sociales pour concevoir des logiciels (modèles d’organisation, réseaux sociaux, résolution collaborative de problèmes, gamification).
Dans le domaine dans lequel j’opère – c’est-à-dire les logiciels de gestion de projet d’entreprise pour les entreprises dans une variété d’industries – l’évolution est passée des vues traditionnelles du middleware à la gestion des processus d’entreprise centrée sur l’homme (dans laquelle les suites BPM fournissent des artefacts pour améliorer la coopération entre les agents humains) aux tendances actuelles qui reconnaissent et soulignent que les logiciels BPM doivent apporter une certaine intelligence et une adaptabilité propres pour soutenir les travailleurs du savoir habilités. Le résultat envisagé n’est rien de moins que des systèmes multi-agents dans lesquels certains agents humains et certains agents logiciels coopèrent pour faire avancer les processus d’affaires.
Peut-être que le point d’échec le plus intéressant est que la technologie des agents n’est jamais devenue le « prochain OOP » (en d’autres termes, le style de programmation dominant). Je trouve particulièrement ironique que beaucoup appellent maintenant la programmation fonctionnelle à la rescousse lorsqu’ils soulignent les limites des approches orientées objet. Les systèmes d’agents – reprenant les mouvements du modèle de programmation d’acteurs – devraient être le pas en avant évident de la POO dans les environnements concurrents et distribués (la « conception par contrat » de base est invalidée lorsque plus de fils d’exécution sont impliqués).
À mon avis, deux facteurs principaux ont contribué à empêcher la technologie des agents de devenir l’évolution principale acceptée de la POO. Premièrement, la communauté de recherche n’était pas particulièrement centrée sur les programmeurs ; étant principalement intéressée par les algorithmes, les protocoles et les cadres formels, l’ingénierie logicielle se concentrait sur les méthodologies et les intergiciels. En comparaison avec la communauté de la POO, peu de choses ont été faites dans le domaine des langages de programmation et des outils de développement. Cela dit, la situation a partiellement changé, avec une sous-communauté dédiée qui s’efforce maintenant d’établir les agents logiciels comme un paradigme de programmation.
Deuxièmement, et peut-être plus important encore, il y a eu une déficience significative dans le transfert de technologie vers les praticiens de l’industrie ou les programmeurs occasionnels. Même aujourd’hui, la plupart des personnes familières avec les systèmes multi-agents ont été impliquées dans la recherche académique ou (pour les plus jeunes) ont reçu des cours universitaires sur le sujet. Comparez cela à l’orientation objet, dans laquelle de multiples niveaux de personnes et d’institutions relaient, rabâchent et parfois déforment les résultats fondamentaux de la recherche. Un programmeur qui applique le modèle Factory Method, par exemple, ne sera souvent même pas au courant de l’entrée originale dans le livre Gang of Four (E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns : Elements of Reusable Object-Oriented Software, Addison-Wesley, 1994). Je ne pense pas que l’on puisse en dire autant, par exemple, du protocole Contract Net.
Costin Badica
La plupart des recherches actuelles sont réparties dans les domaines de la modélisation formelle et de la logique pour les systèmes multi-agents, de la théorie des jeux (avec des sujets connexes, tels que la conception de mécanismes), et de l’apprentissage. Il y a également un intérêt pour les domaines adjacents, tels que la robotique et la simulation.
Je pense que les domaines les plus prometteurs sont la théorie des jeux et l’apprentissage. La logique formelle est agréable, mais les applications réelles sont limitées. La robotique et la simulation montrent également un intérêt dans les applications.
Probablement la programmation orientée agent est très loin de ce qui était attendu initialement. Le génie logiciel orienté agent est également très loin du génie logiciel classique.
Il est important d’évaluer les résultats de la recherche sur les agents autonomes (AA) et les systèmes multi-agents (MAS) dans le contexte d’une informatique solide. Nous ne devrions pas les traiter comme quelque chose d' »exotique », mais plutôt les évaluer selon les règles de l’informatique. Les agents ne doivent pas être traités uniquement comme un nouveau paradigme technologique, mais aussi comme une méthode d’analyse et de conception de systèmes complexes. En fin de compte, un système conçu à l’aide du paradigme des agents peut être mis en œuvre avec les technologies les plus récentes, mais pas nécessairement avec des intergiciels ou des plates-formes d’agents. Néanmoins, les plateformes d’agents peuvent être très utiles pour la simulation et le prototypage.
Giancarlo Fortino
Les chercheurs se concentrent principalement sur les mêmes questions qu’il y a 10 ans : fournir des méthodes et des algorithmes pour traiter la modélisation et l’analyse des systèmes complexes (naturels et artificiels) sous différents angles. Bien sûr, les domaines d’application des agents ont un peu changé au fur et à mesure que de nouvelles technologies et de nouveaux domaines d’application sont apparus.
Il est difficile de dire où le domaine se dirige. En effet, je pense qu’il n’y a pas de direction unique. Les chercheurs se concentrent sur les mêmes contextes théoriques importants (langages formels, méthodologies d’ingénierie, algorithmes de négociation, théorie des jeux, analyse du comportement émergent par simulation, et ainsi de suite), et parfois ils se déplacent vers de nouveaux domaines d’application – l’Internet des objets est un exemple actuel – pour aborder des problèmes spécifiques en exploitant les « agents ».
Après 20 ans, nous n’avons toujours pas de modèle d’agent unifié – un fait qui a réduit l’attrait de l’approche orientée agent, spécifiquement dans des contextes non académiques. D’un autre côté, une quantité importante de recherche (et un peu de développement) a été effectuée, et de nombreux algorithmes et méthodes sont actuellement disponibles pour être utilisés dans un large éventail de domaines d’application (même non orientés agents). De plus, l’efficacité du paradigme agent pour la modélisation des systèmes distribués et complexes est peut-être son plus grand succès.
Le paradigme agent est efficace pour traiter les systèmes complexes distribués dynamiques ouverts. Cependant, il n’est pas le « paradigme tueur », même si les chercheurs ont proposé avec succès des méthodes, des algorithmes et des systèmes à différents niveaux d’abstraction. Certains, comme le cadre de développement d’agents Java (JADE), ont même été utilisés dans des applications industrielles réelles plutôt que dans des contextes universitaires.
Lars Braubach
La recherche sur les systèmes d’agents provient de nombreuses directions différentes. D’où les nombreux types de définitions du terme agent qui ont émergé depuis le début de la recherche sur les agents, qui se sont concentrés sur l’IA, le génie logiciel, les assistants personnels et les notions mentales (propriétés humaines telles que les croyances et les objectifs lorsqu’elles sont utilisées pour décrire les agents logiciels), par exemple. En outre, la recherche sur les agents englobe de nombreux domaines différents. Ce large spectre de recherche est l’une des plus grandes forces des systèmes multi-agents, mais c’est aussi un problème fondamental. C’est une force car la communauté des agents est large et les progrès dans de nombreux sous-domaines différents sont réalisés indépendamment les uns des autres. D’un autre côté, cette ampleur conduit naturellement à l’hétérogénéité du domaine, y compris des artefacts tels que les langages de programmation et les outils, ce qui rend les résultats plus difficiles à évaluer. Selon moi, l’orientation de la recherche a considérablement évolué depuis le début.
Au cours des premières années, l’ingénierie logicielle basée sur les agents était un domaine de recherche très actif (inspiré, par exemple, par l’article fondateur de Yoav Shoham sur la programmation orientée agent), et les chercheurs ont proposé de nombreux langages, outils et méthodologies de programmation d’agents. Mais au fur et à mesure que les bases de la SE se sont établies et que les implications dans la pratique sont restées faibles, l’importance relative dans la communauté de recherche a diminué. Aujourd’hui, je perçois un accent sur les fondements formels et les techniques de planification, d’apprentissage et de coordination multi-agents (en regardant, par exemple, les articles acceptés de la 12e Conférence internationale sur les agents autonomes et les systèmes multi-agents comme un indicateur).
Un succès important des systèmes multi-agents est un changement dans la façon d’envisager les systèmes complexes. Il encourage les architectures décentralisées et représente le premier paradigme dédié aux systèmes distribués. L’un des grands échecs de la recherche sur les agents est l’incapacité à établir les agents comme un paradigme de développement de SE accepté. Malgré des efforts initiaux substantiels, la technologie n’a pas réussi à toucher les utilisateurs de logiciels en dehors de la communauté des agents elle-même. À mon avis, cet échec est largement dû à la distance conceptuelle relativement importante entre le génie logiciel basé sur les agents et les paradigmes bien établis avec des orientations objet et composant.
Cette distance se manifeste à différents niveaux dans les langages de programmation mono-agent par rapport aux techniques d’organisation et de coordination des agents. Mais ma principale critique ici concerne l’hypothèse selon laquelle les agents ne doivent communiquer que par des messages asynchrones basés sur la parole et l’action. Cela rend la technologie des agents inacceptable pour de nombreux praticiens qui exigent des interfaces système et des signatures de méthodes explicites. Ici, l’exigence conceptuelle de garder un agent autonome est mal interprétée d’une manière trop technique. Plusieurs chercheurs reconnus ont remarqué le problème de la communication basée sur les messages, et le travail sur les alternatives a conduit à plusieurs propositions différentes, y compris les interactions basées sur les engagements et les objectifs, les artefacts et les composants actifs.
En termes de leçons apprises, ma réponse vient d’une perspective très personnelle d’ingénierie logicielle, ayant activement développé des applications d’agents et une plate-forme depuis 2003. Pour moi, une leçon importante est que la technologie des agents doit être simplifiée et rapprochée de l’orientation objet et de la SOA pour devenir utilisable en pratique. Cela signifie que les chercheurs doivent s’efforcer de réduire l’hétérogénéité et la complexité plutôt que de les accroître constamment en inventant de nouvelles approches à tous les niveaux. Actuellement, les logiciels agents ne sont pas bien adaptés au prototypage rapide de systèmes complexes car ils impliquent trop d’activités préparatoires telles que la conception de protocoles et d’ontologies.
Question 2 : Quelles sont les applications les plus réussies des agents logiciels dans le monde réel ? Quels sont les prochains domaines d’application pour eux, et les humains sont-ils prêts à interagir avec des agents logiciels dans leur vie quotidienne ?
Lars Braubach
Contrairement à la prévision de la feuille de route de la technologie des agents de 2005, qui prévoyait un déploiement lent mais en constante amélioration de la technologie des agents (atteignant le courant dominant à partir de 2010), les déploiements réels n’ont pas augmenté visiblement, et encore seulement quelques applications dans le monde réel ont été installées. La bonne nouvelle est qu’un grand nombre des entreprises d’origine de l’agent, notamment Intelligent Automation (Cybele), Whitestein (Living Systems), TILAB (JADE), AOS (JACK), Cougaar Software et SOAR Tech, appliquent encore avec succès la technologie de l’agent dans des segments de marché spécialisés tels que les télécommunications, la logistique, les flux de travail, le contrôle des véhicules autonomes, le contrôle des satellites et les systèmes de support intelligents.
Le système de raisonnement procédural (PRS) – à l’origine des systèmes BDI – a été développé à la NASA et appliqué avec succès à plusieurs applications spatiales, notamment un système de détection de défauts pour le système de contrôle de réaction de la navette spatiale. Le logiciel de contrôle de mission de la NASA a également été mis en œuvre d’une manière orientée agent en utilisant le cadre Brahms.
La simulation est un autre domaine d’application fort pour les systèmes multi-agents. Par exemple, la création par Massive Software de scènes de films avec des acteurs artificiels dans le Seigneur des Anneaux était une vitrine impressionnante pour l’application de la technologie de simulation d’agents.
L’utilisation de l’architecture cognitive SOAR dans des applications de formation (militaire) est également remarquable car elle montre comment les agents peuvent simuler efficacement le comportement humain dans des scénarios du monde réel. Dans le domaine militaire, nous trouvons plusieurs autres utilisations de la technologie des agents. Un exemple exceptionnel est le logiciel de gestion logistique très complexe du projet UltraLog financé par la DARPA, qui a conduit au développement de la plateforme d’agents Cougaar.
L’informatique autonome et en nuage, les scénarios de big data et la robotique tendent à être des domaines très prometteurs. Je pense que les logiciels de contrôle intelligents du cloud infrastructure-as-a-service (IaaS) et platform-as-a-service (PaaS) pourraient grandement bénéficier de la technologie des agents – pour une coordination entièrement décentralisée, par exemple. Cependant, malgré cette opportunité, les grands fournisseurs de cloud tels que Google et Amazon utilisent d’autres alternatives aux agents dans leurs solutions.
Les scénarios de big data, qui impliquent généralement un traitement distribué des données, offrent d’autres opportunités. En robotique, les problèmes passent de plus en plus d’une perspective mono-robot à une perspective multi-robots. Ici, la technologie multi-agents a de bonnes chances d’être combinée de manière fructueuse avec les logiciels de système d’exploitation des robots.
L’interaction avec les systèmes autonomes deviendra de plus en plus bien établie. Par exemple, plusieurs sites web disposent déjà d’avatars qui imitent les conseillers humains. Bien sûr, l’interaction avec des personnages virtuels ne signifie pas nécessairement que la technologie des agents est utilisée en coulisse.
Giancarlo Fortino
Y a-t-il une application réussie basée sur les agents (au sens strict) ? Peut-être pouvons-nous citer les crawlers web, qui ne sont pas des agents logiciels au sens strict, ou JADE, qui est effectivement une plateforme pour construire des applications. De nombreuses applications basées sur les agents existent dans divers domaines, mais il est difficile d’identifier les applications « réussies ». Les prochains domaines d’application des agents seront probablement les villes intelligentes et l’internet des objets. En ce qui concerne l’interaction avec les agents logiciels, je pense que les utilisateurs s’y adapteront s’ils sont intégrés dans des interfaces graphiques interactives. Les gens utilisent déjà Facebook, Twitter et de nombreuses autres applications. Cela dépend de la facilité d’utilisation et de la fréquence d’utilisation.
Costin Badica
La simulation et la sécurité sont des domaines probables pour les applications d’agents. Cependant, les gens ne sont probablement pas encore prêts à interagir avec des agents dans la vie quotidienne. Nous devrions également examiner ce que la recherche traditionnelle sur l’interface homme-machine (IHM) appelle et essayer de comprendre quels résultats conviendraient ou pourraient être appliqués à l’interaction homme-agent.
Giovanni Rimassa
Les agents logiciels ont été appliqués en pratique dans de nombreux domaines. De par mon expérience personnelle, je peux citer la solution logistique de Whitestein, que DHL a déployée dans 27 pays ; je crois qu’il s’agit du plus grand système multi-agents jamais déployé en production, en termes de nombre d’utilisateurs. Nous obtenons également une très bonne réponse pour notre suite de gestion des processus d’affaires (BPM) orientée agent dans les services financiers et les industries manufacturières.
Bien que notre suite soit déjà un succès, le domaine des logiciels BPM dans son ensemble n’a pas encore adopté explicitement les idées d’agent. Cela dit, Gartner a changé son Magic Quadrant pour les suites BPM l’année dernière, en introduisant le concept de BPMS intelligent (iBPMS, pour faire court), et c’est une nouvelle depuis septembre 2013 que Jim Sinur (qui a conduit les idées iBPMS chez Gartner), Jim Odell (ancien président du FIPA), et d’autres ont un livre sur la prochaine vague de BPM, qui sera, selon leurs mots, le BPM orienté agent. Je placerais la gestion des processus d’entreprise au premier rang des prochains domaines d’application de la technologie des agents. D’autres domaines proviennent de l’utilisation de la simulation basée sur les agents en raison de l’accent mis sur le big data et la prise de décision adaptative rapide : au cours des deux ou trois dernières années, nous avons reçu des demandes d’entreprises du secteur de l’énergie, de l’aérospatiale et de la finance qui recherchaient toutes des systèmes complexes d’aide à la décision dotés d’importantes capacités de simulation.
Il est très difficile d’évaluer à quel point les utilisateurs sont prêts pour une technologie. D’une part, si la technologie apporte une véritable innovation, les utilisateurs ne peuvent pas être prêts, par définition. Néanmoins, la façon dont les gens utilisent concrètement les nouveaux outils fournira un retour d’information qui, à son tour, façonnera ces outils : le mauvais usage et l’abus sont les marques du succès. Je suis d’un optimisme prudent, car je vois un scénario complexe avec de nombreuses possibilités, dans lequel les tendances politiques et sociales plutôt que les caractéristiques technologiques de base feront la plus grande différence. Il est intéressant de noter que le Gartner Emerging Technologies Hype Cycle de cette année se concentre sur l’évolution de la relation homme-machine.
Question 3 : Quel est votre point de vue sur les normes relatives aux agents ? Le statut actuel du FIPA en tant qu’organisme de l’IEEE est-il satisfaisant, ou avons-nous besoin d’autre chose ?
Giovanni Rimassa
Les normes pour la technologie des agents, en général, sont aussi utiles que celles dans d’autres parties de l’informatique et des TI. Leur efficacité dépend de beaucoup plus que de la qualité des spécifications techniques, pour inclure les consortiums de soutien, les effets de réseau, et la facilité de se mélanger avec d’autres pratiques et technologies prédominantes. Pour les intergiciels, ce dernier point est encore plus important.
La plupart des spécifications de la Foundation for Intelligent Physical Agents (FIPA) avaient un sens en 2000, lorsque le courant dominant de l’informatique ne saisissait pas vraiment les concepts exigés par une infrastructure d’agents ; aujourd’hui, le monde a non seulement évolué mais a progressé exactement dans la direction préconisée par la FIPA. Par conséquent, il serait inutile non seulement d’utiliser les anciennes normes telles quelles, mais même d’essayer de les mettre à jour pour créer notre propre saveur de ce que tout le monde fait déjà de toute façon.
L’hébergement du FIPA au sein de l’IEEE est une très bonne décision du point de vue de l’organisation et de la crédibilité, mais j’aimerais que le FIPA refonde sa mission initiale (interopérabilité) dans un monde où les services de base des plateformes et des environnements d’agents sont déjà acquis. La première étape devrait être une analyse des lacunes : qu’est-ce qui n’existe pas encore et qui rendrait les systèmes multi-agents plus faciles à réaliser dans des applications concrètes ? Quels éléments de cette liste bénéficieraient d’une normalisation par des tiers ? D’autre part, le dernier groupe de travail du FIPA et le plus actif dont je me souvienne était axé sur la méthodologie et le processus de conception, ce qui semble mettre un peu la charrue avant les bœufs.
Costin Badica
Nous ne devons pas nécessairement suivre les normes, comme le FIPA. Leur diffusion a été populaire dans « l’ère de l’interopérabilité ». Je pense que FIPA est OK, mais je ne pense pas que plus de normes sont nécessaires.
Giancarlo Fortino
Nous avons, disons, des « normes », mais les agents ne sont pas fortement immergés dans le monde commercial ou industriel – alors, avons-nous vraiment besoin de normes dans ce cas ? Le FIPA est gelé depuis la décision prise à Budapest en 2005 de le transférer dans l’IEEE. Je pensais – et je pense toujours – que le FIPA, et la technologie des agents elle-même, n’étaient pas assez matures pour être transférés à l’IEEE. Je pense que nous devons relancer l’organisation (peut-être avec un nom différent, bien que la FIPA soit déjà connue dans la communauté des agents) comme un effort (presque) volontaire si nous voulons créer une masse critique sur la normalisation des agents – mais peut-être que personne ne s’en soucie !
Lars Braubach
Les normes sont toujours importantes pour favoriser l’acceptation d’une technologie et libérer les clients d’un verrouillage potentiel des fournisseurs. En ce qui concerne les technologies d’agent, les normes de la FIPA traitent principalement de la communication d’agent à agent et garantissent que différentes plateformes d’agent peuvent communiquer. En 2013, le monde n’a tout simplement pas ce problème, car seules quelques applications d’agents sont déployées et il n’existe pas de réseau mondial de plateformes d’agents déployées dans l’esprit d’AgentCities. Ces normes ne sont donc pas pertinentes dans la pratique. En outre, la technologie des services web a permis de réaliser avec succès l’interopérabilité dans les systèmes distribués. À cet égard, permettre aux plates-formes d’agents d’externaliser de manière transparente des fonctionnalités sous forme de services Web et d’utiliser des services Web existants pour s’intégrer à d’autres systèmes est d’une grande importance pratique. Cela inclut le langage standard de définition des services Web (WSDL) ainsi qu’un nombre croissant de services Web RESTful, les grands acteurs tels que Google et Yahoo offrant davantage d’API via REST. À mon avis, une nouvelle initiative de normes relatives aux agents purs ne contribuera pas beaucoup à l’adoption de la technologie, car elle s’attaque à un problème sans importance. Au lieu de cela, nous avons principalement besoin de normes qui proposent une intégration avec les technologies établies.
Question 4 : Qu’est-ce qui manque encore dans le domaine des plates-formes, des langages et des outils pour agents ?
Giancarlo Fortino
Nous avons beaucoup de choses. Je pense que nous devons les appliquer et les évaluer. Bien sûr, dans le monde de l’industrie, nous devons nous concentrer sur un ensemble (limité) de modèles de référence et d’outils CASE connexes (y compris une méthodologie de référence). Je pense que c’est la clé d’une acceptation plus large de la technologie des agents.
Lars Braubach
Je pense que plusieurs choses manquent – à commencer par des langages de programmation d’agents qui s’intègrent étroitement aux langages orientés objet courants. Nous devrions également disposer d’infrastructures distribuées de niveau industriel dans les domaines de la grille et du cloud, qui emploient des technologies d’agent. En particulier dans le domaine des plates-formes en tant que service (PaaS), de nouvelles approches de programmation sont nécessaires pour développer des applications distribuées. Dans ce domaine, les approches multi-agents pourraient contribuer à combler cette lacune. Lié à cet aspect est que nous manquons encore d’approches et d’outils complets de débogage et de test pour les systèmes distribués.
Costin Badica
Nous devons nous lier à la recherche et aux méthodes CS plus traditionnelles et éviter de réinventer inutilement les choses sous l’égide des agents – comme AOSE ou AOP essaient parfois de le faire.
Giovanni Rimassa
Les plateformes d’agents devraient être redessinées avec la contrainte supplémentaire de ne pas polluer l’infrastructure informatique standard : être brillantes pour leurs fonctionnalités avancées mais très ennuyeuses en termes de mécanismes. Elles ne devraient présenter aucune persistance, sauf avec des systèmes de gestion de bases de données relationnelles ou des bases de données NoSQL, et n’effectuer aucun passage de messages, sauf avec des services web Java Message Service, SOAP ou RESTful. En ce qui concerne les langages et les outils, la vague actuelle de recherches visant à rassembler les langages de programmation d’acteurs et d’agents devrait se renforcer, dans le but de produire un ou plusieurs environnements de développement complets réellement adaptés à une adoption massive. Mon souhait personnel serait d’avoir un langage acteur/agent avec un système de type moderne qui différencie l’agent, les artefacts/services et les connaissances/données.