V.3.2. Les sources d'informations
Comme nous l'avons déjà mentionné, la
réalisation de notre système nécessite la
coopération de plusieurs sources d'informations différentes. En
fait pour pouvoir organiser un voyage, il faut disposer de plusieurs
informations relatives à ce type de problème : des informations
sur les voyages disponibles, les dates de départ et d'arrivées
des voyages, les horaires, les prix...notamment des informations sur
l'hébergement : les hôtels disponibles, les adresses des
hôtels, les disponibilités des chambres ...
Les informations concernant le voyage sont stockées dans
une base de données Acces s dont le modèle conceptuel
présenté par la Figure 21.
Figure 21 : Table Voyage.
Les informations concernant l'hébergement sont
stockés dans une base de données MySQL, Le modèle
conceptuel de cette base est présenté ci-dessous (Figure 22).
date
de but
date
fin
HOTEL
NumHotel no m_hote l ville
rue
Chambre
NumChamb re
Correspond
0, n
1,1
Reservation
1,1
1,n
Appartient
NumReservati on
_
_
Figure 22 : Modèle Conceptuel de la base
Hébergement.
Le modèle logique de cette base de données est le
suivant :
Hôtel (Num_Hotel, NomHoltel, Rue, CodePostal) ;
Chambre (Num_Chambre, #Num_Hotel) ;
Réservation (Num_Réservation , #Num_Chambre,
Date_Debut , Date_Fin) ;
V.3.3. Captures d'écran a. Interface de
l'application :
Figure 23 : Interface de l'application
La figure ci-dessus (Figure 23) représente l'interface
principale de l'application.
Cette interface est en fait un agent MadKit disposant de
certaines capacités et qui est dans notre cas l'agent Médiateur
qui se charge de la réception du problème provenant de
l'utilisateur, et par la suite le décomposer et l'envoyer aux
coordinateurs.
L'interface permet aux utilisateurs d'effectuer leurs
requêtes et permet aussi de gérer leurs
préférences.
Pour cela l'interface est composée de :
- six listes de choix, la première pour le choix de
moyen de transport, la deuxième pour le choix de la ville de
départ, la troisième pour le choix de la ville de destination, et
trois listes pour le choix de la date désiré : jour, mois et
année.
- quatre boutons d'option : Les deux premier pour le choix de
type de tarif : soit tarif jeune soit tarif famille. Si le tarif choisi est
jeune, le voyageur va bénéficier d'une réduction de 20%
sur le prix de son voyage.
Les deux autres boutons d'option sont pour le choix de la date
désirée pour le voyage : soit la date de départ, soit la
date d'arrivée.
- deux boutons : bouton Rechercher pour lancer la recherche des
voyages et des hôtels disponibles, bouton Quitter pour quitter
l'application
b. Les interfaces des agents
Comme nous l'avons signalé, notre SMA est
composé d'un ensemble d'agent communicant tout le long de leur cycle de
vie de façon continue afin de répondre d'une manière
coopérative à la requête posée par l'utilisateur.
Cette communication est assurée via un échange de messages String
entre les différents agents du système. En effet, dès le
lancement de la recherche, le Médiateur se charge de lancer tous les
autres agents du système qui vont par la suite résoudre le
problème reçu d'une manière coopérative
jusqu'à l'obtention du résultat final.
Lors du fonctionnement de chaque agent, il indique qu'il est
entré dans la communauté associée au projet à
lequel il appartient, aussi dans le groupe qui lui correspond avec le
rôle qui lui est attribué. Par exemple dans la Figure 24 l'agent
Médiateur indique qu'il appartient à la communauté
travel, et joue le rôle médiateur dans le groupe
nommé Gmed.
Dans cette interface on peut également visualiser les
différents messages reçus par
l'agent.
Dans ce qui suit on va présenter les interfaces
affectées à chaque agent tout le long de son cycle de vie.
Figure 24 : Interface Médiateur.
Figure 25 : Interface Coordinateur 1.
Figure 26 : Interface Coordinateur2.
Figure 27 : Interface Matchmaker
Figure 28 : Interface Traducteur 1.
Figure 29 : Interface Traducteur2.
Il est possible de voir le fonctionnement des agents en
utilisant le GroupObserver (Figure 30) qui est un agent Madkit qui
permet d'observer la structure organisationnelle du système,
c'est-à-dire l'ensemble des groupes et des rôles et la
participation des agents aux groupes et aux rôles.
Figure 30 : Agent GroupObserver.
Le GroupObserver permet aussi de tracer les messages
qui ont lieu entre les agents et notamment tous les messages à
l'intérieur d'une communauté ou d'un groupe. La Figure 31
représente un exemple d'échange de messages entre les agents du
système lors de la réception d'une requête.
Figure 31 : Exemple des messages
échangés par les agents.
c. L'interface résultat
L'interface résultat représente le résultat
final affiché par l'agent médiateur après avoir
reçu les résultats provenant des agents coordinateurs.
La figure 32 est une capture d'écran d'un résultat
proposé à un utilisateur, suite à une demande
d'organisation de voyage.
L'interface est composée de deux tableaux :
- Le premier affiche les informations concernant les
différents voyages disponibles correspondant aux
préférences saisies par l'utilisateur : le numéro de
voyage, les dates de départ et d'arrivée, l'heure de
départ et d'arrivée de voyage.
- Le deuxième affiche les informations concernant les
hôtels se trouvant dans la ville de destination choisie, et qui doivent
être disponibles à la date d'arrivée du voyageur et
disposer des chambres non réservés.
Figure 32 : Interface Résultat.
Pour un accès rapide à notre système, on
a le choix d'accéder soit par double click sur l'icône de bureau
portant le nom `Organisation de Voyage' soit par le menu démarrer du
desktop MadKit :MadKit>SMA>Organisation de Voyage comme le
présente Figure 33 :
Figure 33 : Menu principal.
|