IA54 – Communication FIPA ACL UTBM – A2011 Mickael ADELINE Kévin LE ROY Paul TALAGRAND.

Slides:



Advertisements
Présentations similaires
Réseaux locaux industriels Le BUS CAN
Advertisements

Applications N-Tiers Rappels: architecture et méthodologie
Structure et rôles des Autorités nationales désignés (AND) Mars 2005.
Frédéric Chinouilh Alsy Consultant .Net Pierre Couzy Microsoft France
Métabolisme révision décembre Révisions de métabolisme.
Gestion des événements (suite)
Communication par diffusion : Multicast Clientn Serveur Client1 Client2 Gr.
REPLIES TO INQURIES=REPONSES A DES DEMANDES. Replies to inquiries 1.We acknowledge receipt of your letter dated 7 july. 1.We acknowledge receipt of your.
Correspondance commerciale. Unsolicited offers =offres non solicitées. 1. we have just launched a new product……… 2.We are the leading manufactures of.
French 3 & 4 October 17, When I was teaching in France, most of my students had all of their classes with the same group of people. How would this.
Projet n°4 : Objecteering
Architecture de réseaux
Un programme Hello World du début des années #T OXXXXXX0 HELLO WORLD Ce programme ( en langage machine ) consiste en 3 lignes, totalisant 27.
AWEB Gestion d’un théâtre 28 juin 2002
PILOTE - Sous Projet PILOTE SOUS-PROJET 5 Cyril Carrez, Elie Najm, Alexandre Tauveron.
PILOTE - Sous Projet PILOTE SOUS-PROJET 5 Cyril Carrez, Elie Najm, Alexandre Tauveron.
Indicateurs de position
Introduction à MPI Types dérivés MPI Décembre 2005
Algorithme et structure de données
Par Sidi Mahmoud Aidara Mbibi
Langage Oriente Objet Cours 4.
Principes de persistance dans les applications orienté objet
Classes abstraites et Interfaces
Vers la conception objet
Complément Le diagramme des classes
Management des systèmes d’information Conclusion
Révision des notions OO et Java Semaine 1 Jian-Yun Nie.
CAZENAVE Anne - GABARDOS Laurent - SALES Florent
« Recherche de méthode d’estimation de volume de production à risque »
Projet de diplôme 2011 Miserez David
Diagramme d’interaction
Un patron de conception
802.1x Audric PODMILSAK 13 janvier 2009.
Design Pattern: Decorator
Cours du 22 novembre généricité. Chapitre VII Généricité.
Cours 5 Héritage, Interfaces, classes internes. POO-L3 H. Fauconnier2 La classe Object Toutes les classes héritent de la classe Object Object méthodes:
Le diagramme de séquences
Démarche de développement
Indirect Object Pronouns melelui telaleur nous l vousles Je lui parle!
1111 Gestion des exceptions Objectifs À la fin de ce cours, vous serez capables de : • Expliquer les concepts de base de la gestion des exceptions.
Implémentation OAI-PMH CNDP – Jérôme Martin
Smart sensors and ubiquitous applications
Branche Développement Le présent document contient des informations qui sont la propriété de France Télécom. L'acceptation de ce document par son destinataire.
Projet de semestre Responsable :Prof. Claude Petitpierre Superviseur :Duy Vo Duc.
Objectifs À la fin de ce cours, vous serez capables de :
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Gestion de bases de données réparties
Outil de gestion des cartes grises
Slide 1 of 39 Waterside Village Fête ses 20 ans.
Projet de stage d’année IIR4 sous le thème:
Minor Road Property June 23, Great news! As of this morning the last legal obligations were completed: Waterside is now the owner of the two parcels.
Quel est l’intérêt d’utiliser le diagramme de Gantt dans la démarche de projet A partir d’un exemple concret, nous allons pouvoir exploiter plusieurs parties.
Factory Design Patterns. Contents Factory patterns: principesFactory patterns: principes The Factory Method patternThe Factory Method pattern The Abstract.
22 Visual Studio Tools et Office 2010 Thomas LEBRUN Architecte Access It Sebastien BOVO Application Dev Consultant Microsoft France
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
Présentation Interception Log2XMI XMI Perspectives CorbaTrace Florian Champalle Audrey Jaccard Etienne Juliot Nicolas Lemoullec Antoine Parra del Pozo.
Un design pattern orienté-objet
CEG3585/CEG3555 Tutorat 2 Hi ver 2013.
Metro Web Services Ben Yaflah Marouen Dhrif Mohamed Hbib Hajlaoui Nader.
Warm up Vocabulary review. manger la pizza jouer au volley.
C# de plus près.  Ce sont globalement les mêmes que Java : ◦ Int(int16, int32), float, double, bool,…  Les classe « communes » sont également les mêmes.
Exemple d’outil: ZEUS Roger Nkambou.
UPDATE UPDATE ON TV ANTENNAS SINCE LAST BOARD MEETING SINCE LAST BOARD MEETING HELD ON FEBRUARY 25, 2010, YOUR BOARD HAS MADE MORE PROGRESS; A CONTRACT.
10 STRINGS FOR YOU.
Slide 1 of Slide 2 of 37.
VIDEO « FACEBOOK IN 1 MINUTE ». 1.Write the correct number to answer the question. How many links are shared per minute? How many photos are tagged each.
IA54 – Communication FIPA ACL UTBM – A2011 Mickael ADELINE Kévin LE ROY Paul TALAGRAND.
10 février 2016 Informatique et Réseaux – Domaine de responsabilités.
BlueJ_III 1 Java, les objets : tout de suite ! Interaction entre objets Notes de cours associées au chapitre 3 tutorial BlueJ
O WHY IS IT IMPORTANT TO PLAN AHEAD FOR THE FUTURE?
Transcription de la présentation:

IA54 – Communication FIPA ACL UTBM – A2011 Mickael ADELINE Kévin LE ROY Paul TALAGRAND

Plan : Sujet et objectifs Résultats obtenus Architecture de la librairie ACL ▫Diagrammes UML ▫Décodage & encodage des données ▫Utilisation de la librairie Architecture des protocoles ▫Diagrammes UML ▫Protocole Request ▫Utilisation du Protocole Request ▫Protocole CNP ▫Utilisation du Protocole CNP Améliorations possibles Conclusion 1

Sujet et objectifs : Fournir le support des messages ACL dans Janus Permettre l’utilisation de protocoles d’interaction dans Janus Développer une démo d’agents communicatifs 2

Résultats obtenus : Support des messages ACL dans Janus : ▫En accord avec les normes de la FIPA. ▫Se limite à la représentation en String. Implémentations de protocoles d’intéraction : ▫Request Interaction Protocol ▫CNP : Contract Net Interaction protocol Démos d’agents communicatifs : ▫Démo 1 : simple usage des messages ACL ▫Démo 2 : communication de 2 agents via le Protocole Request ▫Démo 3 : communication de 3 agents via CNP 3

Architecture de la librairie ACL : Structure d’un ACL Message : 4

Architecture de la librairie ACL : ACL Agent gérant les messages ACL : 5

Architecture de la librairie ACL : Envoi d’un ACL Message : 6

Architecture de la librairie ACL : Réception d’un ACL Message : 7

Architecture de la librairie ACL : Utilisation de la librairie (Démo 1) : Côté « Sender » : ▫ACLMessage message = new ACLMessage(“Hey!”, Performative.PROPOSE); ▫sendACLMessage(message, agentAddressReceiver); Côté « Receiver » : ▫ACLMessage aMsg = getACLMessage(); 8

Architecture des protocoles (Overview) : 9

Architecture des protocoles : 10 Utilisation des protocoles : ▫protocolManager = new FipaConversationManager(this); ▫AbstractFipaProtocol protocol = protocolManager.createConversation(EnumFipaProtocol.FIPA_REQUEST, "First request protocol"); ▫Côté initiateur : protocol.initiate(getAddress(), participant); ▫Côté participant : protocol.initiateAsParticipant();

Request Interaction Protocol : 11 Rôle REQUESTER : ▫case SENDING_REQUEST:  requestProtocol.request( "friend" ); ▫case WAITING_ANSWER:  answer = requestProtocol.getAnswer();  if (answer.getPerformative().compareTo(Perfor mative.REFUSE) == 0)  return State.REFUSED;  Else  return State.WAITING_RESULT; ▫case WAITING_RESULT:  result = requestProtocol.getResult(); ▫case DONE:  leaveMe();

Request Interaction Protocol : 12 Rôle ANSWERER: ▫case WAITING_REQUEST:  request = requestProtocol.getRequest(); ▫case SENDING_ANSWER:  if( request.getContent().toString().equalsIgnore Case("friend") )  requestProtocol.agree("yeah!");  return State.SENDING_RESULT;  else  requestProtocol.refuse("no");  return State.DONE; ▫case SENDING_RESULT:  requestProtocol.informDone("Let's meet!");  return State.DONE; ▫case DONE:  leaveMe();

Contract Net Protocol : 13 Rôle REQUESTER : ▫case SENDING_CALL_FOR_PROPOSAL:  contractNetProtocol.callForProposal("I wanna..."); ▫case WAITING_ALL_PROPOSALS:  proposals = contractNetProtocol.getAllProposals();  contractNetProtocol.acceptProposals(selectedParticip ants, "thanks"); ▫case WAITING_ALL_RESULTS:  results = contractNetProtocol.getResults();  return State.DONE; ▫case DONE:  leaveMe();

Contract Net Protocol : 14 Rôle ANSWERER : ▫case WAITING_CALL_FOR_PROPOSAL:  callForProposal = contractNetProtocol.getCallForProposal(); ▫case SENDING_PROPOSAL:  if( callForProposal.getContent().toString().equalsIgnoreCase("I wanna...") )  contractNetProtocol.propose("120");  Else  contractNetProtocol.refuse("not interested"); ▫case WAITING_PROPOSAL_ANSWER:  ProtocolResult result = contractNetProtocol.getAnswerToCallForProposal(); ▫  if (result.getPerformative().compareTo(Performative.ACCEPT_PROPOSAL) == 0)  return State.SENDING_RESULT;  else if (result.getPerformative().compareTo(Performative.REJECT_PROPOSAL) == 0)  return State.REJECTED; ▫case SENDING_RESULT:  contractNetProtocol.informResult("task completed"); ▫case REJECTED:  leaveMe(); ▫case DONE:  leaveMe();

Améliorations possibles : Gérer l’encodage/décodage en BitEfficient et en XML. Certains attributs des messages ACL ne sont pas exploités : ▫Reply-by, In-reply-to, Reply-with, Reply-to. Certaines méthodes de la classe ACLAgent devraient être en protected et non pas en public. 15

Conclusion : Objectifs atteints. ▫Retouches à effectuer, mais l’essentiel des fonctionnalités ont été développées. 16