VERS UNE ARCHITECTURE A BASE D AGENTS POUR UNE COMPOSITION SEMANTIQUE ET DYNAMIQUE DES SERVICES WEB DANS UN CONTEXTE D EBXML



Documents pareils
Une méthode d apprentissage pour la composition de services web

Propriétés du Document EMA. Résumé

Problématiques de recherche. Figure Research Agenda for service-oriented computing

Formula Negator, Outil de négation de formule.

Gouvernance IT : par où commencer? Hubert Lalanne DE, Chief Architect for Industries IBM Software France

CURRICULUM VITAE. Informations Personnelles

Francis BISSON ( ) Kenny CÔTÉ ( ) Pierre-Luc ROGER ( ) IFT702 Planification en intelligence artificielle

Intelligence Artificielle Planification

Une architecture pour la découverte et l orchestration de services Web sémantiques

Application de K-means à la définition du nombre de VM optimal dans un cloud

Génie logiciel (Un aperçu)

Environnement collaboratif multimodal pour Communauté Virtuelle à la puissance GRID

Offre de thèse. Co-encadrant de thèse : HENRY Sébastien Coordonnées électroniques : Sébastien.Henry@univ-lyon1.fr Laboratoire : DISP (

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.

Un système multi-agents sensible au contexte pour les environments d intelligence ambiante

Ingénierie et gestion des connaissances

Une proposition d extension de GML pour un modèle générique d intégration de données spatio-temporelles hétérogènes

Programmation de services en téléphonie sur IP

Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Chronogrammes et contraintes. à la modélisation de systèmes dynamiques à événements

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

Analyse,, Conception des Systèmes Informatiques

Utilisation des tableaux sémantiques dans les logiques de description

Business Process Management

Curriculum Vitae - Emmanuel Hebrard. Emmanuel Hebrard

Retour d expériences avec UML

IFT2255 : Génie logiciel

Linked Open Data. Le Web de données Réseau, usages, perspectives. Eric Charton. Eric Charton

Accélérer la transformation de vos nouveaux modèles assurances

Programmation d'agents intelligents Vers une refonte des fils de raisonnement. Stage de fin d'études Master IAD 2006

MATHEMATIQUES ET SCIENCES POUR L INGENIEUR

Évaluation d une architecture de stockage RDF distribuée

Pascal Forget 2310, Avenue Notre-Dame Québec, (Québec) Canada, G2E 3G5 Tél. (418) Fax (418)

Equilibrage de charge (Load

Un environnement de déploiement automatique pour les applications à base de composants

An Ontology-Based Approach for Closed-Loop Product Lifecycle Management

IBM Business Process Manager

Composants génériques de calcul scientifique

Infrastructure PLM pour la capitalisation et la réutilisation de données en conception mécanique

Adaptabilité d un MOOC aux styles d apprentissage. Hubert Kadima Directeur de Recherche LARIS/EISTI hubert.kadima@eisti.fr

Alimenter un entrepôt de données par des données issues de services web. Une approche médiation pour le prototype DaWeS

Je catalogue, tu FRBRises, il/elle googlise. L évolution des catalogues et les bibliothécaires Vendredi 29 mars 2013 Manufacture des tabacs

Brève introduction à la recherche d!information sur le Web à base d!agents logiciels

Déterminer les enjeux du Datacenter

Curriculum Vitae 1 er février 2008

AGATHE : une architecture générique à base d agents et d ontologies pour la collecte d information sur domaines restreints du Web

Colloque Du contrôle permanent à la maîtrise globale des SI. Jean-Louis Bleicher Banque Fédérale des Banques Populaires

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Big Data et Graphes : Quelques pistes de recherche

Structuration des décisions de jurisprudence basée sur une ontologie juridique en langue arabe

Architecture à base de composants pour le déploiement adaptatif des applications multicomposants

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Élasticité des applications à base de services dans le Cloud

Laboratoire 4 Développement d un système intelligent

Solution intégrée de gestion des temps et des absences. Kelio Integral R2

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

Modèle multi-agents de prise de décision éthique

Un Service Internet du Futur pour le suivi des voyages multimodaux

UML est-il soluble dans les méthodes agiles?

Auto-explication des Chorégraphies de Services

Business Process Modeling (BPM)

Le pilotage des collaborations et l interopérabilité des systèmes d information Vers une démarche intégrée

Eclipse Process Framework et Telelogic Harmony/ITSW

Solution intégrée de gestion des ressources humaines. Kelio Integral

Notice biographique Repères biographiques communs. Nom : NURCAN Prénom : SELMIN Section : 27. Centre de Recherche en Informatique (CRI)

Définition et diffusion de signatures sémantiques dans les systèmes pair-à-pair

Participer à l activité en ligne d un groupe. Michel Futtersack, Faculté de Droit, Université Paris Descartes, Sorbonne Paris Cité

DéSIT Démarche d ingénierie pour les Systèmes d Information Transport ambiants, sécurisés et personnalisables

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

Semestre 1. Objectifs Approfondissement de l environnement Java et de son interface de programmation d applications : réseaux, et processus.

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)*

Foire aux questions. 2. Quand MusicMark a- t- elle été lancée?

Forthcoming Database

Chapitre 5 Vision Informatique Logique Architectures Applicative et Logicielle

Visual Paradigm Contraintes inter-associations

Solution intégrée de gestion des ressources humaines. Kelio Integral

Introduction au projet ebxml. Alain Dechamps

Ordonnancement temps réel

PLAN DE COURS. GPA750 Ordonnancement des systèmes de production aéronautique

Livre Blanc Oracle Novembre Le Bureau des Projets (PMO) : un levier stratégique de création de valeur pour l industrie

Introduction MOSS 2007

Vérification formelle de la plate-forme Java Card

SHAREPOINT PORTAL SERVER 2013

Le terme «ERP» provient du nom de la méthode MRP (Manufacturing Ressource Planning) utilisée dans les années 70 pour la gestion et la planification

OSIATISBIZ UN SERVICE DESK HORS DU COMMUN EQUANT SOLUTIONBIZ PARTAGEONS NOS SAVOIRS EXTRAIT DU Nº9

Big Data et Graphes : Quelques pistes de recherche

Modélisation multi-agent d allocation des ressources : application à la maintenance

Plan de cours ADM 992C Page 1. École des sciences de la gestion Département de management et technologie Université du Québec à Montréal

FOURNIR UN SERVICE DE BASE DE DONNÉES FLEXIBLE. Database as a Service (DBaaS)

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Les attentes du marché

DESCRIPTIF DE MODULE S5 GSI

La vie privée à l ère du numérique : approches philosophiques et informatiques

Sujet de thèse CIFRE RESULIS / LGI2P

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

Ordonnancement en temps réel d un jobshop par métaheuristique hybride : étude comparative

Transcription:

8 e Conférence Internationale de MOdélisation et SIMulation - MOSIM 10-10 au 12 mai 2010 - Hammamet - Tunisie «Evaluation et optimisation des systèmes innovants de production de biens et de services» VERS UNE ARCHITECTURE A BASE D AGENTS POUR UNE COMPOSITION SEMANTIQUE ET DYNAMIQUE DES SERVICES WEB DANS UN CONTEXTE D EBXML O.HIOUAL, Z.BOUFAIDA Laboratoire LIRE, Université Mentouri de Constantine, Algérie Laboratoire LIRE, Université Mentouri de Constantine, Route Ain ElBey, 25000, Algérie ouassilahioual@yahoo.fr, zboufaida@gmail.com RESUME L'avènement des services Web comme une technologie incontournable et leur utilisation dans le monde industriel, posent de nouveaux problèmes. En effet, quand les services web existant ne répondent pas aux besoins des utilisateurs, leur composition, même si cette opération est très complexe, pourrait apporter des solutions intéressantes. La planification distribuée peut être exploitée pour composer dynamiquement ces services web. Dans cet article, nous proposons une architecture multi-agents, permettant de composer des services Web en cas de nécessité, conformément à la spécification fonctionnelle d ebxml. Cette architecture définit plusieurs niveaux de responsabilité. La méthode de composition dynamique des services Web que nous proposons s appuie sur la synthèse dialectique de plans. Les agents managers (services Web) proposent leurs compétences à l agent compositeur afin de réaliser les objectifs fixés par l utilisateur, en émettant, si nécessaire, des hypothèses sur les données manquantes. MOTS-CLES : Système multi-agents, Services Web, composition sémantique, composition dynamique, ebxml, planification. 1 INTRODUCTION L intérêt des services Web est de permettre à une entreprise d exporter, via le réseau Internet, ses compétences et son savoir-faire, ou encore d ouvrir de nouveaux marchés et de nouveaux supports à la vente. Inversement, ces services Web permettent aux entreprises d utiliser à moindre frais les compétences et le savoir-faire des autres entreprises. Mais pour exploiter au maximum les avantages de ce nouveau type d applications, la communauté des services Web doit se doter d outils donnant la possibilité de pouvoir assembler différents services entre eux. Cet assemblage a pour but, d effectuer des tâches qu un simple service Web ne saurait résoudre. C est la composition des services Web. Le résultat de cette composition est un enchaînement de services qui permet de définir la façon dont les données calculées par les uns sont consommées par les autres. Il existe deux grands courants de composition de service Web. Le premier, principalement utilisé par le monde industriel, permet de définir des procédés réutilisables sous la forme d orchestration et de chorégraphie en utilisant des langages de gestion de procédés. Le second courant cherche à définir un enchaînement dynamique de services Web permettant de résoudre un but spécifique fourni par l utilisateur, en tenant compte de ses préférences. Cette composition dynamique s appuie principalement sur des techniques d intelligence artificielle. La littérature ([Pistore M. et al., 2004], [Pistore M. et al, 2005a], [Pistore M. et al., 2005b]) montre que la planification automatique est un outil intéressant pour construire des compositions dynamiques et automatiques des services Web. Cependant, toutes les architectures proposées reposent sur une centralisation de la composition. L objectif de ce papier est de proposer une architecture à base d agents permettant de composer dynamiquement les services web stockés dans un registre ebxml Le modèle de composition que nous proposons, s appuyant sur la planification multi-agents, est inspiré de celui de [Guitton J., 2006] et [Pellier D., and H. Fiorino, 2009]. Selon [Pellier D., and H. Fiorino, 2009], les caractéristiques d un service Web sont proches de celles d un agent dans le cadre de la planification multi-agent : il est autonome et peut communiquer avec d autres services Web. De plus, il est possible, en lui ajoutant une description sémantique de ses fonctionnalités, de raisonner sur ses capacités. Il existe deux approches de la planification distribuée. Dans la première, chaque agent produit un plan. Le but est de coordonner ces différents plans afin d éviter les conflits : c est la coordination de plans. Dans la seconde approche, le but est de permettre aux agents de coconstruire un plan en tenant compte des compétences de chaque agent au fur et à mesure de la co-construction : c est la synthèse dialectique de plans. Dans cette approche, les agents ont la possibilité d émettre des hypothèses afin de ne pas bloquer le processus

dialectique lorsqu ils se trouvent dans une situation de blocage. La méthode de composition dynamique de services Web que nous proposons s appuie sur la synthèse dialectique de plans. Les agents managers (services Web) proposent leurs compétences à l agent compositeur afin de réaliser les objectifs fixés par l utilisateur, en émettant, si besoin, des hypothèses sur les données manquantes. Cet article est organisé comme suit : dans la section 2, nous présentons différents travaux traitant de la composition de services web ; dans un deuxième temps, nous présentons la problématique et les objectifs visés par notre recherche ; puis nous introduisons l architecture générale à base d agents et un exemple introductif, qui sert de fil conducteur à la présentation de notre architecture et modèle de composition de services web par planification, avant de détailler son fonctionnement et l architecture de chaque agent qui la compose. Nous terminons par une conclusion. 2 TRAVAUX CONNEXES L étude de la composition des services web est traitée par plusieurs communautés scientifiques ([Benatallah B. et al., 2005]; [Benatallah B. et al., 2003]; [Jayadev M., and C. William, 2007]). Deux grandes familles de techniques émergent: les techniques de composition dites «statiques», définies à l aide de processus métier (orchestration et chorégraphie) et les techniques de composition dites «dynamiques», dans lesquelles la composition de services Web tient compte des services disponibles, de leurs fonctionnalités et du but à atteindre avant ou pendant leur l exécution. Les techniques de compositions dynamiques peuvent elles-mêmes être regroupées en deux sous familles : les techniques utilisant une approche basée sur les workflows (processus métier) et celles basées sur des techniques d intelligence artificielle. Ces dernières années, de nombreux travaux ont porté sur l automatisation et la dynamicité de la composition des services ([Sheshagiri M. et al., 2003]; [Milanovic N., and M. Malek, 2004]; [Guitton J., 2006]; [Bourdon J., 2007]). Ils trouvent leur justification dans l évolution constante de l offre de services en ligne ainsi que leurs propriétés non fonctionnelles. Ceci rend toute description experte de la composition difficile à maintenir. La composition dynamique des services web est d adapter la composition aux attentes de l utilisateur et donc de ne pas le contraindre par une composition à priori. Elle permet aussi de faire d Internet une zone de compétences composables et évolutives. Dans cet article, nous nous intéressons aux travaux orientés intelligence artificielle basée sur la planification automatique. Ceux-ci s appuient essentiellement sur la planification classique ([Sheshagiri M. et al., 2003], [Jayadev M., and C. William, 2007], [Singh M., and M. Huhns, 2005], [Sirin E., J. Hendler and B. Parsia, 2002] et [Peer J., 2004]), la planification basée sur les règles ([Medjahed B. et al., 2003]) et la planification hiérarchique ([Wu D. et al., 2003]). La plupart de ces travaux ont mis en avant le fait que la description syntaxique (WSDL) des services n est pas suffisante et ont proposé des solutions basées sur une description sémantique (OWL-S). La planification collective, dans un contexte multiagents, est également une solution prometteuse du fait de la correspondance entre la notion de processus atomique et composite de OWL-S et celle d opérateur et de méthode dans la planification. L objectif est d avoir des agents capables de collaborer pour réaliser un but commun. En planification distribuée, le domaine de planification est réparti sur l ensemble des agents. Chaque agent est capable de réaliser un certain nombre d actions : ses compétences. C est la mise en commun et l ordonnancement des compétences de chaque agent, dans le but de résoudre un problème donné, qui va permettre de faire émerger un plan solution. Ce type de planification est celui qui nous intéresse le plus, pour construire le modèle de composition des services web dans l architecture à base d agents proposée. La particularité de notre modèle réside dans le fait que l aboutissement à un plan solution n est pas totalement distribué car nous utilisons un agent dit compositeur permettant de collaborer avec les différents agents managers (services Web retenus). L idée est qu il existe toujours un agent capable de superviser l état d avancement du processus de composition et de pouvoir localiser le problème en cas d échec. 3 PROBLEMATIQUES ET OBJECTIFS La composition de services Web a pour but de produire une description spécifiant une séquence d appels à des services ainsi que la façon dont ces services sont liés entre eux, dans le but de résoudre un objectif donné. Cette opération se déroule en trois étapes : 1. les services Web sont recherchés et sélectionnés à partir d un annuaire UDDI (dans notre cas du registre ebxml) en fonction des besoins à réaliser ; 2. la composition est effectuée en utilisant la description sémantique des services sélectionnés ; 3. une description du service composite, c est-à-dire, l enchaînement des appels aux services sélectionnés, est créée. Puisque nous nous sommes intéressés, dans un premier travail de recherche, à la négociation des paramètres des CPP d ebxml [Hioual O., and Z. Boufaida, 2006], nous avons choisi les services Web du registre ebxml comme continuité à notre domaine de recherche. L objectif de notre travail est d ajouter un composant à la spécification fonctionnelle d ebxml dont le rôle est de : - Rechercher, sémantiquement, des services Web répondant aux besoins de l entreprise cliente.

- Combiner, sémantiquement, des services Web pour répondre aux besoins de l entreprise cliente. Pour atteindre cet objectif, il est nécessaire de définir une ontologie relative au domaine d ebxml, de proposer un modèle de composition sémantique et dynamique des services Web, et d exploiter les techniques d appariement sémantique. Dans cet article, nous nous intéressons principalement au modèle de composition des services Web. L ensemble des services web des entreprises utilisant ebxml pour participer à des marchés globaux, est regroupé dans un registre ou répertoire (Registry/Repository). Le problème de la composition des services Web dans un contexte ebxml apparaît: lors de la première phase du scénario de collaboration entre deux partenaires commerciaux (cf. Figure 1). Quand une entreprise cherchant un partenaire potentiel consulte le registre, le service demandé avec certains paramètres peut ne pas exister mais en même temps, il peut exister des services, qui combinés ensemble, peuvent répondre à ses besoins. Pour résoudre ce problème, nous proposons une architecture à base d agents, permettant de composer des services web, conformément à la spécification fonctionnelle d ebxml. Cette architecture définit plusieurs niveaux de responsabilité et utilise la planification classique avec synthèse dialectique de plans (planification sous hypothèse). Le modèle de composition de services Web permet de passer de l état initial à l état final afin de produire le plan solution, selon le domaine de planification. Figure 1 : Interaction entre deux partenaires selon ebxml [ebxml, 2003] 4 L ARCHUTECTURE PROPOSEE Avant de présenter l architecture proposée, il convient d introduire quelques définitions nécessaires à la compréhension de son fonctionnement ainsi que celui du modèle de composition proposé. 4.1 Quelques définitions préliminaires Définition.4.1 (Opérateur) Les opérateurs de planification sont définis comme des fonctions de transition au sens classique (Ghallab et al., 2004) : actions instantanées, statiques, déterministes et observabilité totale. Un opérateur peut être défini par le quadruplet : o = (name(o), precond(o), add(o), del(o)) name(o), le nom de l opérateur, est défini par une expression de la forme n(x1,..., xk) où n est un symbole d opérateur et x1,..., xk représentent les paramètres de l opérateur. precond(o) représentent les préconditions de l opérateur o, c est-à-dire, les propriétés du monde nécessaires à son exécution. add(o) et del(o) définissent deux ensembles de propriétés décrivant respectivement les faits à ajouter et les faits à supprimer de l état du monde après l exécution de o. Définition.4.2 (Action) Une action est une instance d un opérateur. Si a est une action et s i un état tel que precond + (a) s i et precond (a) Ι s i = alors a est applicable à s i, et le résultat de cette application est l état : s i+1 = γ(s i, a) = (s i effets (a)) Υ effets + (a) Les pré-conditions positives (precond + ) expriment les propriétés qui doivent être vérifiées pour qu une action puisse être appliquée. Les pré-conditions négatives (precond - ) expriment celles qui doivent être absentes de l état pour que l action soit appliquée. Les effets d un opérateur spécifient les propriétés, du monde, modifiées par l exécution d une action. D un point de vue formel, si une action est définie par un opérateur qui transforme un état s i en un état s i+1, les effets d une action sont représentés par les propriétés ajoutées (effets + ) et les propriétés enlevées (effets ) à l état s i pour obtenir l état s i+1. Définition.4.3 (Domaine de planification) En planification, un domaine définit l ensemble des opérateurs qui peuvent s appliquer sur le monde. Un problème doit spécifier l état initial ainsi que le but à atteindre. Un domaine D de L est un système de transition d états restreint Σ= (S, A,γ ) tel que : - S = 2 {les atomes instanciés de L} - A = {l ensemble des opérateurs instanciés de O} où O est l ensemble des opérateurs - γ(s, a) = (s effets (a)) Υ effets + (a) si a A et a est applicable à s S.

Il reste maintenant à définir un problème de planification. Un problème doit spécifier les états initiaux des croyances des agents, les opérateurs et méthodes qu ils peuvent appliquer ainsi que le but qu ils doivent réaliser. Le but est représenté par un ensemble de propositions décrivant les propriétés du monde qui doivent être vérifiées. Définition.4.4 (Problème de planification) Un problème P pour un domaine D est un triplet P = (O, s 0, g) où : - s 0, l état initial, est un état quelconque de S ; - g, le but, définit un ensemble cohérent de prédicats instanciés, c est-à-dire, les propriétés du monde devant être atteints ; - O est l ensemble des opérateurs applicables. Nous faisons l hypothèse restrictive que l union des croyances des agents d un problème de planification est cohérente (cas classique de la planification mono-agent), c est-à-dire, pour deux agents A et B, si une proposition p belief(a) alors p belief(b). Cependant, aucune hypothèse n est faite sur le possible partage de croyances entre les agents managers en termes de faits ou d opérateurs. 4.2 Présentation de l architecture proposée Comme le montre la figure 2, l architecture que nous proposons est une architecture à base d agents qui définit plusieurs niveaux de responsabilité. Quatre types d agents la composent : l agent re-constructeur de requête, l agent manager-raisonneur, l agent compositeur et un ensemble d agents manager. Selon les différents types d agents définis, notre architecture permet de définir plusieurs niveaux de responsabilité: - La responsabilité de construire sémantiquement la requête utilisateur assurée par l agent re-constructeur de requêtes en se basant sur l ontologie globale des BPs (Business Process), - La responsabilité d affecter une tâche à l agent compositeur ou directement à l agent manager assurée par l agent manager-raisonneur en se basant sur la vue globale qu il a sur le système, - La responsabilité de composer et coordonner l exécution du service composé assurée par l agent compositeur. - Et la responsabilité de représenter un service Web au moment de la composition assurée par l agent manager. Définition.4.5 (Plan solution) Un plan solution se définit comme un chemin dans un espace d états. Le passage d un état à l autre s effectue par l application d une action, c est-à-dire, un opérateur complètement instancié. Par conséquent, un plan solution pour un problème de planification P = (O, s 0, g) est une séquence d actions décrivant un chemin d un état initial s 0 à un état final s n. Tel que le but g soit inclus dans s n. Autrement dit, un plan π est une solution pour le problème P si γ(s 0,π) satisfait g. Définition.4.6 (Conjecture) Une conjecture est un tuple χ=(a, <, I, C) tel que : - A ={a 0,, a n } est un ensemble d actions. - < est un ensemble de contraintes d ordre sur les actions A de la forme ai<aj, c est-à-dire., a i précède a j. - I est un ensemble de contraintes d instanciation portant sur les variables des actions A de la forme x=y, x y ou x=cst tel que cst D x est D x est le domaine de x. - C est un ensemble de liens causaux de la forme p ai aj tels que a i et a j sont deux actions de A, la contrainte d ordre a i <a j existe dans<, la propriété p est un effet de a i et une précondition de a j et finalement les contraintes d instanciation qui lient les variables de a i et de a j portant sur la propriété p sont contenues dans I. Définition.4.7 (Hypothèse) Soit une conjecture χ=(a, <, I, C). Une hypothèse formulée par χ est définie comme une précondition p d une action a j A telle que pour toutes actions a i A, le p lien causal ai aj C. Figure 2 : Une architecture multi-agents pour la composition des services Web dans un contexte de ebxml [Hioual O., and Z. Boufaida, 2008] Un autre composant important permet de spécifier la sémantique des différents services Web existant au niveau du registre ebxml. Il s agit d une ontologie globale en langage OWL-S, pour l annotation sémantique de ces services. OWL-S est très riche et n impose que très peu de contraintes sur la manière d exprimer cette sémantique. Puisque notre travail est inspiré de celui de [Guitton J., 2006] et [Pellier D., and

H. Fiorino, 2009], nous avons fait un certain nombre d hypothèses et de restrictions sur ce dernier afin de faciliter le passage d une représentation sémantique vers un plan: - Les processus simples (Simple Processes) ne sont pas traités. En effet, ils correspondent uniquement à des abstractions de processus atomiques ou composites ; - OWL-S permet de tenir compte de l indéterminisme dû à l exécution d un service, c est-à-dire qu il laisse la possibilité de définir le résultat d un service Web en fonction de son comportement (succès, erreur ou absence de réponse) via l utilisation des classes ConditionalEffect et ConditionalOutput d OWL-S qui permettent de définir la condition sous laquelle un résultat est produit. Comme la composition a lieu avant l exécution du service, nous n autorisons la définition que d un seul résultat possible : le résultat correspondant au succès de l exécution du service ; - nous spécifions les pré-conditions et les effets des processus dans le formalisme STRIPS, (voir exemple cidessous), afin de permettre leur utilisation directement lors de la création du domaine ; <process:hasprecondition> <expr:kif-condition rdf:id="existtgv"> <expr:expressionbody rdf: datatype= "http://www.w3.org /2001/XMLSchema#string"> (ExistTGV?From?To) </expr:expressionbody> </expr:kif-condition> </process:hasprecondition> L architecture proposée dispose d un ensemble de sousontologies. Chaque sous-ontologie regroupe l ensemble des concepts d un certain type de services Web. Par exemple, une sous-ontologie i qui représente les services de réservation de tout type de transports, une autre qui regroupe les services Web de réservation d hôtels, etc. Nous avons pensé à cette décomposition pour améliorer le temps de réponse aux requêtes. 4.2.1 Rôle et tâches de chaque agent a. L agent manager s assure que la description d un service importé est consistante par rapport à la sousontologie en contrôlant, en particulier, ses opérations, ses entrées et ses sorties qui doivent être des concepts de la sous-ontologie correspondante. Il stocke l ensemble des descriptions OWL-S des services et les localisations de ses fournisseurs. Au moment de la composition, il correspond à un service Web. Il est initialisé avec la description sémantique du service et avec un ensemble de données lui permettant de raisonner. Par exemple, un agent représentant un service de réservation de transport ferroviaire dispose de la liste des trajets existants. Ces données forment la base de connaissances de l agent manager. A partir de la description sémantique, un agent manager va créer son domaine de planification qui regroupe, sous la forme de méthodes et d opérateurs extraits des processus de la description OWL-S, les actions réalisables par l agent, c est-à-dire, sa base de compétences. b. L agent re-constructeur de requête a pour tâche principale de reconstruire la «requête utilisateur» à partir des descriptions enregistrées au niveau de l ontologie globale des services Web. Celle-ci supporte en même temps les services atomiques et composés. Le résultat de cette tâche est un fichier OWL-S. c. L agent manager-raisonneur a pour rôle principal de vérifier si la requête représente la description d un service composé. Dans ce cas, l agent managerraisonneur invoque l agent compositeur, qui à son tour invoque les agents concernés par la requête. Par contre, si la requête utilisateur concerne un service atomique, l agent manager-raisonneur invoque directement l agent manager concerné puisqu il a une vue globale du système. d. L agent compositeur a pour rôle de coordonner et d assembler les agents manager afin d exécuter les opérations requises. Il initialise également le processus de composition en soumettant aux agents managers le but à réaliser sous la forme d une première conjecture qui représente le plan initial. 4.3 Exemple introductif Le scénario suivant permet d illustrer ce que nous attendons par composition automatique et dynamique: un enseignant X habite Constantine et doit se rendre à Dubai pour une conférence. Il décide d organiser son voyage par internet en faisant appel à deux services web. Chaque service est représenté par un agent manager : un agent Airways offrant un service de réservation de billets d avion et un agent Bank (représentant la banque de l enseignant X) qui est en charge de payer les différentes réservations que X sera amené à réaliser. Le problème que l utilisateur soumet à l interface utilisateur peut être résumé de la façon suivante : état initial : l utilisateur X est à Constantine. état final : l utilisateur X est à Dubai. Un plan possible résultant de la composition de ces deux services Web peut s exprimer, de façon informelle, ainsi: 1. Réserver l avion de Constantine à Alger. 2. Payer le billet d avion Constantine - Alger. 3. Réserver l avion d Alger à Dubai. 4. Payer le billet d avion Alger - Dubai. Imaginons maintenant le dialogue que les différents agents composant notre architecture pourraient construire pour que X puisse se rendre à sa conférence : X : «Je suis à Constantine et je dois me rendre à Dubai. Pouvez-vous m aider?» Agent manager-raisonneur : «Je ne peux pas te répondre sur place, je vais voir avec l agent compositeur.»

Agent compositeur : «En ce qui me concerne, je vais invoquer les deux agents manager Airways et Bank.» Airways : «En ce qui me concerne, je peux emmener l utilisateur X à Dubai à condition qu il soit capable de se rendre à Alger et bon je peux l emmener à Alger à condition qu il me paies la somme de 6500DA pour se rendre à Alger et la somme de 200.000,00DA pour se rendre à Dubai» Bank : «Parfait, je crois que nous tenons la solution à X Je peux payer la somme de 206500,00 DA, le compte de X est créditeur.» Le plan solution est donc : «Prendre l avion de Constantine à Alger puis un vol d Alger à Dubai.» Sa construction repose sur une planification centralisée de l agent compositeur avec la coopération de plusieurs agents planificateurs (agents manager). 4.4 Le modèle de composition Au moment du processus de composition, chaque agent manager représente un service retenu appartenant à la sous-ontologie qu il gère. Au moment de la composition, son but est de simuler l exécution du service. Cet agent est une entité autonome qui contient un planificateur et qui est capable de communiquer avec l agent compositeur dans le but de co-construire un plan d exécution des services Web. Le modèle que nous proposons s appuie sur une architecture multi-agents dont les agents manager représentent les services Web. Les agents managers sont initialisés avec la description sémantique du service et avec une base de connaissances. La description OWL-S permet de définir le domaine de planification de l agent tandis que la base de connaissances apporte les connaissances qui seront nécessaires à l agent pour raisonner. Notre modèle s appuie sur la synthèse dialectique de plans proposé par [Pellier D., 2005] avec centralisation de prise de décision (agent compositeur) : les agents managers échangent les propositions, avec l agent compositeur, sous forme de sous-conjectures afin de construire un plan solution. Ce modèle est constitué de trois phases : la création du domaine de planification de chaque agent manager au moment de leur initialisation, le raffinement des conjectures proposées et envoyées à l agent compositeur et la communication entre l agent compositeur et les agents managers, c est-à-dire, la soumission d une nouvelle conjecture aux autres agents suite au raffinement d une conjecture. 4.4.1 Initialisation des agents managers et de l agent compositeur Chaque agent manager correspond à un service Web retenu. Il est initialisé avec la description sémantique du service et avec un ensemble de données permettant à l agent manager de raisonner. Par exemple, un agent représentant un service de réservation de transport ferroviaire dispose de la liste des trajets existants. Ces données forment la base de connaissances de l agent manager. L agent compositeur est initialisé avec la description sémantique de la requête utilisateur récupérée auprès de l agent manager-raisonneur, et un ensemble de données lui permettant de raisonner. 4.4.2 Création de la base de compétences A partir de la description sémantique, les agents manager créent leur domaine de planification qui regroupe, sous la forme de méthodes et d opérateurs extraits des processus de la description OWL-S, les actions réalisables par les agents, c est-à-dire, leur base de compétences. a. Création du domaine de planification à partir de la description sémantique d un service Web Le modèle de processus OWL-S décrit de manière déclarative les propriétés et le comportement d un service Web. La traduction de la description sémantique d un service vers un domaine de planification consiste à représenter les processus OWL-S sous forme d opérateurs et de méthodes. L algorithme de traduction que nous utilisons est celui de [Guitton J., 2006].Cet algorithme prend en entrée une description OWL-S. La propriété «DescribedBy», qui signifie qu un service est décrit par un processus, permet d obtenir «le point d entrée» de la description, c est-à-dire, le premier processus à traduire. L algorithme de traduction utilisé est un algorithme récursif. Son principe est de transférer le premier processus en un opérateur si ce dernier est un processus atomique, sinon il traduit récursivement les processus intervenants dans les structures de contrôle de ce processus composite, puis crée la méthode correspondante. Exemple1. Par exemple, le processus atomique suivant : <process:atomicprocess rdf:id="agenthotelreservation">... </process:process>. permet de définir l opérateur suivant :.. ; (:operator (!AgentHotelReservation...)... ) Puis les préconditions et les effets du processus atomique sont ajoutés à l opérateur correspondant. Exemple 2. Exemple d une méthode correspondante à un processus composite : (:method (AgentFlightReservation?AFR_From?AFR_Date?AFR_To?AFR_CC) (... ) ( (!SearchFlight?AFR_From?AFR_To?AFR_Date)

(!MakeReservation?FlightID?AFR_CC) ) ) Cet algorithme règle aussi les problèmes de gestion des pré-conditions, des effets et d ajout de buts à atteindre. 4.4.3 Raffinement des conjectures Un agent manager va raisonner, suite à la conjecture reçue auprès de l agent compositeur, à partir de ses compétences (c est-à-dire, les actions qu il est capable de planifier) et de ses connaissances pour résoudre les buts contenus dans cette conjecture : il va la raffiner en y ajoutant une sous-conjecture, c est-à-dire, une suite d actions, ou en ajoutant des liens causaux. Un agent manager peut raffiner une conjecture en émettant des hypothèses sur les propriétés qu il ne connaît pas. Ces hypothèses forment de nouveaux buts à résoudre pour les autres agents manager au travers de l agent manager qui va formuler des nouvelles conjectures. 4.5 Architecture d un agent compositeur sur ii) le gestionnaire de dialogue pour soumettre les propositions aux agents. b. Le tableau de stockage Le tableau de stockage sert de support au dialogue en enregistrant les sous-conjectures proposées par les différents agents managers. c. Le gestionnaire de dialogue Le gestionnaire de dialogue est le module qui permet d échanger les propositions entre l agent compositeur et les agents managers. 4.6 Architecture d un agent manager Un agent manager est composé de deux modules principaux (cf. Figure 4) : - Le module de raisonnement qui contient un planificateur. - Le module gestionnaire de dialogue. L agent compositeur doit être capable de raisonner sur la tâche qu il doit accomplir et doit être capable de communiquer avec les autres agents (manager). Il est initialisé avec la description sémantique du but utilisateur à réaliser. L agent compositeur est composé de trois modules principaux (cf. Figure 3) : - Le module de raisonnement. - Le tableau de stockage qui sert de support des conjectures reçues auprès des agents managers. - Le gestionnaire de dialogue qui permet le dialogue avec les autres agents. Figure 4 : Architecture d un agent manager Figure 3 : Architecture d un agent compositeur a. Le module de raisonnement Le module de raisonnement est le module central de l agent. Il définit le comportement de l agent en dirigeant ses interactions. Il s appuie sur i) le tableau de stockage pour sélectionner les conjectures à raffiner et pour sélectionner le sous-ensemble des agents manager avec lesquels il continuera le processus de raffinement et a. Le module de raisonnement Le comportement principal d un agent manager est le raffinement des conjectures reçues auprès de l agent compositeur et l envoi, à ce dernier, de ses propositions (raffinements). Le raffinement d une conjecture peut s effectuer de deux façons : par ajout de liens causaux. Tout d abord, l agent manager vérifie qu il n existe pas, dans la conjecture, une action permettant de réaliser le but. Si tel est le cas, alors un lien causal est ajouté entre l effet concerné de la première action et la pré-condition de la seconde action. par ajout d une sous-conjecture. L agent manager tente de résoudre l hypothèse en produisant une sousconjecture à l aide du planificateur. Le planificateur prend en entrée l état initial, c est-à-dire, la base de connaissances de l agent, ainsi que le but à résoudre et fournit, s il existe, un plan solution pour ce but. Le plan obtenu, enrichi de contraintes d ordres et de liens causaux, forme la sous-conjecture solution de l hypothèse et sera envoyé à l agent compositeur.

b. Le module gestionnaire de dialogue C est le module qui permet d échanger les propositions entre les agents managers et l agent compositeur. 4.7 Construction de la composition Le dialogue est initié par l agent compositeur qui soumet à l ensemble des agents managers concernés une première conjecture. Cette conjecture constitue le but utilisateur à réaliser. A la réception de cette première conjecture, les agents manager commencent à la raffiner. Lorsqu un agent manager calcule une sous-conjecture, il la soumet à l agent compositeur. A la réception d un raffinement, l agent compositeur met à jour son tableau de stockage. Puis il essaie de renvoyer la nouvelle sous-conjecture à raffiner aux agents manager qu il retient pour le prochain cycle de raffinement. 4.8 Déroulement de la composition sur l exemple introductif Initialisation. L agent manager-raisonneur envoie la première conjecture à l agent compositeur après avoir réalisé que la requête utilisateur ne peut être exécuté par un seul agent manager. Cette conjecture indique le but à résoudre, X est à Dubai, ainsi que l état initial, X est à Constantine. Premier raffinement. Après avoir être invoqué par l agent compositeur, les agents manager (service) tentent de résoudre le but représenté par l hypothèse X est à Dubai. Seul l agent Airways est capable de raffiner cette première hypothèse mais la solution qu il propose formule deux nouvelles hypothèses qui sont : X est à Alger ; X doit payer 200.000,00DA pour réserver ce vol. La production de ce premier raffinement peut être représentée par le dialogue informel suivant : X : «Je suis à Constantine et je dois me rendre à Dubai. Pouvez-vous m aider?» Agent manager-raisonneur : «Je ne peux pas t aider sur place, je vais voir avec l agent compositeur.» Agent compositeur : «En ce qui me concerne, je vais invoquer les deux agents manager Airways et Bank.» Airways : «En ce qui me concerne, je peux emmener l utilisateur X à Dubai à condition qu il soit à Alger et qu il me paies la somme de 200.000,00DA!» Raffinements suivants. Les agents ont maintenant deux hypothèses à raffiner. L agent Airways va proposer un raffinement pour l hypothèse X est à Alger en formulant à nouveau une hypothèse et l agent Bank va raffiner l hypothèse X paie 200.000,00DA selon le dialogue suivant : Bank : «Je peux payer 200.000,00 DA que je débite du compte de X». Airways : «Je peux emmener X à Alger à condition que je reçoive 6500,00 DA». Ainsi une nouvelle hypothèse est émise : X paie 6500,00 DA. Bank : «Je peux payer 6500,00 DA» Raffinement solution. En raffinant l hypothèse X paie 6500,00DA, l agent Bank propose une solution pour la dernière hypothèse restante. Il soumet donc son raffinement à l agent compositeur, qui gère les différents raffinements enregistrés au niveau du tableau de stockage, c est-à-dire il propose une sortie sur succès. L agent compositeur vérifie que son tableau de démonstration est terminal et acquitte la proposition de sortie sur succès. 5 CONCLUSION ET PERSPECTIVES Dans cet article, nous avons présenté une architecture à base d agents qui permet de composer dynamiquement les services Web du registre ebxml. Nous avons détaillé ses différents composants en expliquant le rôle de chacun, puis nous nous sommes concentrés sur l agent compositeur et les agents manager qui sont impliqués directement dans le modèle de composition proposé. Le modèle de composition que nous avons proposé est basé sur la planification distribuée avec la synthèse dialectique de plans sous hypothèses. La particularité de notre modèle est que l aboutissement à un plan solution n est pas totalement distribué du fait de l utilisation d un agent compositeur qui collabore avec les différents agents manager (services Web retenus). L idée est qu il y a toujours un agent qui supervise l état d avancement du processus de composition et qui a une vision globale permettant de localiser le problème en cas d échec. L étape suivante de notre travail consiste en la réalisation d un prototype qui nous permettra d estimer la durée du processus de composition et celle de l envoi des requêtes entre les agents. Ces mesures permettront d améliorer cette architecture. REFERENCES Benatallah B., M. Dumas, M. Fauvet, and F. Rabhi, 2003. Towards patterns of web services composition, Patterns and skeletons for parallel and distributed computing, Springer Verlag, 2003. Benatallah B., M. Dumas, and Q. Sheng, 2005. Facilitating the Rapid Development and Scalable Orchestration of Composite Web Services, Journal of Distributed and Parallel Databases, vol. 17, n 1, p. 5-37.

Bourdon J., 2007. Multi-agent systems for the automatic composition of semantic web services in dynamic environments, Rapport de master, École des Mines de Saint Etienne - G2I & Université Joseph Fourier. ebxml, 2003. http://www.ebxml.org/specs/ ebta.pdf Ghallab M., Nau D., and Traverso P., 2004. Automated Planning, Theory and Practice. Morgan Kaufmann 04. Guitton, J., 2006. Planification multi-agent pour la composition dynamique de services web, Rapport de master, Université Joseph Fourier, Grenoble, France. Hioual O., and Z. Boufaida, 2006. Using Intelligent Agents in Conjunction with Heuristic Model for Negotiating ebxml CPP, Information and Communication Technologie.. ICTTA '06, pages:268-273. Hioual O., and Z. Boufaida, 2008. Towards a Semantic Composition of ebxml Business Processes, International Conference on Innovations in Information Technology. IIT 2008, Dubai, 16-18 Dec, p.165-169. Jayadev M., and C. William, 2007. Computation Orchestration: A Basis for Wide-area Computing, Journal of Software and Systems Modeling, vol. 6, n 1, p. 83-110. Medjahed B., A. Bouguettaya, and A. Elmagarmid, 2003. Semantic web enabled composition of web services. The VLDB Journal 12, 333 351. Pistore M., A. Marconi, P. Bertoli, and P. Traverso, 2005a. Automated Composition of Web Services by Planning at the Knowledge Level, Proceedings of the International Joint Conference on Artificial Intelligence, p. 1252-1259. Pistore M., P. Traverso, and P. Bertoli, 2005b. Automated Composition of Web Services by Planning in Asynchronous Domains, Proceedings of the International Conference on Planning and Scheduling, p. 2-11. Sheshagiri M., M. Desjardins, and T. Finin, 2003. A planner for composing services described in DAML-S. In Proceedings of the AAMAS Workshop on Web Services and Agent-based Engineering. Singh M., and M. Huhns, 2005. Service-Oriented Computing: Semantics, Processes, Agents, Wiley and Sons. Sirin E., J. Hendler, and B. Parsia, 2002. Semi-automatic composition of web services using semantic descriptions. In Proceedings Web Services: Modeling, Architecture and Infrastructure. Workshop in Conjunction with ICEIS2003 (Angers, France, 2002), ICEIS Press, pp. 17 24. Wu D., B. Parsia, E. Sirin, J. Hendler, and D. Nau, 2003. Automating DAML-S web services composition using SHOP2. In ISWC 03. Milanovic N., and M. Malek, 2004. Current Solutions for Web Service Composition, IEEE Internet Computing, vol. 8, n 6, p. 51-59. Peer J., 2004. A PDDL based tool for automatic web services composition. In Proceedings of the Second Workshop on Principles and Practice of Semantic Web Reasoning (PPSWR 2004) at the 20th International Conference on Logic Programming, Springer Verlag, pp. 149 163. Pellier D., 2005. Modèle dialectique pour la synthèse de plans. PhD thesis, UJF - Grenoble, France. Pellier D., and H. Fiorino, 2009. Un modèle de composition automatique et distribué de services Web par planification, RSTI - RIA - 23/2009. Intelligence artificielle et web intelligence, pages 13 à 46. Pistore M., F. Barbon, P. Bertoli, D. Shaparau, and P. Traverso, 2004. Planning and MonitoringWeb Service Composition, Proceedings of the International Conference on Artificial Intelligence, Methodology, Systems, and Applications, p. 106-115.