Vous êtes sur la page 1sur 4

Ministère de l’enseignement supérieur et de la recherche scientifique

Université de Tébessa
Faculté des sciences exactes et sciences de la vie et de la nature
Département des mathématiques et informatique

Année universitaire 2020/2021

TD1 : KQML, ACL & JADE


Module : Sureté des systèmes et applications réparties
M2 Réseaux & Sécurité

Exercice 1. KQML
Donnez les messages KQML qui seraient utilises dans une communication entre agents lorsque:
a. Riyad veut obtenir toutes les solutions d’une requête Prolog "veut(X,riyad)" en utilisant
l’ontologie personal-relationships de son agent Kamel en une seule réponse. (N’oubliez pas le
champ replywith).
b. Kamel envoie sa réponse, en supposant qu'il sait que : veut(manchester-city,riyad),
veut(arsenal,riyad), veut(manchester-united,riyad).
c. Riyad veut des différentes réponses (à sa requête) renvoyées sous forme des messages
individuels par Kamel.
a.
(ask-all
:sender riyad
:receiver kamel
:reply-with a
:language Prolog
:ontology personal-relationships
:content “veut(X,riyad)”)
b.
(tell
:sender kamel
:receiver riyad
:in-reply-to a
:language Prolog
:ontology personal-relationships
:content “veut(manchester-city,riyad), veut(arsenal,riyad), veut(manchester-united,riyad)”)
c.
(stream-all
:sender riyad
:receiver kamel
:reply-with a
:language Prolog
:ontology personal-relationships
:content “veut(X,riyad)”)

Exercice 2. KQML
Meilleur joueur de la saison en Premier League, Riyad Mahrez est tres demande en Angleterre mais
aussi ailleurs et les grands clubs travaillent sur son dossier depuis plusieurs mois pour un
recrutement imminent. A titre d’exemple, le club anglais Arsenal demande a son agent Kamel
Bengougam toutes les informations concernant le joueur. Kamel a repondu le club par plusieurs
messages (le prix exige par le club, le salaire demande par le joueur). Formulez la communication
entre le club et l’agent de Riyad Mahrez en utilisant les performatives stream-all et tell.

Page 1 sur 4
(stream-all (tell (tell
:sender Arsenal :sender Kamel :sender Kamel
:receiver Kamel :receiver Arsenal :receiver Arsenal
:reply-with Riyad :in-reply-to Riyad :in-reply-to Riyad
:language Prolog :language Prolog :language Prolog
:ontology joueurs :ontology joueurs :ontology joueurs
:content Riyad-Mahrez) :content prix(40millions,riyad)) :content salaire(5millions,riyad))

Exercice 3. KQML et ACL


Un revendeur de vehicule R veut supprimer l’information qu’il a fourni a un acheteur A pour la
remplacer ensuite par une nouvelle information. Pour cela, R tente de changer la croyance de A qui
pense que le prix du symbole est 1.600.000 DA. R doit informer A, par un deuxieme message, que le
prix du symbole est 800.000 DA.
1. Donnez les messages KQML simulant ce cas ?
(UNTELL (TELL
:sender R :sender R
:receiver A :receiver A
:in-reply-to Question1 :in-reply-to Question1
:language Prolog :language Prolog
:ontology Voiture :ontology Voiture
:content (prix(symbole, 1.600.000)) :content (prix(symbole, 800.000))

2. Donnez les messages ACL correspondants ?


(DISCONFIRM (INFORM
:sender R :sender R
:receiver A :receiver A
:content (prix(symbole, 1.600.000)) :content (prix(symbole, 800.000))
:in-reply-to Question2 :in-reply-to Question2
:language Prolog :language Prolog
:ontology Voiture :ontology Voiture
:conversation-id Exercice2) :conversation-id Exercice2)

Exercice 4. ACL
Dans le meme contexte que l’exercice precedent : Arsenal, a travers un message ACL, tente de
changer la croyance de l'agent de Riyad Mahrez (Kamel) qui pense que le club veut son joueur. Le
club doit informer Kamel, par un deuxieme message, qu’il veut recruter N’Golo Kanté. Completez les
deux messages envoyes par le club :

AGENT Arsenal AGENT Arsenal


(disconfirm (inform
:sender Arsenal :sender Arsenal
:receiver Kamel :receiver Kamel
:content veut(arsenal,riyad) :content veut(arsenal,kanté)
:language PROLOG :language PROLOG
) )

Exercice 5. JADE
Le parcours professionnel de Riyad Mahrez est resume dans la figure suivante :

Page 2 sur 4
1. Dessinez l’automate resumant ce parcours ou :
 Un état présente un club.
 Une transition présente un transfert ou la durée passée au sein du club.

2. Comment definissez-vous l’automate (Etats et transitions) sous JADE ?


Definition des etats :
fsm.registerFirstState (new UnComportement(),"Quimper");
fsm.registerState(new UnComportement(),"Le Havre");
fsm.registerLastState(new UnAutreComportement(),"Leicester City");

Definition des transactions :


fsm.registerTransition("Quimper","Quimper",1);
fsm.registerDefaultTransition("Quimper","Le Havre");
fsm.registerTransition("Le Havre","Le Havre",3);
fsm.registerDefaulTransition("Le Havre","Leicester City");
fsm.registerTransition("Leicester City","Leicester City",3);

Exercice 6. JADE
1. Sous JADE, un agent A veut informer l’agent B que le prix du livre « Systemes Multi-Agents » est de
5000 DA. Formulez ce message en utilisant la methode Send()?
ACLMessage message = new ACLMessage(ACLMessage.INFORM);
message.addReceiver(new AID("B", AID.ISLOCALNAME));
message.setContent("Prix SMA = 5000 DA");
send(message);

Page 3 sur 4
2. Quand l’agent B reçoit l’information envoyee par l’agent A, il va repondre ce dernier avec un
message de remerciement. Formulez la reponse ?
ACLMessage message = new ACLMessage(ACLMessage.INFORM);
message.addReceiver(messageRecu.getSender());
message.setContent("Merci!!!");
send(message);

Page 4 sur 4

Vous aimerez peut-être aussi