VI. Conclusion
Dans cette partie, nous avons essayé de
présenter un état de l'art sur les notions théoriques en
rapport direct avec le thème de notre mémoire. Cet état de
l'art présente de manière plus ou moins detailée des
définitions et explications sur les concepts d'agents, de SMA, d'
e-commerce, d'ontologie, etc. Une importance particulière a
été accordée à la communication dans les
systèmes multi-agents et les langages qui sont employés
(FIPA-ACL). Il est ainsi possible d'établir, indéniablement, une
certaine analogie entre la communication chez les agents et la communication
humaine puisque toutes les deux servent à transférer de
l'information d'un interlocuteur à un autre tout en se basant sur une
méthode tel que les actes de langage.
Pour enrichir la sémantique de ces actes de langage,
nous avons abordé la notion d'ontologie afin de voir ce qui se cache
derrière ce vocabulaire. La conclusion à laquelle nous avons
abouti est que l'objectif principal d'une ontologie est de permettre le partage
et la réutilisation de connaissances ainsi que de spécifier de
manière précise le sens de chaque terme employé à
un moment particulier.
Introduction
Cette partie est basée sur la définition et la
présentation de l'ontologie utilisée et la modélisation
des actes de communication inter agents. Elle se veut de présenter
l'application réalisée à l'issue du travail
effectué. Notre application comporte des agents acheteurs et vendeurs
situés dans un réseau, en communication et coopération
partageant une ontologie commune.
Nous présentons ici le rôle de chaque agent
(Acheteur, Vendeur), les actes de communication utilisés entre eux, le
modèle CATN illustrant le protocole de communication, un bref overview
sur la plate forme Jade et l'explication de l'ontologie utilisée.
I. Spécification des comportements des
agents
Les agents sont des entités logicielles dotées
de suffisamment d'autonomie décisionnelle pour effectuer des
tâches spécifiques (Vente, Achat) avec peu ou pas de surveillance
humaine.
L'importance des agents est de plus en plus grande. Ces
derniers sont utilisés pour optimiser la recherche d'informations et
pour dialoguer avec les utilisateurs et les aider à faire des choix,
etc.
Ils permettent de substituer les interfaces existantes (entre
homme et ordinateur). Cependant, le e-commerce est seulement un des
innombrables services que peut offrir cette technologie.
Le commerce électronique couvre essentiellement le
domaine de la vente de produits mais on peut également l'imaginer
couvrant le domaine des services tels que (réservation d'hôtel,
achat des billets d'avion, etc.). Dans le premier cas, les agents intelligents
commencent à prendre une place importante en vue d'automatiser un
certain nombre de tâches. Il s'agit de rendre la comparaison des prix, la
fonction d'achat, la fonction de vente et la négociation de plus en plus
automatisées. Cette tendance permettra à l'entreprise
d'améliorer les connaissances qu'elle a de ses clients pour mieux
adapter son offre aux besoins du marché. Quand au client, cela lui
permettra de tirer avantage des comparaisons des prix et des produits.
On distingue des agents qui interviennent du côté
client (agents acheteurs) et des agents qui interviennent côté
entreprise (agents vendeurs). Les agents destinés au commerce
électronique sont en pleine expansion et pourront bouleverser les
pratiques commerciales dans les années à venir.
48
Au cours de ce travail nous avons essayé de faire
apparaître l'intérêt des agents et l'échange des
messages entre eux (acheteurs et vendeurs) tout en intégrant une
ontologie afin de permettre aux agents de mieux comprendre les messages pendant
les opérations de ventes et d'achats de livres.
II.1 Description des agents et de leurs types
II.1.1 Les agents acheteurs
L'intervention des agents côté clients (agents
acheteurs) permettra au client de comparer les prix et d'acheter des produits
à des prix avantageux. Plus concrètement, les consommateurs
dotés d'agents dédiés à l'analyse de l'offre,
peuvent trouver un produit en menant une recherche par marque, par
catégorie. L'idée, à terme, est de fournir une
présélection automatique d'articles en fonction des
préférences du consommateur avec un comparatif sur les prix.
Les agents contrôlés par les clients interviennent
donc pour faciliter le processus d'achat. Plus précisément ces
agents peuvent nous renseigner sur:
II.2 Spécification des interactions inter-agents
par le CATN
jump (pas de vendeur)
Répondeur : Vendeur.catn
Reçoit msg Reject-Proposal /ou Fin de temp.
Livre demandé n'existe pas
Initiateur : Acheteur.catn
Tous les agents ont répandu/ Ou Fin de temps
Inscription AMS et DF
1
Recherche
dans le DF
2 3 4 5
Envoie msg CFP
6
Envoie msg Accept-Proposal Envoie msg Reject-Proposal
Reçoit msg Propose
Erreur (carte crédit)
Reçoit msg
1 2 3 456
Envoie msg (Lancer la vente) Propose
Enregistrement AMS et DF
Reçoit msg CFP
Exécuter service (La vente)
FIG 10: Spécification des interactions
inter-agents par le Formalisme CATN
50
Comportements attendus du système
Les actes de communication inter-agents obéis sent aux
deux CATN présentés précédemment:
Côté vendeur:
1) Dans le cas contraire, il sélectionne la meilleure
offre et il la passe au client en lui demandant de valider la vente. Dans ce
cas le client doit saisir le numéro et le type de la carte de
crédit, ainsi l'agent acheteur pourra enfin acheter le livre par l'envoi
d'un message « LancerVente » à l'agent vendeur
sélectionné.
II.3 Enumération des actes de communication des
agents
Les actes de communications entre agents suivent un processus qui
se déroule suivant un ordre donné. Nous présentons sur la
figure suivante un tel processus.
Acheteur
|
|
Vendeur 1
|
|
Vendeur 2
|
|
Vendeur 3
|
cfp:Le Titre
En stock, prix=268
Propose:204
choix Rejet
Lancer la vente
refuse
Pas en stock
Propose:268
En stock, prix=204
Informe (fin de vente)
FIG 11 : Enumération des actes de
communication des agents
Explication de la FIG 11:
Pour commencer, il faut noter qu'il existe des agents
acheteurs et des agents vendeurs. Nous avons choisi de créer 3 agents
vendeurs pour les besoins de l'application. Pour ce qui est des agents
acheteurs, leur nombre n'est pas limité. Ils sont créés
dynamiquement, en cas de besoins, par l'utilisateur (dans le cas réel
les vendeurs sont créés par l'application otherside).
4 CFP : Call For Proposal.
52
Les différentes interactions ou actes de communication
se déroulent suivant un ordre donné comme indiqué
ci-après:
1- L'agent acheteur (ou l'initiateur) envoie
un message «CFP4 »
à tous les agents vendeurs inscrits dans le DF et
proposant des services (ventes de livres). Ce message porte sur la
disponibilité de livre demandé; après il attend une
réponse des agents possédant le livre demandé dans leurs
bases d'articles.
2-Chaque vendeur traite le message
reçu et renvoie, en réponse à l'acheteur, un message qui
est soit « Propose », soit «Refuse
» selon qu'il possède ou non le livre demandé.
3- L'acheteur attend un certain temps. Si ce
temps s'écoule et qu'il manque encore quelques messages en
réponse, il se contente de traiter les messages qu'il a reçus. Si
ce temps s'écoule et qu'il n'a reçu aucun message, alors il
considère que l'article recherché n'est pas disponible. S'il
reçoit toutes les réponses, il n'a pas à attendre
l'écoulement de ce délai, il commence immédiatement le
traitement qui consiste à sélectionner la meilleure offre en se
basant sur le critère relatif au prix.
4-L'agent acheteur demande au client de
saisir les renseignements nécessaires pour valider l'achat. En plus
l'agent acheteur vérifie les renseignements (numéro de la carte
de crédit,...) et envoie un message «Request
»« LancerVente » au vendeur
sélectionné.
5-L'agent vendeur choisi traite le message
«Request »« LancerVente », et si toutes
les conditions sont remplies (Validité de la carte de crédit), il
lance la vente tout en éliminant la quantité vendue de sa base de
données. En fin, il envoie un message d'information indiquant la fin de
l'opération de vente.
53
III. Représentation de la plate-forme
JADE
Le meilleur moyen pour construire un système
multi-agent (SMA) est d'utiliser une plate-forme multi-agent. Cette
dernière est un ensemble d'outils nécessaire à la
construction et à la mise en service d'agents au sein d'un environnement
spécifique. Ces outils peuvent servir également à
l'analyse et au test du SMA ainsi créé. Ces outils peuvent
être sous la forme d'environnement de programmation (API) et
d'applications permettant d'aider le développeur. Nous allons
étudier dans cette section la plate-forme JADE5.
JADE est une plate-forme multi-agents
développée en Java par CSELT (Groupe de
recherche de Gruppo Telecom, Italie) qui a comme but la construction des
systèmes multi-agents et la réalisation d'applications conformes
à la norme FIPA6 (FIPA,
1997). JADE comprend deux composantes de base : une plate-forme agents
compatible FIPA et un paquet logiciel pour le développement des agents
Java.
III.1 Pourquoi la plateforme JADE?
On a développé notre application sous la plate
forme multi agent JADE qui offre les avantages suivants:
Dans la FIG 12, on voit qu'il existe trois
rôles principaux dans une plate-forme multi-agents FIPA :
55
s'exécuter sur des plates-formes différentes et
utiliser technologies différentes d'interconnexion, FIPA
spécifie que les messages transportés entre les
plates-formes devraient être codés sous forme textuelle. On
suppose que l'agent est en mesure de transmettre cette forme textuelle.
III.3 L'environnement JADE
Le but de JADE est de simplifier le
développement des systèmes multi-agents en conformité avec
la norme FIPA pour réaliser des systèmes multi-agents
interopérables. Pour atteindre ce but, JADE offre la liste
suivante de caractéristiques au programmeur d'agents
:
est cachée au programmeur d'agents qui a seulement besoin
de traiter la classe d'objets Java.
57
thread interne de contrôle ; cependant, un agent peut
engager des conversations simultanées multiples, tout en poursuivant
d'autres activités qui n'impliquent pas d'échanges de
messages.
JADE utilise l'abstraction Comportement pour
modéliser les tâches qu'un agent peut exécuter et les
agents instancient leurs comportements selon leurs besoins et leurs
capacités.
De point de vue de la programmation concurrente, un agent est
un objet actif, ayant un thread de contrôle. JADE
utilise un modèle de programmation concurrente "un thread par agent" au
lieu d'un modèle "un thread par comportement" pour éviter une
augmentation du nombre de threads d'exécution exigés sur la
plate-forme d'agents. Ceci signifie que, pendant que les agents
différents s'exécutent dans un environnement multi-threads de
préemption, deux comportements d'un même agent sont
les plus communes dans la programmation des agents, tels que
l'envoi et la réception des messages et la décomposition des
tâches complexes en des agrégations de tâches plus
simples.
|