• Aucun résultat trouvé

II. Etat de l’art

3. Coordination dans les systèmes de négociation

3.3. Coordination de négociations

3.3.1. Coordinations stratégiques de négociations

3.3.1.1. ADEPT

Dans le projet ADEPT (Advanced Decision Environment for Process Tasks) [Jennings et al.’90] [Alty et al.’94] [Jennings et al.’96], N. R. Jennings, J. A. Alty, T. J. Norman, P. Faratin et P.O’Brien7

ont proposé une infrastructure multi-agent pour la mise en place et l’exécution distribuée d’un processus industriel composé par plusieurs services. Cette technologie a été déployée dans deux vrais applications : une avec British Telecom et une avec ICI Engineering.

Ce projet s’adresse principalement aux grandes entreprises qui sont divisées en plusieurs organisations autonomes, chacune gérant ses ressources et ses informations et aussi ses services spécifiques qu’elles exécutent dans le cadre du processus industriel global (voir Fig. 4).

Figure 3. ADEPT : réseau d’organisations autonomes

Etant données ces caractéristiques, l’approche propose de modéliser le processus industriel de manière distribuée sur plusieurs agents autonomes gérant des parties distinctes du processus et qui négocient entre eux au moment où leurs services ont des interdépendances.

7

Department of Electronic Engineering, Queen Mary and Westfield College, University of London, London E1 4NS, U.K.

Dans ce contexte, une organisation peut être regardée comme un agent représentant une entité capable d’exécuter un ou plusieurs services.

Un service est vu comme une unité d’un processus plus complexe. Un service peut être défini récursivementen termes des sous-services, jusqu’au service atomique le plus simple qui peut être géré par le système ADEPT, appelé tâche. Ces unités atomiques peuvent être composées pour former des sous-services et par la suite des services complexes qui peuvent faire l’objet d’un échange entre deux agents. La composition des sous-services suppose l’existence des contraintes d’exécution (les tâches peuvent être exécutées en parallèle, doivent être exécutés en parallèle ou doivent être exécutés séquentiellement) et d’une entité de contrôle qui supervise ces contraintes. Dans ces cas, un service complexe est une composition des plusieurs tâches ou d’autre sous-services. Cette définition récursive d’un service soutient l’approche qu’un processus industriel complexe peut être vu comme un service exécuté de manière distribuée.

Les services sont associés à un ou plusieurs agents, qui gèrent la mise en place et l’exécution du service. Mais pour chaque service un seul agent est vu comme responsable, même si d’autres agents gèrent les sous-services qui les composent. Les ressources d’un agent peuvent être des services atomiques (tâches) ou d’autres agents. Le dernier cas permet la mise en place d’un système hiérarchique d’agents dans lequel les agents de plus haut niveau réalisent leur fonctionnalité en se basant sur les agents plus bas. Les agents plus bas ont la même structure que ceux des niveaux élevés et peuvent donc, avoir aussi des sous-agents comme ressources dans leur agence.

Donc, un agent peut être engagé dans deux types de conversations. La première est une négociation externe avec des agents du même niveau hiérarchique sur des services qu’il veut utiliser et dans ce cas il a le rôle d’acheteur ou sur des services qui lui sont demandés et dans ce cas il a le rôle de vendeur. La deuxième est une communication interne avec les agents qui sont au-dessus dans la hiérarchie organisationnelle et qui est une simple requête d’exécution.

Le problème complexe de la coordination est au niveau d’un agent responsable d’un service qui peut être impliqué dans les deux types de conversation. Celui-ci peut être engagé dans une négociation avec un autre agent du même niveau sur la demande d’un de ses services et dans le même temps il doit négocier avec ses sous-agents pour voir s’il est capable d’exécuter le service au moment de la demande. Dans ce cas, deux sous-problèmes existent : i) comment choisir entre plusieurs sous-agents qui peuvent exécuter le même service et ii) comment coordonner la négociation externe avec les négociations internes.

 Le premier problème est résolu au niveau décisionnel avec une stratégie qui indique à l’agent responsable avec quel sous-agent il doit négocier en premier. Afin de négocier dans l’environnement ADEPT, les agents disposent des modèles de raisonnement complexes. Le modèle de raisonnement dispose des représentations détaillées des services que l’agent peut proposer ainsi que des descriptions des autres services proposés par les agents présents dans système.

 Le deuxième problème est résolu aussi au niveau décisionnel. C’est le modèle de raisonnement qui définit également si les négociations se font séquentiellement ou en parallèle afin d’éviter les deadlock. Comme la décomposition d’un service peut être faite sur plusieurs niveaux, la finalisation d’une négociation sur un service complexe doit attendre la finalisation de plusieurs négociations aux niveaux inférieurs. Afin de limiter le temps d’attente et pour conduire en parallèle les négociations plusieurs suppositions sont faite : i) l’agent responsable est supposé à faire toujours ses services, de cette manière un agent peut finaliser les négociations avec les agents du même niveau sans attendre les finalisations des négociations avec ses sous-agents ; ii) le temps n’est pas pris en compte, de cette manière si une négociation échoue les agents sont pénalisés mais une renégociation est toujours possible et donc toute la chaîne des négociations peut recommencer.

Bien sûr, d’autres problèmes de coordination plus complexes existent, par exemple si l’agent négocie dans le même temps le service avec plusieurs agents ou si les attributs des services ont des dépendances entre eux. Ces types des problèmes ne sont pas abordés dans ce projet.

Selon notre grille sur la négociation décrite dans le chapitre 2, le projet ADEPT est dédié à la négociation bilatérale sur un objet de négociation multi-attribut. La coordination est

distribuée sur plusieurs agents responsables qui se synchronisent et coopèrent entre eux afin

d’offrir un service global. La coordination est gérée au niveau stratégique, les agents ont des stratégies bien définies pour interagir et se coordonner.

Le projet ADEPT a été un des premiers qui attaque le problème de la coordination entre des négociations bilatérales avec des dépendances entre elles et qui se porte sur des objets multi-attribut en proposant une solution distribuée de la coordination sur plusieurs agents. Par contre, bien que les négociations soient sur des objets de négociation multi-attribut les dépendances entre les négociations ne prennent en compte aucune information sur les valeurs des objets : les dépendances entre négociations sont réduites aux informations sur les

finalisations des négociations - une négociation se finalise avec un contrat seulement si les autres négociations sur les sous-service se finalisent avec des contrats.

Egalement, l’architecture hiérarchique proposée contraint l’autonomie d’un agent et fait que de notre point de vue sur la négociation les interactions entre agents peuvent être vues de la manière suivante : i) si la demande d’un service vient d’un agent de même niveau, les deux agents commencent une négociation et ii) si la demande d’un service vient d’un agent d’un niveau élevé, l’agent doit exécuter le service s’il peut et donc ce type d’interaction est plus une commande qu’une négociation.

Finalement, pour les négociations entre les agents du même niveau le système propose la possibilité de choisir entre plusieurs participants afin de commencer une négociation, mais toujours un agent est impliqué dans une seule négociation bilatérale à la fois. Donc, la résolution des problèmes liés aux dépendances entre les négociations est assez primitive sans permettre d’identifier plus clairement les problèmes dans le cas où un agent serait impliqué simultanément dans plusieurs négociations bilatérales.

Documents relatifs