You are on page 1of 14

Interoprabilit des systmes multi-agents laide des services Web

Amal El Fallah-Seghrouchni* Serge Haddad** Tarak Melitti** Alexandru Suna*


* LIP6-Universit Paris 6

8, Rue du Capitaine Scott 75015 Paris {Amal.Elfallah,Alexandru.Suna}@lip6.fr


** LAMSADE-Universit Paris Dauphine

Place du Marchal de Lattre de Tassigny 75016 Paris {haddad,melitti}@lamsade.dauphine.fr

RSUM.

Nous prsentons un cadre conceptuel et architectural pour linteroprabilit des systmes multi-agents (SMA) htrognes. Notre approche est fonde sur les services Web, qui permettent des applications dexposer leurs fonctionnalits au travers dinterfaces standardises. Ils favorisent ainsi une architecture oriente services, intgrant des systmes htrognes complexes, fortement distribus et pouvant cooprer sans recourir une intgration spcique et coteuse. Dans notre modle, les agents publient leurs capacits en tant que services web qui peuvent tre utiliss par dautres agents et ce indpendamment des caractristiques conceptuelles (architecture, modle dinteraction, etc.) et techniques (plate-forme, langage de programmation, etc.) de ces agents. Larchitecture propose ainsi que les concepts introduits ont t tests et valids en utilisant le langage CLAIM et la plate-forme SyMPA. In this paper we present a conceptual and architectural framework for the multiagent systems interoperability. Our approach uses the Web Services, that allow to applications to present their functionalities using standardized interfaces. They propose a service-oriented architecture, containing complex heterogenous distributed systems that can cooperate without a specic and costly integration. In our model, the agents publish their abilities as Web services that can be used by other agents, independently of conceptual (e.g. architecture) or technical (e.g. platform, programming language) aspects. The proposed architecture and concepts have been tested and validated using the CLAIM language and the SyMPA platform.
ABSTRACT. MOTS-CLS : KEYWORDS:

systmes multi-agent, services Web, interoprabilit multi-agent systems, Web services, interoperability

92

JFSMA 2004

1. Introduction Dans ce papier, nous prsentons un cadre conceptuel et architectural permettant linteroprabilit entre systmes multi-agents (SMA) htrognes. Linteroprabilit a pour objectif de permettre plusieurs systmes logiciels, de mme nature ou htrognes, de communiquer et de cooprer an de minimiser les cots dintgration de ces systmes. Linteroprabilit repose sur des normes techniques ( la base des standards) qui dnissent des exigences accompagnes de recommandations permettant deux systmes qui satisfont aux exigences de dialoguer et dvoluer librement tant quils respectent la norme dnissant leurs interfaces. Longtemps tudie, linteroprabilit est de plus en plus requise du fait du dploiement dun grand nombre dapplications sur Internet et de leur potentiel dinteraction et de coopration. Elle peut tre aborde de faon statique (compilation de deux applications travers un bus CORBA par exemple) ou de manire dynamique (invocation de service par exemple). Trois niveaux dinteroprabilit peuvent tre distingus : le niveau technologique, le niveau syntaxique et le niveau smantique. En tant que systmes logiciels, les systmes multi-agents sont galement confronts au problme de linteroprabilit dautant plus que leur vocation interagir et cooprer de faon autonome est lessence mme de leur existence. Les agents cognitifs exhibent souvent un comportement orient but. De ce fait, linteroprabilit ne peut se limiter une simple invocation de services mais ncessite la mise en place : 1) de mcanismes sophistiqus de recherche de services capables de satisfaire des besoins ; 2) et de modles dinteraction complexes. Linteroprabilit des SMA a dailleurs t promue par diffrentes institutions (ou consortiums) dont la FIPA1 qui dploie dnormes efforts an de proposer des normes (spcications) et des standards qui assurent une interoprabilit diffrents niveaux des architectures SMA[FLO 99, LYE 02]. On peut citer titre dexemple : FIPA-ACL [LAB 99] au niveau communication, DAML+OIL [HOR 01] au niveau smantique, AAA2 au niveau architectural, etc. La FIPA a galement encourag le dveloppement de diffrents plates-formes respectant les spcications quelle a proposes (JADE [NWA 99] et ZEUS [BEL 99] par exemple3 ). Mais les limites des standards de la FIPA rsident dans le fait que linteroprabilit est conditionne par la compatibilit des SMA avec les spcications FIPA : au lieu dassurer linteroprabilit entre SMA htrognes, la FIPA tend rendre tous les SMA compatibles (via ses spcications). De plus, le niveau de cognition exig par les spcications FIPA (par exemple les actes du langage dans le cas de FIPA-ACL) rend difcile une interoprabilit entre SMA htrognes.

1. http ://www.pa.org 2. Abstract Agent Architecture 3. plates-formes compatibles FIPA : http ://www.pa.org/resources/livesystems.html

Interoprabilit des systmes multi-agents

93

An de maximiser lintgration de systmes htrognes et de favoriser une interoprabilit au moindre cot, il est ncessaire de minimiser les exigences en termes de spcications. Dans le monde du gnie logiciel, et comme en tmoignent les efforts de normalisation et de dveloppements autour des services Web [CUR 01], ces derniers se prsentent aujourdhui comme un support crdible permettant des applications dexposer leurs fonctionnalits au travers dinterfaces standardises et de plus en plus prouves. Les services Web ont pour vocation de favoriser une architecture oriente services, intgrant des systmes htrognes complexes, fortement distribus et pouvant cooprer sans recourir une intgration spcique et coteuse (gure 1). La souplesse introduite par les services Web permet denvisager de nouvelles formes de collaboration entre applications distantes. Nanmoins, les services Web ne reprsentent quun point de dpart vers linteroprabilit. Ils soulvent des problmes qui sont encore du domaine de la recherche. Aujourdhui on assiste un rapprochement entre les SMA et les services Web. Ce rapprochement se manifeste selon diffrentes directions dont les principales sont les suivantes. Lutilisation des SMA en tant quentit mdiatrice dans le modle fonctionnel des services Web (voir la section 2). La mdiation intervient plusieurs niveaux. Par exemple, les auteurs de [MOS 03] proposent des SMA proxy qui facilitent la localisation de services Web tandis que dans [RIC 03, SHE 03, LAU 03] des SMA de planication et de composition de services Web sont prsents. Lutilisation des services Web comme cadre architectural et technologique pour mettre en place des SMA accessibles travers le Web. Dans ce type dapplication on retrouve des applications agents qui offrent leurs capacits travers des services Web. Ici on distingue deux catgories qui diffrent essentiellement par leur conception : - Une conception intgre : ce sont des services Web dvelopps suivant un modle agent an de raliser des tches complexes telles que la gestion des transactions ou des interactions commerciales (voir par exemple [JIN 03]). Ainsi dans [PET 03], on propose un ensemble de primitives de communication empruntes des langages de communication agents supportant des interactions dynamiques. - Une conception dcouple : partir dun SMA donn a priori, une couche base de services Web rend les capacits de lagent accessibles travers le Web que ce soit dautres agents de SMA ou des applications clientes traditionnelles. Par exemple [LYE 03] prsente des outils qui traduisent des descriptions de service (SD) dagent FIPA en services Web WSDL. Le travail prsent ici participe lapproche de conception dcouple. A la diffrence de [LYE 03] qui se borne une traduction syntaxique dun langage dinterface vers un autre (SD vers WSDL) notre dmarche inclut les aspects originaux suivants : Les algorithmes de synthse de comportement dun service et dun client supportant les fonctionnalits rencontres dans les protocoles dinteraction (slection des

94

JFSMA 2004

agents, suivi dexcution, respect des contraintes temporelles, etc.). Lintrt majeur de ces algorithmes est de gnrer des modles de comportement partir dlments purement dclaratifs. Notre environnement saccompagne dune mthode qui permet au concepteur du SMA didentier les parties rcrire et de choisir le niveau dintgration partir dun compromis entre le cot de la rcriture et linteroprabilit du SMA ainsi modi. Bas sur les services Web, lenvironnement dinteroprabilit que nous proposons, appel Web-MASI (Web-MAS Interoperability) vise minimiser les cots dintgration tout en minimisant les exigences en termes de spcication des SMA. Linteroprabilit repose sur deux lments : une architecture qui encapsule les SMA dans le modle de fonctionnement des services Web et un module dinteroprabilit qui constitue linterface entre les SMA et lenvironnement des services Web. Lide qui sous-tend ce travail est que les agents (comme dautres applications coopratives via le Web) peuvent publier leurs capacits en tant que services Web invocables par dautres agents et ce indpendamment des caractristiques conceptuelles (architecture, modle dinteraction, etc.) et techniques (plate-forme, langage de programmation, etc.) de ces agents. Les lments dinteroprabilit que nous avons identis sont les buts traduisant des besoins, les capacits reprsentant des services et les protocoles de coopration pouvant rendre effective linteraction entre agents demandeurs et agents fournisseurs de services. Larchitecture propose ainsi que les concepts introduits ont t tests et valids en utilisant le langage CLAIM [FAL 03] et la plate-forme SyMPA [SUN 04].

2. Rappel des principes des services Web 2.1. Modle de fonctionnement Le modle des services Web repose sur une architecture oriente service [BOO 03]. Celle-ci fait intervenir trois catgories dacteurs : les fournisseurs de services (i.e. les entits responsables du service Web), les clients qui servent dintermdiaires aux utilisateurs de services et les annuaires qui offrent aux fournisseurs la capacit de publier leurs services et aux clients le moyen de localiser leurs besoins en terme de services. La dynamique de larchitecture se dcompose ainsi : la publication du service par le fournisseur dans un annuaire, la localisation du service par le client et enn, linteraction entre le client et une instance dexcution du service. Cette dynamique est normalise travers un certain nombre de standards : un protocole abstrait de description et de structuration des messages, SOAP4 [SOA 00], une spcication XML qui permet la publication et localisation des services dans les annuaires, UDDI5 [UDD 02] et un format de description des services Web publies dans les annuaires, WSDL6 [WSD 01]. Un service WSDL est compos dun ensemble doprations lmentaires, chacune d4. Simple Object Access Protocol 5. "Universal Description, Discovery and Integration 6. Web Services Description Language

Interoprabilit des systmes multi-agents

95

crite par un ux de messages changs entre le client et le service. De plus, WSDL spcie les protocoles de transport et dchange des messages. La gure 1 synthtise les aspects statiques et dynamiques du modle des services Web.

Figure 1. Modle de fonctionnement de larchitecture Services Web

Les services Web constituent un cadre robuste pour assurer linteroprabilit entre des applications htrognes, accessibles en ligne, car ils nimposent pas de restriction sur les caractristiques techniques de lapplication qui implmente le service ; ils proposent une reprsentation homogne du comportement observable du service (i.e. du point de vue du client).

2.2. Services Web complexes : aspects oprationnels et smantiques Cependant, ltat actuel du modle prsente des limites conceptuelles dont le dpassement constitue deux axes de recherche complmentaires. Dune part, les taxonomies des annuaires ne sont pas assez expressives pour permettre une correspondance ne entre les besoins des utilisateurs et les services proposs. Les recherches actuelles sinscrivent dans le cadre du Web smantique et sont fortement lies la spcication dontologies appropries (DAML-S), [SIV 03]. Dautre part, la smantique associe WSDL nest pas assez expressive pour supporter certains types dapplications qui ncessitent une interaction longue contrle par un modle explicite de processus. Plusieurs propositions dextension de WSDL ont t proposes pour supporter les services Web complexes, tels que Xlang, WSFL, etc [STA 03][BEN 01]. Ces langages proposent un jeu de balises dnissant des oprateurs qui sappliquent de manire modulaire sur les units de base dchange de messages (les oprations WSDL). La particularit de Xlang se manifeste travers deux aspects. Premirement, il offre un ensemble doprateurs temporels tels que les oprateurs de dpassement de dlai (i.e. timeout ) et les contraintes dchances. Deuximement, le comportement du service est dcrit en fonction de ses aspects observables par le client. En voici les principaux

96

JFSMA 2004

constructeurs7 . On dsigne par !o[m] et ?o[m] les oprations WSDL respectivement denvoi et de rception de message et par r[e] la leve dune exception e. P ; Q le constructeur de squence, o le service se comporte comme P ; une fois P termin, il se comporte comme Q. switch[{Pi }iI ] suite un processus de choix interne, le service se comporte de manire indterministe, vu du client, suivant une des descriptions Pi . Le constructeur while[P ] reprsente un service qui se comporte itrativement comme le service P jusqu ce quune condition interne au service (opaque au client) ne soit plus vrie. Le constructeur all[{Pi }iI ] dnit un service qui excute paralllement les services Pi . Il se termine quand tous les processus Pi se terminent. pick[{(mi , Pi )}iI , d, Q] suite la rception dun message mi , se comporte comme le service Pi . Si aucun des messages mi nest parvenu avant d units de temps, le service se comporte comme le service Q. context[P, E] le constructeur context dnit un service P gard par un certain nombre dvnements dnis dans le bloc dexception E. La description observable du service entrane (par construction) un non dterminisme dans son comportement, ce qui rend le processus dinteraction non trivial pour les clients traditionnels. Dans un prcdent travail [HAD 04] nous avons rsolu ce problme. Tout dabord nous avons dni une smantique formelle de Xlang au moyen des algbres de processus temporiss an de reprsenter le comportement du service par un automate temporis. Puis nous avons dni une relation dinteraction que doivent vrier le client et le service Web. Enn nous avons conu un algorithme qui, prenant en entre lautomate temporis du service Web, soit construit lautomate dun client correct soit dtecte lambigut du service cest dire limpossibilit dun tel client. Ce travail a donn lieu une implmentation dun client gnrique capable dinteragir avec les services Web complexes. Le module de client gnrique est utilis dans la construction du module dintgration comme nous le verrons dans la suite.

3. Environnement dintgration des SMA htrognes 3.1. Larchitecture dinteroprabilit Lenvironnement dinteroprabilit que nous proposons repose sur deux lements cls : une architecture qui encapsule les SMA dans le modle de fonctionnement des services Web et un module dinteroprabilit qui constitue linterface entre les SMAs et lenvironnement services Web. Dans notre architecture dintgration, les agents reprsentent la fois les fournisseurs et les clients du service. Ils utilisent les annuaires UDDI an de publier et localiser leurs capacits en vue dtre dcouvertes et utilises par dautres agents et ceci de manire modulaire et uniforme. Le Module dIntgration
7. prsents dans une syntaxe simplie (sans la lourdeur de la syntaxe XML)

Interoprabilit des systmes multi-agents

97

(MI) offre aux diffrents systmes multi-agents une bibliothque an de synthtiser, publier, localiser et invoquer des services Web. Linvocation et le suivi dexcution du service sont raliss par notre client gnrique contenu dans le MI. Tels que nous les avons conus, les services Web gnrs partir des capacits des agents sont invocables la fois par dautres agents ou par des utilisateurs disposant dun client gnrique et vice versa.

Figure 2. Architecture gnrale de lenvironnement

3.2. Exigences / Pre-rquis Nous avons port notre effort sur la minimisation des exigences fonctionnelles des SMA et ceci an de minimiser le cot dintgration et par consquence de couvrir le plus largement possible les diffrents modles de SMA. Toutefois, ces SMA doivent prsenter certaines caractristiques que nous dcrivons ci-dessous. Celles-ci se dnissent soit au niveau du SMA, soit au niveau de lagent. Exigence au niveau des SMA Chaque agent doit disposer dune identit unique au sein du SMA. Cette caractristique est essentielle pour le bon fonctionnement du MI. En effet, ce module doit identier le propritaire dune capacit publie pour jouer son rle dintermdiaire entre les clients et les prestataires. Dans la plupart des systmes multi-agents, un tel mcanisme de dsignation est prsent (cas du modle de communication adress). Dans les systmes mono-agent cette caractristique est implicitement garantie. Exigence au niveau des agents Les pr-requis dun agent portent globalement sur les conditions dans lesquelles lagent est amen interagir et sur son processus dinteraction. Nous dcrivons les lments qui doivent intervenir dans le fonctionnement de lagent : 1. Les buts 2. Les capacits Notre architecture requiert quun agent soit une entit autonome capable deffectuer un certain nombre de tches (capacits) chacune munie dune description couvrant les aspects lis linvocation et lexcution (voir 3.3.1).

98

JFSMA 2004

3. Loffre et la demande Les agents doivent prendre linitiative de satisfaire leurs buts de faon externe au SMA et de publier les capacits quils veulent partager. Les exigences fonctionnelles sont dnies un niveau sufsamment abstrait an de permettre chaque SMA de les mettre en place en prenant en compte leurs caractristiques conceptuelles et techniques. Par exemple, chaque agent est libre de la stratgie de publication de capacits ou dutilisation dun service Web.

3.3. Dynamique de lenvironnement dintgration Un SMA distribu est compos dagents sexcutant sur plusieurs ordinateurs connects via un rseau. Le module dinteroprabilit (MI) que nous proposons est dploy sur chacun des ordinateurs susceptible daccueillir des agents. Ce module est compos de deux sous-modules qui accomplissent respectivement les fonctions de publication (P ) dun service Web partir dune capacit dun agent et celles de recherche et dinvocation (RI). La gure 3 prsente le fonctionnement du module dinteroprabilit et les interactions entre les agents, ce module, les serveurs Web (SW) et les annuaires UDDI.

Figure 3. Fonctionnement du module dinteroprabilit (MI) a) Publication Ce sous-module implmente lalgorithme de synthse de service et fait appel un client UDDI pour la publication. Voici son fonctionnement : 1. Un agent Ai dcide de publier, en utilisant le module de publication (P ) une ou plusieurs de ses capacits (C1 sur la gure). 2. partir de la description de la capacit, le module P cre un service Web (Ai C1 ) et le dploie sur le serveur Web (SW) local (voir 3.3.1 ). 3. La description du service (qui inclut leffet de la capacit correspondante) est publi dans un registre UDDI.

Interoprabilit des systmes multi-agents

99

b) Recherche et invocation Ce sous-module utilise le module de synthse de client et offre les services ncessaires la localisation et linvocation de service. Voici son fonctionnement : 4. Lorsquun agent (Aj ) Lagent utilise les fonctionnalits du module de recherche de RI an de localiser des services Web qui pourraient satisfaire son besoin. Lagent doit spcier sil dsire choisir parmi plusieurs services selon un ensemble de critres ou sil laisse le module RI choisir. 5. Le module RI interroge le registre UDDI. 6. Le module RI obtient de la part du registre une liste de descriptions de services Web correspondant ses critres de recherche. 7. Le module RI commence linvocation des services dcouverts an dobtenir leurs divers attributs et ceci de manire autonome (i.e. sans intervention de lagent). 8. Si lagent a exprim son dsir de slectionner les services appropris, le module de recherche envoie lagent ces descriptions de services. Sinon, le module RI choisit un service (de manire alatoire) et continue avec ltape 10. 9. Lagent (Aj ) prcise au module RI le choix dun (ou plusieurs) service Web, choisi parmi ceux dont la description lui a t envoye par le module RI dans ltape 8. Sans que cela soit ncessaire, lors de lintgration dun SMA un module de slection de services peut tre ajout chaque agent. 10. Le module RI envoie simultanment des messages de conrmation aux services selectionns et des messages dannulation aux autres services considrs (sur la gure, lagent Aj a choisi le service Ak Cl correspondant la capacit Cl de lagent Ak ). 11. De son ct, le service transmet la traduction de ce message dans le format de lagent fournisseur de la capacit, pour dmarrer son excution. Aprs lexcution de la capacit, lagent demandeur est inform du rsultat par lintermdiaire du module dintgration. Un des points forts de notre architecture est que le service Web dploy ne se limite pas linvocation de la capacit mais intgre la phase de ngociation (avec ou sans intervention de lagent demandeur) et du suivi dexcution. Ceci est rendu possible par lalgorithme de synthse de service partir dune dclaration de capacit. 3.3.1. Prsentation informelle de lalgorithme de synthse de service Lalgorithme de synthse prend en entre une description XML de la capacit et de ses attributs. Le choix de la grammaire associe est mineur. Aussi nous nous concentrons sur les lments de cette description qui se regroupent en trois catgories. Description de lagent : lidentit de lagent fournisseur de la capacit ainsi que des informations optionnelles (e.g. la mobilit, etc.) neutres du point de vue de lalgorithme et dont linterprtation se fera au niveau des agents clients. Description de la capacit : une description smantique compose de quatre lments XML, son nom, ses pr et post-conditions, et les messages ncessaires au processus dinteraction. Les pr et post conditions font rfrence un ou plusieurs espaces de noms destins lagent client. Si une pr-condition est prsente, lalgorithme de synthse prend en compte la possibilit dun refus dexcution. La post-condition

100

JFSMA 2004

est llment clef de la recherche dans les registres UDDI. Lattribut message fait rfrence la spcication WSDL et Xlang. Actuellement notre environnement supporte les capacits ncessitant un message dentre (i.e. une requte) et un ventuel message de sortie (i.e. une rponse). Description de linteraction : cette partie est facultative mais amliore les conditions de linteraction. Elle est compose dattributs statiques et dynamiques. Les attributs statiques dnissent les aspects de lexcution de la capacit connus a priori tels que les contraintes temporelles, la possibilit dannulation en cours dexcution, etc. Les valeurs des attributs dynamiques sont dtermines au moment de linteraction (e.g. la disponibilit de lagent, la qualit de service de la tche, etc). La dtermination des valeurs de ces attributs requiert un dialogue entre le service Web et lagent fournisseur de la capacit (ou ventuellement avec lenvironnement). Ainsi chacun de ces attributs doit inclure la manire dobtenir sa valeur. La version actuelle de notre prototype associe chaque attribut dynamique le message ncessaire sa rcupration. La gure 4 dcrit sur la gauche un extrait de la description dune capacit et sur la droite un extrait du service Web gnr.

Figure 4. Exemple de rsultat de lalgorithme de synthse Le service Web gnr est un service Web dcrit en Xlang. Linvocation dune capacit comporte deux phases : une phase de ngociation au cours de laquelle les agents entament une interaction an de rcuprer les informations sur les attributs statiques et dynamique et une deuxime phase lie lexcution de la capacit. 1) Phase de ngociation : Elle dbute par une rception dun message de demande dinteraction. Une fois ce message reu, le service rcupre les valeurs des attributs dynamiques. Selon ces valeurs, deux cas sont alors possibles : soit linteraction est possible et le service envoie un message contenant les caractristiques de la capacit

Interoprabilit des systmes multi-agents

101

soit le service envoie un message informant que linteraction est actuellement impossible. Voici un exemple relativement gnrique de cette phase (en utilisant la syntaxe XLANG introduite prcdemment). negociation :?o[demande_interaction]; switch(!o[attributs]; execution, !o[rejet]) 2) Phase dexcution : La structure mme du service XLANG (appel execution dans lexemple prcdent) dpend de la description de la capacit. Linteraction ncessaire lexcution de la capacit est encapsule dans un bloc context gard par des vnements gnrs partir des attributs tels quun message dannulation pour les capacits quon peut avorter en cours dexcution, un dlai qui reprsente le temps consacr lexcution de la capacit, etc. Le corps du context est constitu par les ux de messages de lexcution de la capacit. En voici un exemple. : execution : context[?o[invocation]; switch(!o[resultat]; !o[probleme]), [pick[(annulation, !o[avorte]), (delai_max, !o[timeout])] Pour chaque description de capacit un service Web est dploy et publi. Lalgorithme de synthse gnre le service Web correspondant aux deux phases et le chier WSDL contenant tous les messages ncessaires et les oprations WSDL. Le chier Xlang est ensuite gnr de manire dynamique comme dcrit prcdemment. Les chiers WSDL et Xlang ainsi que le chier de description de la capacit sont publis sur un registre UDDI.

4. Exprimentation sur CLAIM et SyMPA Nous prsentons maintenant le processus dintgration de la plate-forme SyMPA (qui supporte des agents CLAIM) an de valider notre approche. CLAIM [FAL 03] est un langage dclaratif de programmation oriente agent qui combine des lments cognitifs, spciques aux agents intelligents, des primitives de communication et des primitives de mobilit inspires du calcul des ambients [CAR 98]. CLAIM permet la conception et limplantation de SMA distribus, situs sur des ordinateurs (sites) connects via un rseau. Un agent CLAIM a des composantes cognitives, comme les connaissances (sur les autres agents et sur le monde), les buts et les capacits qui permettent un comportement ractif ou un comportement orient but. Les agents dnis en CLAIM satisfont les exigences prcdemment dnies (voir 3.2). Ils sont guids par des buts, qui peuvent tre atteints au moyen des capacits. Linvocation dune capacit est dclenche par la rception dun message si une condition (optionnelle) est vrie. Lexcution dune capacit engendre des effets, sorte de post-condition. Les connaissances, les buts, les messages, les conditions et les effets des capacits sont reprsents comme des propositions ayant un nom (prdicat) et une liste de paramtres ou darguments. Le langage est support par une plate-forme

102

JFSMA 2004

dagents mobiles, appele SyMPA8 [SUN 04]. Le processus dintgration consiste dvelopper une couche supplmentaire SyMPA pour linterfacer avec le module dinteroprabilit Publication des capacits dun agent CLAIM en tant que service Web Nous avons dabord dvelopp une mthode qui partir dune capacit CLAIM gnre sa description au format Web-MASI. Ainsi, le message, la condition et leffet de la capacit sont pris en compte. Lintgration de la phase de publication sest limite ensuite lajout dun appel de cette mthode par lagent. Les capacits CLAIM nont pas des attributs dynamiques et sont atomiques (ne peuvent pas tre interrompues). Par contre, la pr-condition dune capacit est prise en compte dune part par lattribut ponyme qui indique au client la possibilit dun chec et dautre part dans la description UDDI qui contient les propositions reprsentant leffet de la capacit et la pr-condition. Recherche dun service selon un critre Sans le module dinteroprabilit, CLAIM offrait aux agents des mcanismes pour prsenter leurs capacits ou pour chercher des capacits provenant dautres agents CLAIM. Nanmoins, ces mcanismes ne sont pas implicites et chaque programmeur peut les intgrer ou non ses agents. Grce au module dinteroprabilit, un agent peut publier ses capacits et il peut demander des services dautres agents (provenant dautres plates-formes). Quand un agent essaie de satisfaire ses buts, un module (originel) de SyMPA va dabord vrier sil a des capacits qui lui permettent de latteindre. Dans le cas contraire, il poursuit sa recherche auprs dautres agents CLAIM. Nous avons ajout un troisime type de recherche (par le biais du module dinteroprabilit) dun service Web dont la description permet de dduire quil achvera leffet escompt. De plus, nous avons dot un agent CLAIM dun module de slection dun service selon des critres propres lagent. Invocation dun service Web Quand un agent CLAIM a choisi un service il fait appel au module dinteroprabilit pour linvoquer. Nous avons aussi dot les agents CLAIM de la possibilit dinvoquer directement un service Web dont ils connaissent la description WSDL. Excution dun service correspondant une capacit dun agent Nous navons rien modi ce niveau en SyMPA. Ce sont des lments crs pendant ltape de publication qui ont une inuence directe sur lexcution dune capacit publie. Quand un service dploy sur un serveur Web (dans ltape de publication) reoit un message SOAP dinvocation, il doit transmettre cette invocation, dans un format CLAIM, lagent concern. Si la condition de la capacit est vrie, lagent excute les processus correspondants. Aprs lexcution, le rsultat (y compris leffet ralis) est envoy par le service Web au module dinvocation qui la demand. Ce module envoie son agent un message CLAIM pour linformer de la ralisation de leffet.

8. Systme multi-plateforme dagents : compatible avec les spcications du standard MASIF de lOMG.

Interoprabilit des systmes multi-agents

103

En conclusion, lutilisation du module dinteroprabilit pour CLAIM et SYMPA sest avre relativement facile. Cette utilisation a nanmoins impliqu le dveloppement de petits modules de conversion entre le format Web-MASI et le format CLAIM et linsertion dans le code des agents dappels aux API fournies.

5. Conclusion et perspectives Dans ce papier nous avons prsent un cadre conceptuel et architectural, fonde sur les services Web, pour linteroprabilit des SMA htrognes. Lenvironnement dinteroprabilit propos, Web-MASI, est compos de deux lments : une architecture qui encapsule les SMA dans le modle de fonctionnement des services Web et un module dinteroprabilit qui constitue linterface entre les SMAs et lenvironnement services Web. Ce travail ouvre des nombreuses perspectives. Dans un premier temps nous allons tester notre environnement dinteroprabilit sur dautres SMA. Ensuite nous allons tendre lalgorithme de synthse ainsi que la grammaire de description an de reprsenter des capacits complexes. Enn, nous envisageons dintgrer des ontologies DAML-S dans la description smantique des buts des agents.

6. Bibliographie
[BEL 99] B ELLIFEMINE F., P OGGI A., R IMASSA G., JADE :A FIPA-compliant agent framework , in Proceedings of PAAM, London, 1999, p. 97-108. [BEN 01] B ENATALLAH B., D UMAS M., FAUVET M., R ABHI F., Towards Patterns of Web Services Composition , rapport, November 2001, Technical Report UNSW-CSE-TR-0111, The University of New South Wales Sydney, Australia. [BOO 03] B OOTH D., H AAS H., M C C ABE F., N EWCOMER E., Web Services Architecture , aout 2003, http ://www.w3.org/TR/2003/WD-ws-arch-20030808/. [CAR 98] C ARDELLI L., G ORDON A., Mobile Ambients , Foundations of Software Science and Computational Structures, LNAI, vol. 1378, 1998, p. 140-155. [CUR 01] C URBERA F., NAGY W. A., W EERAWARANA S., Web Services : Why and How ? , OOPSLA 2001 Workshop on Object-Oriented Web Services, , 2001. [FAL 03] FALLAH -S EGHROUCHNI A. E., S UNA A., An Unied Framework for Programming Autonomous, Intelligent and Mobile Agents , LNAI, vol. 2691, 2003, p. 353-362. [FLO 99] F LORES -M ENDEZ B. R. A., Standardization of Multi-Agent System Frameworks , ACM Crossroads, 5(4), , 1999, ACM Press. [HAD 04] H ADDAD S., M ELLITI T., M OREAUX P., R AMPACEK S., Modelling Web Services Interoperability , Proceedings of the Sixth International Conference on Entreprise Information Systems, Porto, Portugal, 2004, p. 287295. [HOR 01] H ORROCKS I., VAN H ARMELEN F., PATEL -S CHNEIDER P., B ERNERS -L EE T., B RICKLEY D., C ONNOLLY D., M. D EAN S. D., F ENSEL D., H AYES P., H EFLIN J., H ENDLER J., L ASSILA O., M C G UINNESS D., S TEIN L., DAML+OIL , Mars 2001, http ://www.daml.org/2001/03/daml+oil-index.

104

JFSMA 2004

[JIN 03] J IN T., G OSCHNICK S., Utilizing Web Services in an Agent Based Transaction Model (ABT) , Workshop on Web services And Agent-based ingineering, Melbourne, Australia, 2003. [LAB 99] L ABROU Y., F ININ T., P ENG Y., Agent Communication Languages : The Current Landscape , IEEE Intelligent Systems, vol. 14, no 2, 1999, p. 4552. [LAU 03] L AUKKANEN M., H ELIN H., Composing Workows of Semantic Web Services , Workshop on Web services And Agent-based ingineering, Melbourne, Australia, 2003. [LYE 02] LYELL M., Interoperability, standards, and software agent systems , 23rd Army Science Conference, 2002. [LYE 03] LYELL M., ROSEN L., C ASAGNI -S IMKINS M., N ORRIS D., On Software Agents and Web Services : Usage and Design Concepts and Issues , Workshop on Web services And Agent-based ingineering, Melbourne, Australia, 2003. [MOS 03] M OSTEFAOUI S. K., M OSTEFAOUI G. K., Towards A Contextualisation of Service Discovery and Composition for Pervasive Environments , Workshop on Web services And Agent-based ingineering, Melbourne, Australia, 2003. [NWA 99] N WANA H. S., N DUMU D. T., L EE L. C., C OLLIS J. C., ZEUS : a toolkit and approach for building distributed multi-agent systems , Proceedings of the Third International Conference on Autonomous Agents (Agents99), Seattle, WA, USA, 1999, ACM Press, p. 360361. [PET 03] P ETRONE G., Managing exible interaction with Web Services , Workshop on Web services And Agent-based ingineering, Melbourne, Australia, 2003. [RIC 03] R ICHARDS D., VAN S PLUNTER S., B RAZIER F. M., S ABOU M., Composing Web Services using an Agent Factory , Workshop on Web services And Agent-based ingineering, Melbourne Australia, 2003. [SHE 03] S HESHAGIRI M., DES JARDINS M., F ININ T., A Planner for Composing Services Described in DAML-S , Workshop on Web services And Agent-based ingineering, Melbourne, Australia, 2003. [SIV 03] S IVASHANMUGAM K., V ERMA K., S HETH A. P., M ILLER J. A., Adding Semantics to Web Services Standards , Proceedings of the International Conference on Web Services ICWS 03, June 23 26, 2003, Las Vegas, Nevada, USA, CSREA Press, 2003, p. 395-401. [SOA 00] SOAP, Simple Object Access Protocol (SOAP) 1.1 , rapport, may 2000, World Wide Web Consortium, http ://www.w3.org/TR/SOAP/. [STA 03] S TAAB S., VAN DER A ALST W., B ENJAMINS V. R., S HETH A., M ILLER J. A., B USSLER C., M AEDCHE A., F ENSEL D., G ANNON D., Web Services : Been There, Done That ? , IEEE Intelligent Systems : volume 18, , 2003, p. 72-85. [SUN 04] S UNA A., FALLAH -S EGHROUCHNI A. E., A mobile agents platform ; architecture, mobility and security elements , ProMAS04, workshop dAAMAS, , 2004. rapport, [UDD 02] UDDI, Universal Description, Discovery and Integration , mar 2002, OASIS UDDI Specication Technical Committee, http ://www.oasisopen.org/cover/uddi.html. [WSD 01] WSDL, Web Services Description Language (WSDL) 1.1 , rapport, mar 2001, World Wide Web Consortium, http ://www.w3.org/TR/wsdl.

You might also like