Planification, systèmes multiagents et composition automatique de services web: des applications nouvelles.
Planification, systèmes multiagents et composition automatique de services web: des applications nouvelles. Julien Bourdon (UJM-EMSE) Superviseurs: Philippe BEAUNE, Olivier BOISSIER (EMSE) Humbert FIORINO (UJF)
Introduction Etude de systèmes existants dans le cadre de mon stage de master recherche. Impossible d étudier ces systèmes avant car domaine récent. Présentation de systèmes utilisant des techniques venant de la planification et des systèmes multiagents. Approches viables donnant lieu à des démonstrateurs.
Plan Introduction. Notions sur la composition automatique de services web. ASTRO Language Grid CASCOM Analyse comparative Conclusion Références Bonus track
Notions sur la composition automatique de services web
Architecture orientée services Envisagée dès le début de l'initiative Web Sémantique [Hend01],[Bern01]. Application accessible sur le web, fournissant un ensemble de fonctionnalités à des organisations ou des individus (Casati). Web service: software system identified by a URI, whose public interfaces and bindings are defined and described using XML. Its definition can be discovered by other software systems. These systems may then interact with the Web service in a manner prescribed by its definition, using XML based messages conveyed by Internet protocols. source: W3C.
Composition de web services Depuis le début, les services sont destinés à être utilisés par d'autres services. Besoin de faciliter la composition de services (aller au-delà de l'assemblage manuel). Encore mieux si la composition est automatique. En d'autres mots, à partir d'un but utilisateur et d'un ensemble de services, déterminer automatiquement un plan d'éxécution.
Approches manuelles pour la composition ENSM-SE WS-BPEL: permet de définir une séquence d'invocations avec plusieurs structures de contrôles. Gère aussi les exceptions. Permet de définir aussi bien des processsus abstraits que des processus éxécutables. OWL-S: ontologie OWL pour les services. Un service est décrit par le profil (que fait le service?), le modèle (comment le fait-il?) et le grounding (comment s'y connecter?). Peut être dérivé pour décrire une requête. WSMO: modèle conceptuel pour les web services sémantiques. Ontologie intéressante pour exprimer les buts d'un utilisateur. [Lara04]
Besoins de la composition automatique [Sing05],[Papap6] ENSM-SE Sélection automatique d'un ensemble de services en fonction d'un but et de contraintes précises. Ordonnancement des services sélectionnés. Exécution du plan généré. Surveillance de l éxécution pour gérer les exceptions éventuelles et vérifier si les contraintes sont respectées.
La composition vue comme un problème de planification Représente le raisonnement menant à une série d'actions pour compléter un but. [Ghal04] La planification constitue un domaine riche. Planification séquentielle. Planification conditionnelle. Les actions représentent les opérations des services. Entrée: le but du client et les services disponibles. Sortie: un service composite sous la forme d'un plan.
ASTRO [Pist05], [Trav04] ENSM-SE
ASTRO: objectifs The goal of astro is to develop tools supporting the evolution and adaptation of distributed business processes during their lifecycle, from design to runtime (source http://astroproject.org). Projet mené par l'université de Trente. Pas de sélection.
ASTRO: fonctionnement Contient un environnement de développement pour la composition manuelle (sous forme de plugin Eclipse). Transforme un ensemble de services décrits en BPEL (ou OWL-S) en systèmes à transitions d états. Prend en entrée le but de l'utilisateur exprimé sous cette forme: faire X sinon essaye Y. Compose ces services grâce au Model checking.
Exemple d expression d un but TryReach /* Goal 1 */ Fail (AcceptProductOffer.done & AcceptShippingOffer.done & EvaluateOffer.done & EvaluateOffer.accepted & DoP&SRequest.price = DoShippingRequest.price + DoProductRequest.price & DoP&SRequest.duration = DoShippingRequest.duration + DoProductRequest.duration) DoReach /* Goal 2 */ (RefuseProductOffer.done & RefuseShippingOffer.done & EvaluateOffer.done & not EvaluateOffer.accepted)
ASTRO: suivi de l éxécution Source: [Pist05]
Language Grid [Mura06,Benh06] ENSM-SE
Language Grid: objectifs Permettre à des personnes de différentes cultures et de différentes langues de communiquer plus facilement. Déployer des services de base come des dictionnaires ou des textes parallèles. Permettre aussi à des communautés ayant des besoins spécifiques d intégrer leurs propres services à la grille.
Language Grid: principes Source: [Mura06]
Language Grid: architecture (1) Source: [Mura06]
Language Grid: architecture (2) Deux types de noeuds: Language grid service node: permet d'interagir avec un service atomique ou avec un wrapper. Un wrapper est une couche logicielle permettant d'envelopper des services présentant des interfaces hétérogènes. Language grid core node: permet d'enregistrer/déployer un service, de rechercher un service (sur le critère de la langue par exemple), d'éxécuter un service composite et de stocker des workflows. Client: dispose d'interfaces pour agir avec les core node ainsi que d'un environnement de développement de workflows.
Language Grid: composition horizontale [Benh06] ENSM-SE Contrairement à la "composition verticale", la "composition horizontale" se concentre sur la sélection de services concrets équivalents fonctionnellement aux mêmes services abstraits. Prend en entrée la description d'un service composite en OWL-S et les contraintes pondérées de l'utilisateur sur certaines valeurs et donne un workflow éxécutable en sortie. Formalise le problème sous forme d'un CSP et essaie d'optimiser les contraintes hard et les contraintes soft. S'il n'y a pas de solution, le système demande à l'utilisateur de relaxer ses contraintes.
Algorithme Contraintes hard VS contraintes soft. Hard: contraintes définies par le workflow du service abtrait, notamment les contraintes d ordonnancement. Soft: définies par l utilisateur, pondérées selon ses préférences. Peuvent être des préférences sur la QoS. Une approche centralisée. Une approche distribuée sans agents. Une approche multi-agents.
Approche multi-agents Trois types d agents: Agents pour les services web abstraits. Agents fournisseurs d information: utilisés pour obtenir des informations sur les services web concrets Agent interface: informe l utilisateur du résultat final. Les agents représentant les services web abstraits sont classés par ordre de priorité dans le workflow. Chaque agent est responsable de l optimisation d une contrainte.
CASCOM [CascomD52] ENSM-SE
CASCOM: Présentation Acronyme pour Context-aware Business Application Service Co-ordination in mobile Computing Environments. Programme spécifique de recherche de l'union Européenne (FP6) supporté par le programme IST. L'objectif principal du projet est d'implémenter, de valider et de tester une infrastructure pour les business-applications basées sur le Web Sémantique à travers des réseaux fixes et mobiles.
CASCOM: architecture ENSM-SE
Fonctionnement Composition Descriptions OWL-S converties en PDDL-XML grâce à un parseur Puis XPlan Enfin plan vérifié avec les pré et post-conditions (PcECP) Exécution Choix d'un SEA en fonction d'une heuristique (pour l'instant charge CPU). Exécution du plan.
Comparaison ENSM-SE
Par rapport aux besoins de la Sélection Ordonnancement Exécution Monitori ng composition automatique ASTRO Manuelle Model checking Moteur BPEL Oui LANGUA GE GRID CSP Manuelle Service nodes Non CASCO M Non spécifiée Fastforward + HTN Agents Oui, en théorie ENSM-SE
Par rapport aux modèles de planification ENSM-SE Modèle Avantang es Inconvéni ents ASTRO Model checking Gère l incertitu de Lent LANGUA GE GRID CSP Efficace, interactif Ne marche pas pour la compositi CASCO M Fastforward + HTN Exploite la structure hiérarchique des tâches Manque de dynanisme
Modèle Avantang es Inconvéni ents Par rapport aux agents ASTRO Pas d agent Plus facile à mettre en Manque oeuvre de dynamism e LANGUA GE Un GRID agent par service Sélection abstrait très Ne réactive. marche pas pour la compositi on CASCO M Tout est agent Renforce l autonomie et le dynanisme Seule l éxécutio n est distribuée
Conclusion ENSM-SE
Conclusion Des implémentations récentes prouvant qu une approche multi-agents peut être utile à la composition automatique de services web. Des choses à tirer de chaque projet dans les quatre besoins de la composition automatique. Quid de la relation et de l expressivité des langages de description de web services et de problèmes de planification?
Références (1) [Papa06]: Michael P. Papazoglou, Paolo Traverso, Schahram Dustdar, Frank Leymann and Bernd J. Krämer, Service-Oriented Computing Research Roadmap, Dagstuhl Seminar Proceedings, 2006. [Sing05]: Singh, Huhns, Service-Oriented Computing: Semantics, Processes, Agents, John Wiley & Sons, 2005.
Références (2) [CASCOMD52]: Service Composition and Execution in IP2P Environments, CASCOM project deliverable D5.2 [Trai05]: M. Trainotti, M. Pistore, G. Calabrese, G. Zacco, G. Lucchese, F. Barbon, P. Bertoli, P. Traverso, ASTRO: Supporting Composition and Execution of Web Services, Demo at the International Conference on Automated and Planning Sheduling (ICAPS) 2005
Références (3) [Pist05]: M. Pistore, A. Marconi, P. Bertoli, P. Traverso, Automated Composition of Web Services by Planning at the Knowledge Level, International Joint Conference on Artificial Intelligence (IJCAI) 2005. [Trav04]: P. Traverso and M. Pistore. Automatic Composition of Semantic Web Services into Executable Processes. International Semantic Web Conference (ISWC) 2004.
Références (4) [Mura06]: Yokei Murakami, Toru Ishida, Takao Nakaguchi. Infrastructure for Language Grid Composition. Proceedings of the Second International Conference on Semantics, Knowledge and Grid (SKG'06) [Benh06]: Ahlem Ben Hassine, Matsubara Shigeo and Toru Ishida. Constraint-based Approach for Web Service Composition. International Semantic Web Conference (ISWC-06), Lecture Notes in Computer Science 4273, Springer-Verlag, pp. 130-143, 2006.
Références (5) [Ghal04]: Malik Ghallab, Dana Nau and Paolo Traverso. Automated Planning, theory and practise. Morgan Kaufmann Publishers, May 2004. ISBN 1-55860-856-7 [Bern01]: James Hendler, Ora Lassila, Tim Berners- Lee. The semantic web. The Scientific American (May 2001) pp34-43
Références (6) [Hend01]: J. Hendler, "Agents and the Semantic Web" IEEE Intelligent Systems, vol. 16, no. 2, Mar./Apr. 2001, pp. 30--37. Rubén Lara, Dumitru Roman, Axel Polleres, Dieter Fensel: A Conceptual Comparison of WSMO and OWL-S. European Conference on Web Services (ECOWS 2004), Erfurt, Germany, September 27-30, 2004, pages 254-269.
Bonus tracks ENSM-SE
Scénarios ENSM-SE
ASTRO ENSM-SE
Language Grid ENSM-SE
Systèmes à transitions d états ENSM-SE
Model checking Doit explorer tout l'espace d'états Solution: ne plus représenter tous les états mais seulement les connaissances Par exemple, pour un service tel qu'amazon, on ne modélise plus les états a choisi "Harry Potter" ou a choisi "Le doctorat pour les nuls" mais seulement "a choisi un livre", ce qui réduit considérablement l'espace d'états à explorer.