II. La composition : Approche proposée
Comme nous avons vus, l'automatisation de la composition est
significativement facilitée par le développement du web
sémantique, depuis l'avènement des langages permettant la
description sémantique des services web et notamment le langage OWL-S.
Ce langage permet de décrire les services en terme de flux de
données (inputs et outputs), mais aussi en terme de changement
d'état (préconditions et
effets).
Nous avons vus aussi que la planification a en effet pour
rôle de trouver une séquence d'actions, ou plan, pour, à
partir d'un état initial, arriver à un état but
exprimé par l'utilisateur. Un problème de planification est
résolu dans le cadre d'un domaine, définissant les
différentes actions possibles, leurs
préconditions ainsi que leurs effets
sur l'état du monde.
Cette grande correspondance entre les descriptions OWL-S et
les représentations en planification explique donc
l'intérêt croissant de l'exploitation de la planification dans la
composition de services web.
D'autre part, la nature distribuée des services web
(les services sont généralement géographiquement
distribués), réticence des entreprises à fournir une
description détaillée de leurs services (pour des raisons
concurrentielles) ainsi que l'autonomie des agents peuvent prouver
l'utilité des SMA dans le processus de composition de services web.
Alors, l'utilisation de la planification multi-agents
apparaît très efficace dans la composition automatique et
dynamique des services web. Dans cette partie du chapitre nous
présentons notre modèle de composition exploitant cet
intérêt.
II.1. Spécification du problème
Etant donné un objectif d'un utilisateur et un ensemble
de services web, le rôle de la composition est de trouver une
séquence de requêtes d'appel à des services web. Pour faire
cette composition trois étapes sont distinguées :
1. les services web sont recherchés et
sélectionnés à partir d'un annuaire UDDI en fonction des
besoins à réaliser ;
2. la composition est effectuée en utilisant la
description (syntaxique ou sémantique) des services
sélectionnés ;
3. une description du service composite, i.e.,
l'enchaînement des appels aux services sélectionnés, est
créée.
Dans ce rapport, nous ne traitons que le deuxième point
de l'algorithme de composition, i.e., trouver l'ordre d'exécution des
services web pré-sélectionnés à partir de leur
description sémantique.
Cette étape nécessite en effet deux techniques
critiques : un langage de description compréhensible par la machine et
une approche de composition. Le langage que nous avons choisi est le langage
OWL-S et l'approche est la composition par planification multi-agents.
L'approche proposée consiste alors à transformer
le problème de composition d'un ensemble de services web décrits
par OWL-S à un problème de planification décrit par STRIPS
et de le faire résoudre en utilisant un ensemble d'agents.
Comme précisé ci-dessus, la sélection des
services est considérée comme déjà
effectuée. La première étape consiste à exprimer le
but, l'état initial du système, la base de connaissances ainsi
que la base de compétences pour transformer le problème de
composition en problème et domaine de planification. Le but et
l'état initial sont exprimés par l'utilisateur, tandis que la
base de compétences est extraite des descriptions OWL-S des services
sélectionnées.
Ensuite, ces quatre entrées sont transformées en
problème et domaine de planification. Puisqu'un système
multi-agents est utilisé, où chaque agent a des capacités
précises, le domaine et la base de connaissances doivent être
distribués entre un ensemble d'agents. Nous avons
choisi, de représenter chaque service par un agent,
contenant donc les actions proposées par ce service. Ceci a l'avantage
de permettre à chaque organisation de mettre à jour sa base de
connaissances sans prendre en compte les contraintes de ses partenaires.
En plus des différents agents représentant des
services sélectionnés, deux autres agents sont utilisés
dans le système : l'agent utilisateur et l'agent médiateur. Le
premier initie le processus de composition et le deuxième élabore
coopérativement avec les agents représentant des services un plan
solution satisfaisant la requête de l'utilisateur.
|