Professional Documents
Culture Documents
Nom : Prénom :
Note : ……... / 20
Question 1 (04 points): ………………………………………...………………………
………………………………………...………………………
1. Complétez la figure suivante :
………………………………………...………………………
Elitist Ant : ………………………..………...………………
………………………………………...………………………
………………………………………...………………………
………………………………………...………………………
Bon courage.
………………………………………...………………………
Utiliser le verso si nécessaire
MAX-MIN Ant : ……………..………..…...………………
Université 20 Août 1955, Skikda. Le 21/01/2016.
Département d’informatique. Promotion : M1 Pro, Ingénierie des Systèmes Distribués.
Nom : Prénom :
Note : ……... / 20
Question 1 (05 points):
Question 4 (06 points):
1. Quelle est la relation entre Mécanismes et
Opérateurs génétiques ? AGR :
………………………………………...……………………… 1. Signifie :
………………………………………...……………………… ………………………………………...………………………
………………………………………...……………………… ………………………………………...………………………
………………………………………...……………………… ………………………………………...………………………
………………………………………...………………………
2. Sert à :
2. Citer deux (02) étapes principales lors de ………………………………………...………………………
l’application d’algorithme génétique.
………………………………………...………………………
………………………………………...……………………… ………………………………………...………………………
………………………………………...………………………
………………………………………...……………………… 3. Appliqué au problème du voyageur de commerce
TSP (Travelling Salesman Problem) donne :
Question 2 (06 points): ………………………………………...………………………
………………………………………...………………………
Quelle est la signification de :
………………………………………...………………………
Système complexe : ………………………………………...………………………
………………………………………...……………………… ………………………………………...………………………
………………………………………...……………………… ………………………………………...………………………
………………………………………...……………………… ………………………………………...………………………
………………………………………...………………………
Système ouvert : ………………………………………...………………………
………………………………………...……………………… ………………………………………...………………………
………………………………………...……………………… ………………………………………...………………………
………………………………………...……………………… ………………………………………...………………………
………………………………………...………………………
Système à fonctionnalités émergeantes : ………………………………………...………………………
………………………………………...……………………… ………………………………………...………………………
………………………………………...……………………… ………………………………………...………………………
………………………………………...……………………… ………………………………………...………………………
………………………………………...………………………
Question 3 (03 points): ………………………………………...………………………
………………………………………...………………………
Quelle est la différence entre Objet, Acteur et Agent ?
………………………………………...………………………
………………………………………...………………………
………………………………………...………………………
………………………………………...………………………
………………………………………...………………………
………………………………………...………………………
………………………………………...………………………
………………………………………...………………………
………………………………………...………………………
………………………………………...………………………
………………………………………...……………………… Utiliser le verso si nécessaire Bon courage.
Université 20 Août 1955, Skikda. Le 25/01/2014
Département d’informatique. Promotion : M1 Pro, Ingénierie des Systèmes distribués.
Nom : Prénom :
Note : ……... / 20
Question 1 (05 points): Système immunitaire artificiel
Dans les questions QCM suivantes, cochez la (ou les) ………………………………………...………………………
réponse(s) correcte(s). Et / Ou complétez AUTRE. ………………………………………...………………………
1. Une métaphore biologique est : Les algorithmes génétiques
L'origine d'un paradigme bio-inspiré ………………………………………...………………………
Une simulation informatique du monde réel ………………………………………...………………………
Une analogie entre le monde biologique et le Les ACO
monde artificiel.
………………………………………...………………………
AUTRE………………………..…………………………
………………………………………...………………………
…………………..…………………………………….…
Master 1
Réseaux et Systèmes Distribués
Au : Département d’informatique
Université du 20 août 1955, Skikda.
Durant l’année universitaire : 2017/2018, S1.
1
Plan
I. La plateforme JADE: Présentation générale.
II. Création d’agent et Interaction
(communication).
II.0. Avant de commencer
II.1. Travailler sur ligne de commandes : CMD
II.2. Travailler sous un IDE (Netbeans/Eclipse,...)
II.3. Envoi et réception de message ACL
II.4. Lancer l’agent à partir d’une classe main
II.5. Utilisation du sniffer agent du GUI de
l’agent RMA
Tutorial Jade; Pensez Agent. M1 RSD, ZEGHIDA Djamel, Université 20 Août 1955, Skikda. 2
I. La plateforme JADE: Présentation générale
Tutorial Jade; Pensez Agent. M1 RSD, ZEGHIDA Djamel, Université 20 Août 1955, Skikda. 3
Un conteneur (container)
est une machine (M1, M2,
M3,…), ce n’est pas
obligatoirement un PC, ça
peut être une machine sous
des systèmes hétérogènes
(Windows, Linux, Mac OS
X, VMS, etc.).
Les agents utilisateur
peuvent être crées dans
des conteneurs simples
(Container-1, Container-2,
Container-3, …) ou dans le
Main Container.
Tutorial Jade; Pensez Agent. M1 RSD, ZEGHIDA Djamel, Université 20 Août 1955, Skikda. 7
Le lancement d’une
plateforme Jade se fait par La plateforme jade (GUI de l’agent RMA)
l’exécution en premier du
Main-Container (), en suite
des agents utilisateur.
Le main-container dispose
obligatoirement des agents :
AMS, DF, ACC et un agent
RMA (Remote Management
Agent) pour contrôler le
cycle de vie de tous les
agents de la plate-forme.
Les agents communiquent par des actes de langage FIPA ACL :
Agent Communication Language.
8
Tutorial Jade; Pensez Agent. M1 RSD, ZEGHIDA Djamel, Université 20 Août 1955, Skikda.
II. Création d’agent et Interaction (communication)
II.0 Avant de commencer
Configurer Java:
1. Lancez le CMD, pour tester java tapez : java –version ↵
Résultat: Version Java affichée OK, ça fonctionne, Java est configuré
2. Télécharger Java (version : jre1.8.0_151), le cas échéant, du site :
http://www.oracle.com/technetwork/java/javase/downloads/index.html
ou https://www.java.com/fr/download/
3. Copier le chemin Java : ….. Java/jdk/ bin
4. Aller à : Paramètres système avancés
5. Cliquer sur: Variables d’environnement
6. Dans la masque du haut: Variables utilisateur; Cliquer Nouvelle :
Taper dans le champ Nom variable : java-home
et coller dans le champ Valeur variable le chemin java.
7. Dans la masque du bas: Variables système; Cliquer new (Nouvelle) :
Sélectionner Path et cliquer Modifier
et coller le chemin java après un point-virgule ‘’;’’ (ou créer Path).
Tutorial Jade; Pensez Agent. M1 RSD, ZEGHIDA Djamel, Université 20 Août 1955, Skikda. 9
Tutorial Jade; Pensez Agent. M1 RSD, ZEGHIDA Djamel, Université 20 Août 1955, Skikda. 10
II. Création d’agent et Interaction (communication)
II.1 Travailler sur ligne de commandes : CMD (1/2)
Tutorial Jade; Pensez Agent. M1 RSD, ZEGHIDA Djamel, Université 20 Août 1955, Skikda. 11
Tutorial Jade; Pensez Agent. M1 RSD, ZEGHIDA Djamel, Université 20 Août 1955, Skikda. 12
II. Création d’agent et Interaction (communication)
II.2 Travailler sous un IDE (Netbeans ou Eclipse, ….) (1/4)
Tutorial Jade; Pensez Agent. M1 RSD, ZEGHIDA Djamel, Université 20 Août 1955, Skikda. 13
Tutorial Jade; Pensez Agent. M1 RSD, ZEGHIDA Djamel, Université 20 Août 1955, Skikda. 16
II. Création d’agent et Interaction (communication)
II.3 Envoi et réception de message ACL (1/4)
Tutorial Jade; Pensez Agent. M1 RSD, ZEGHIDA Djamel, Université 20 Août 1955, Skikda. 17
Tutorial Jade; Pensez Agent. M1 RSD, ZEGHIDA Djamel, Université 20 Août 1955, Skikda. 20
II. Création d’agent et Interaction (communication)
II.4 Lancer l’agent à partir d’une classe main 1/8
1. Créer un agent
package myagents;
import jade.core.Agent;
public class MyAgent extends Agent{
protected void setup() {
System.out.println(“Salam, my ID is:"+this.getAID().getName());
}
}
Tutorial Jade; Pensez Agent. M1 RSD, ZEGHIDA Djamel, Université 20 Août 1955, Skikda. 21
1. Pour créer plusieurs agents (cinq 5) dans le conteneur principal on ajoute une boucle comme suite :
import jade.core.Profile;
import jade.core.ProfileImpl;
import jade.core.Runtime;
import jade.wrapper.AgentController;
import jade.wrapper.ContainerController;
import jade.wrapper.StaleProxyException;
public class MyMainContainer {
public static void main(String[] args) {
//créer un environnement d’exécution
Runtime rt=Runtime.instance(); //créer une instance du Runtime (jade.core.Runtime)
Profile pf=new ProfileImpl(); //créer une variable Profile (jade.core.Profile/ProfileImpl
pf.setParameter(Profile.MAIN_HOST, "localhost");
pf.setParameter(Profile.GUI, "true");
ContainerController cc=rt.createMainContainer(pf);
//créer le MainContainer (jade.wrapper.ContainerController)
for (int i = 1; i < 6; i++) { // pour exécuter les agents (jade.wrapper.AgentController)
AgentController ac; // pour exécuter un agent (jade.wrapper.AgentController)
try {
ac=cc.createNewAgent(“IdMyAgent"+i, “myAgents.MyAgent", null);
// créer l’agent:unique id:IdMyAgenti, classe:MyAgent, package: myagents
ac.start();// lancer l’agenti créé
} catch (StaleProxyException e) { //import jade.wrapper.StaleProxyException;
e.printStackTrace();
}
}
}
}
2. Pour l’exécution, il suffit de lancer la classe MyMainContainer as Java application
3. Pour une autre exécution ( : Terminate, Remove Launch, Remove All Terminated Launches)
Tutorial Jade; Pensez Agent. M1 RSD, ZEGHIDA Djamel, Université 20 Août 1955, Skikda. 23
Le deuxième agent:
package myintractagents;
import jade.core.AID;
import jade.core.Agent;
import jade.core.behaviours.OneShotBehaviour;
import jade.lang.acl.ACLMessage;
public class IntractAgent2 extends Agent {
protected void setup() {
addBehaviour (new OneShotBehaviour() {
public void action() {
ACLMessage msg=new ACLMessage(ACLMessage.INFORM);
msg.setContent("Initiation d’intéraction");
msg.addReceiver(new AID("IntractAgent1", AID.ISLOCALNAME));
send(msg);
}
});
}
}
Tutorial Jade; Pensez Agent. M1 RSD, ZEGHIDA Djamel, Université 20 Août 1955, Skikda. 25
Tutorial Jade; Pensez Agent. M1 RSD, ZEGHIDA Djamel, Université 20 Août 1955, Skikda. 26
II. Création d’agent et Interaction (communication)
II.4 Lancer l’agent à partir d’une classe main 7/8
B. Un agent dans le MainContainer et l’autre dans un conteneur avec envoi et réception de message ACL entre conteneurs :
Tutorial Jade; Pensez Agent. M1 RSD, ZEGHIDA Djamel, Université 20 Août 1955, Skikda. 27
package myintractagents;
import jade.core.Agent;
import jade.core.behaviours.CyclicBehaviour;
import jade.lang.acl.ACLMessage;
public class AgentToKill extends Agent {
protected void setup() {
addBehaviour(new CyclicBehaviour() {
public void action() {
ACLMessage msg=receive();
if(msg!=null) {
if(msg.getContent().equals("delete"))
doDelete();
} else block();
}
});
}
}
Faites un Run et à partir de l’interface Jade (GUI de l’agent RMA) envoyez un message avec
le contenu "hello", rien ne se passe et l’agent est toujours présent. Ensuite avec le contenu
"delete", l’agent sera tué et disparait du GUI de l’agent RMA.
Tutorial Jade; Pensez Agent. M1 RSD, ZEGHIDA Djamel, Université 20 Août 1955, Skikda. 29