• Aucun résultat trouvé

5 Travaux Connexes

5.2 Architecture avec médiateur : InfoSleuth et UMDL comme exemples

5.2.1 Carnot+InfoSleuth

En 1990, la compagnie Microelectronics and Computer Technology Corpo- ration (MCC) a eu pour mission de résoudre un problème d’intégration d’in- formations dans des bases de données hétérogènes. Ce projet a reçu le nom de Carnot et s’est terminé en 1995 [WCH 93]. Carnot pouvait d’ores et déjà gérer le flux d’informations, accéder à des bases de données hétérogènes et faire de la découverte d’informations pour certaines entreprises. Les auteurs de Carnot se sont cependant rendus compte que le manque de structure dans la présentation de l’information sur Internet constitue un énorme défi du point de vue découverte, accès, mise à jour et analyse de l’information. Ceci les a alors amené à chercher à améliorer Carnot en vue de lui permettre la recherche d’informations dans des sources géographiquement distantes et dynamiques comme dans le cas de la toile. InfoSleuth [BBB 96, BBB 98] a donc pris la relève de Carnot en 1995. Pour développer InfoSleuth, les chercheurs de MCC ont utilisé des technologies stan- dardisées comme : (a) KQML (Knowledge Query and Manipulation Language) [FFMM94] ; (b) KIF (Knowledge Interface Format) [Gea92] ; (c) HTTP (Hyper Text Transfert Protocol) [BLFF96] ; (d) Java [GM95]. Ceci procure à InfoSleuth un haut niveau d’ouverture du système, de flexibilité et d’extensibilité. L’architec- ture générale d’InfoSleuth est divisée en trois couches principales : (1) la couche agent, (2) la couche sémantique (ontologies) et (3) la couche application. Ces trois

couches sont détaillées ci-après.

La couche agent : La couche inférieure de l’architecture est la couche agent.

Cette couche est composée d’agents coopératifs où les règles d’induction sont implantées en LISP [AGST75], CLIPS [Ril91], LDL++ [Zan91] et en Java. Ces agents annoncent d’abord leurs services et font par la suite des requêtes afin de trouver un agent pouvant répondre à un besoin spécifique. Un besoin peut être divisé en plusieurs sous-requêtes qui sont ensuite dis- tribuées aux agents appropriés. Des réponses provenant de ces derniers sont finalement réunies par l’agent demandeur pour l’obtention de la réponse à la requête originale.

La couche sémantique : Cette couche indique les agents coopératifs ayant le

même vocabulaire et le même modèle sémantique qui sont capables d’in- teragir dans un domaine particulier. Par exemple, dans le cas où le travail se fait sur le domaine des finances, alors les agents aptes à communiquer entre eux sont seulement ceux utilisant des termes propres à la finance.

La couche application : Cette couche couvre trois régions principales soit : (1)

la recherche de ressources (par exemple trouver les agents et les bases de données relatives au domaine de l’ontologie), (2) la recherche et l’analyse de gabarits (par exemple par data-mining), (3) la collaboration, la recherche et l’exécution.

Ces régions s’interrelient et se chevauchent. D’un point de vue architecture, le coeur d’InfoSleuth peut être vu comme un nuage d’agents (Voir Figure 13). L’usager envoie des requêtes et reçoit des réponses de ce nuage par l’intermédiaire d’un agent utilisateur. Ce nuage puise ces informations des agents ressource qui communiquent directement avec des bases de données. La communication entre agents se fait à l’aide du protocole KQML [FFMM94] en utilisant le format KIF [Gea92] dans son champ contenu.

5.2.2 UMDL

En 1994, une équipe multi-disciplinaire de l’université du Michigan propose de créer une bibliothèque digitale évolutive [DKB97, DKB98]. Le terme ‹‹bib- liothèque numérique ›› est le nom générique pour décrire des structures qui four- nissent aux êtres humains des accès intellectuels et physiques aux énormes réseaux mondiaux de l’information dans des formats numériques multimédias.

La mission fondamentale des bibliothèques a été de conserver et de fournir un accès intellectuel et physique aux écrits. Bien que cette mission fondamen-

tale continue à être très importante, la représentation de l’information a changé radicalement (document électronique, matériel optique et magnétique, etc.). Ce changement massif de la représentation change la structure de classement, de recherche, d’utilisation et de réutilisation de l’information développée par les bib- liothèques classiques. Ceci dit, une bibliothèque digitale est en mesure : (a) de fournir de l’information peu importe l’endroit et le moment ; (b) de fournir l’accès à des collections d’information multimédia construites sur l’intégration de textes, d’images, de graphiques, de sons, de vidéos et d’autres médias ; (c) d’être assez convivial pour assister l’utilisateur dans sa recherche d’information, (d) d’être le cœur d’une nouvelle technologie d’auto-apprentissage et de recherche abaissant les barrières géographiques et temporelles.

Les chercheurs de l’Université du Michigan ont mis en avant une architecture multiagent, appelée UMDL pour contribuer à une bibliothèque digitale évolutive. Cette architecture est composée de 4 types d’agents logiciels, à savoir :

Agent utilisateur : L’agent utilisateur fournit les stratégies de recherche aux util-

isateurs d’UMDL. Il guide l’utilisateur en lui donnant des astuces pour chercher la meilleure information désirée ainsi que son meilleur format (texte, image, son, vidéo, etc.).

Agent d’exécution de requêtes : Le développement d’un paradigme de requête

permet à l’utilisateur d’extraire l’information désirée facilement par la con- struction de requêtes complexes dans un environnement distribué. L’agent d’exécution de requêtes garde une trace des requêtes de l’utilisateur pour améliorer ses performances lors des prochaines requêtes. Cette trace lui per- met de connaître les préférences de l’usager.

Médiateur : Le médiateur a pour but de contrôler les interactions entre les agents

utilisateurs et les agents collecteurs. Souvent, les médiateurs forment une architecture hiérarchique. Les interactions entre les médiateurs ressemblent fortement à la résolution de problèmes coopératifs.

Agent collecteur : Les agents collecteurs sont reliés aux ressources. Ils sont en

charge de la liaison entre les informations (base de données, collection d’im- age, vidéothèque, catalogue, etc.) et le système multiagent.

De par sa conception, NetSA ressemble à InfoSleuth et à UMDL, puisque toutes les trois sont bâties sur le principe du nuage d’agents (Voir Figure 13), avec bien entendu un des agents de ce nuage jouant le rôle de médiateur. Toutefois, la ressemblance s’arrête ici, dans la mesure où les techniques mises en avant pour développer NetSA sont différentes de celles utilisées par InfoSleuth et UMDL. En

particulier, NetSA offre à la fois médiation et stratégies d’interaction issues des réseaux à contracts, tous les deux propres à elle, et faisant intervenir le langage POPA.

6

Conclusion et futurs développements

Dans ce papier, nous nous sommes intéressés à la conception d’une ‹‹coquille ›› de système multiagent pouvant être utilisée pour les applications opérant sur des sources d’information hétérogènes placées dans un environnement ouvert et dynamique (comme par exemple l’internet). Cette exigence de ‹‹réutilisabilité ››, nous a été dictée par le fait que la complexité engendrée par un tel système est parfois supérieure aux grands projets informatiques. De ce fait, le coût de pro- duction de ce genre de systèmes est énorme en personne-mois tant au niveau de la conception, que de la réalisation et de la vérification. La réutilisabilité est un moyen pour réduire la charge de travail et par le fait même, le coût de production et c’est ce que nous avons choisi.

Hormis cet avantage crucial, NetSA offre plusieurs autres avantages. C’est ainsi qu’elle est (i) portable (puisqu’elle est programmée en Java) ; (ii) flexible (facilement adaptable à d’autres applications grâce au langage POPA) et, (iii) in- teropérable (en particulier avec les systèmes hérités via ses agents ressources).

Les premiers essais effectués ont montré que NetSA : (a) peut facilement satis- faire jusqu’à 15 utilisateurs (au delà il faudra penser utiliser plusieurs architectures NetSA) ; (b) est très efficace par rapport à une recherche web classique ; (c) est très facile d’utilisation ; (d) convient très bien aux applications faisant intervenir des bases de données héritées.

Bien que NetSA soit opérationnelle, il y a toujours place pour son améliora- tion. C’est ainsi que nous prévoyons d’inclure deux nouveaux types d’agents : un agent-serveur d’ontologie et un agent d’extraction de connaissances.

Agent-serveur d’ontologie : Le rôle d’un tel serveur consistera à fournir à de

nouveaux agents entrant sur le système NetSA, des définitions propres à l’ontologie utilisée. Il permettra dès lors d’éviter des communications inu- tiles que pourraient engendrer des agents nouveaux à la recherche de sens. Le serveur d’ontologie fera partie de la couche centrale de NetSA.

Agent d’extraction des connaissances : L’information stockée dans les grandes

bases de données est généralement immense et elle pourrait dans bien des cas permettre d’extraire des connaissances. Pour cela, il faudrait adjoindre à NetSA un agent d’extraction de connaissances.

Références

[AGST75] R. A. Amsler, E. M. Greenawalt, J. Slocum, and M. Tyson. LISP Reference Manual CDC - 6000. University of Texas at Austin, Com- putation Center, CCUM 2, Austin, December 1975.

[Auc98] Auction universe, 1998. http ://www.auctions.com.

[BBB 96] R. Bayardo, W. Bohrer, R. Brice, A. Cichocki, G. Fowler, A. Helal, V. Kashyap, T. Ksiezyk, G. Martin, M. Nodine, M. Rashid, M. Rusinkiewicz, R. Shea, C. Unnikrishnan, A. Unruh, and D. Woelk. Semantic integration of information in open and dynamic environments. Technical Report MCC-INSL-088-96, MCC, October 1996.

[BBB 98] R. J. Bayardo, W. Bohrer, R. Brice, A. Cichocki, J. Fowler, A. Helal, V. Kashyap, T. Ksiezyk, G. Martin, M. Nodine, M. Rashid, M. Rusinkiewicz, R. Shea, C. Unnikrishnan, A. Unruh, and D. Woelk. Infosleuth : agent-based semantic integration of infor- mation in open and dynamic environments. In Huhns M. N. and Singh M. P., editors, Reading in Agents, pages 205–216, SF, CA, 1998. Morgan Kaufmann.

[BCdK02] H. Benameur, B. Chaib-draa, and P. Kropf. Multi-items auctions for automated negotiation. Information and Software Technology, (à venir), 2002.

[BLFF96] T. Berners-Lee, R. Fielding, and H. Frystyk. Hypertext transfer pro- tocol - http/1.0. Request for comment : 1945, May 1996.

[CdJM02] B. Chaib-draa, I. Jarras, and B. Moulin. Systèmes multiagents : principes généraux et applications. In J .P. Briot and Y. Demazeau, editors, Principes et architectures des systèmes multi-agents, Paris, France, à venir en 2002. Collection IC2, Hermes Science Publica- tion.

[CdV98] B. Chaib-draa and D. Vanderveken. Agent communication language : Towards a semantics based on success, satisfaction and recursion. In Agents : Theories, Architectures and Languages (ATAL’98), Paris, Fr, 1998.

[CT98] M. Côté and N. Troudi. NetSA : une architecture multiagent pour la recherche sur internet. Expertise Informatique, 3(3), 1998.

[Côt99] M. Côté. NetSA : une architecture multiagent et son application aux services financiers. Technical report, Mémoire de maîtrise du dé- partement d’informatique, Université Laval., 1999.

[DKB97] E. H. Durfee, D. L. Kiskis, and W. P. Birmingham. The agent archi- tecture of the university of michigan digital library. IEE/British Com- puter Society Proceedings on Software Engineering, 144(1), 1997. [DKB98] E. H. Durfee, D. L. Kiskis, and W. P. Birmingham. The agent archi-

tecture of the university of michigan digital library. In Huhns M. N. and Singh M. P., editors, Reading in Agents, pages 98–108, SF, CA, 1998. Morgan Kaufmann.

[FFMM94] T. Finin, R. Fritzson, D. McKay, and R. McEntire. KQML as an agent communication language. In ACM Press, editor, Proceedings of the Third International Conference on Information and Knowledge Management, November 1994.

[FR93] R. A. Feldman and M. Rajnish. Auctions theory and applications. IMF Staff Papers, pages 485–511, September 1993.

[Gea92] M. R. Genesereth and R. E. Fikes et al. Knowledge interchange for- mat version 3 reference manual. Technical Report Logic-92-1, Stan- ford University Logic Group, 1992.

[GM95] J. Gosling and H. McGilton. The Java(tm) language environment : A white paper. Technical report, Sun Microsystems, 1995.

[JSW98] N. R. Jennings, K. Sycara, and M. Wooldridge. A roadmap of agent research and development. In Autonomous Agents and Multi-Agent Systems, pages 7–38, Boston, 1998. Kluwer Academic Publishers. [KH98] D. Kuokka and L. Harada. Matchmaking for inrmation agents. In

Huhns M. N. and Singh M. P., editors, Reading in Agents, pages 91– 97, SF CA, 1998. Morgan Kaufmann.

[MCd96] B. Moulin and B. Chaib-draa. An overview of distributed artificial in- telligence. Foundations of Distributed Artificial Intelligence,O’Hare, G. and Jennings, N. (eds), Wiley Inter-Science, pages 3–55, 1996.

[Mic98] Sun Microsystem. The Java servlet API, 1998.

http ://www.micro.rmc.ca :8080/system/doc/servlets/api.html. [Net97] Netscape. JavaScript Reference. Netscape Communications Corpo-

[PSS01] M. Paolucci, O. Sheory, and K. Sycara. Interleaving planning and execution in a multiagent team planning environment. Electronic Transactions of Artificial Intelligence, (à venir), 2001.

[Ril91] G. Riley. Clips : An expert system building tool. In Proceeding of the Technology 2001 Conference, San Jose, CA, December 1991. [Sak00] Y. Sakurai. An efficient approximate algorithm for winner determina-

tion in combinatorial auctions. In Proceedings of the 2nd ACM Con- ference on Electronic Commerce-EC’00, Minneapolis, Minnesota, 2000.

[Smi80] R. G. Smith. The contract net protocol : high-level communication and control in a distributed problem solver, 1980.

[SPW 96] K. Sycara, A. Pannu, M. Williamson, D. Zeng, and K. Decker. Dis- tributed intelligent agents. IEEE Expert, pages 36–46, December 1996.

[Vic61] W. Vickrey. Counterspeculation, auctions, and competitive sealed tenders. Journal of Finance, Vol. 16 :8–37, March 1961.

[WCH 93] D. Woelk, P. Cannata, M. Huhns, W. M. Shen, and C. Tomlinson. Us- ing carnot for enterprise information integration (project synopsis). In Parallel and Distributed Information Systems (PDIS ’93), pages 133–137, Los Alamitos, Ca., USA, January 1993. IEEE Computer Society Press.

[Zan91] C. Zaniolo. The logical data language (ldl) : An integrated approach to logic and databases. Technical Report Technical Report STP-LD- 328-91, MCC, 1991.

Documents relatifs