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

Slides:



Advertisements
Présentations similaires
Client Mac dans un réseau Wifi d’entreprise sécurisé
Advertisements

Frédéric Chinouilh Alsy Consultant .Net Pierre Couzy Microsoft France
Baghera Un environnement informatique
Systèmes en temps réel Classes passives & Passage de données.
Julien HERON.
Projet n°4 : Objecteering
XML - Henry Boccon-Gibod 1 XML, Langage de description La question du choix de formalismes Les entités et leur représentations modalités de modèles et.
Programmation Web Les JSP.
Test dans les objets DESS Andrés Farias –
Live Meeting Technique N°3 Thomas LEBRUN – MVP WPF/Silverlight Florent SANTIN – MVP Team System Julien CORIOLAND - MSP.
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
UML : GENERALITES Rappel Diagrammes Niveaux de visions
Projet de veille technologique
Etude des Technologies du Web services
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
Le langage PHP 5.
Struts 1 & 2 Tlohi ibtissam Tabit boutaina Ilias bouras
POO-L3 H. Fauconnier1 Chapitre IV 1. classe Object, clonage 2. interfaces 3. classes internes et imbriquées.
Analysis and design of agent-oriented information systems OFER ARAZY et CARSON C. WOO University of British Columbia, Vancouver The Knowledge Engineering.
Cours N°6 Application sur les listview et les Broadcast Receivers Rami AMRI FST 2011/2012.
Annotations sémantiques pour le domaine des biopuces
Classes abstraites et Interfaces
Vers la conception objet
- Projet LO43 - Médiathèque
Projet de BE COO-POO Réalisation d’une application Iquizz
Diagramme d’interaction
P. Van Roy, LINF1251 LINF1251: Le Langage Java Peter Van Roy Département dIngénierie Informatique, UCL
GT Modèles Formels pour l'Interaction
Design Pattern: Decorator
PROJET DE GENIE LOGICIEL 2005
Cilia Mediation Framework v0.9.0 Implantation.. Plan Cilia: c'est quoi? Capacités. Cilia: Modèle d'implantation. Mise en œuvre: Médiateur Cilia. Assemblage.
Cours du 22 novembre généricité. Chapitre VII Généricité.
Héritage Lhéritage permet de spécialiser une classe en définissant une relation de type « est une sorte de ». #include comptebancaire.h class CompteEpargne.
Le diagramme de séquences
Portée, arrimages et intervenants Évolution des méthodes
Démarche de développement
ASP .NET 2.0 : Création de contrôles serveurs
Le courrier électronique et son fonctionnement
Importance du réseau dans des architectures MIMD Tout échange entre les processeurs nécessite un transfert de données via le réseau.
IA54 – Communication FIPA ACL UTBM – A2011 Mickael ADELINE Kévin LE ROY Paul TALAGRAND.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 6 – Exceptions.
L’ ACCESSIBILITE « C’est mettre le Web et ses services à la disposition de tous les individus, quels que soient leur matériel ou logiciel, leur infrastructure.
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.
UML : un peu d’histoire H. Lounis.
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
Metro Web Services Ben Yaflah Marouen Dhrif Mohamed Hbib Hajlaoui Nader.
Requêtes homme-agent sur le fonctionnement Etudiantes: Anne DARME & Céline GIRARD Encadrant: Nicolas SABOURET Rapporteur: Vincent CORRUBLE Responsable:
Programmation parallèle
5ième Classe (Mercredi, 19 octobre) Prog CSI2572.
Acquisition d’information sur internet
Projet de fin d’étude Outil de Suivi et Pilotage de l’Activité de Recouvrement Amiable Judiciaire  
Un peu de Design Pattern Quelques modèles pour développer vite et bien.
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.
Code Contracts Gilles TOURREAU - MVP C# Architecte .NET / Formateur
Exemple d’outil: ZEUS Roger Nkambou.
Visualisation d’un entrepôt de données Pré soutenance technique
Toolkit WEB de contrôle en SVG Equipe Koala d’ILOG Encadré par Colas Nahaboo Isabelle LAFAYE.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Chapitre 5 Les diagrammes d’interaction (collaboration et séquence)
Analyse Orientée Objet Cahier de Laboratoire. Sujet : Il s'agit de concevoir un outil de gestion pour une PME qui commercialise des stations météorologiques.
Serveurs Web à contenu dynamique Emmanuel Cecchet INRIA Rhône-Alpes, Projet Sardes Rice University, Systems lab
BAC PRO « TERTIAIRE » ÉCONOMIE / DROIT L’ÉPREUVE à partir de 2013
Multimodalité en sortie
1 JEE 2010 Architectures n-tiers F.Pfister
Mathieu Martin Thomas Rovayaz Natacha Laborde Nathanaël Couret
(Networked Software Agent) une architecture multiagent
Interactions Utilisation Gros Emmanuel – Guyomard Erwann – Vogelsgsang Lionel Bilan du 21 février 2002.
DWR Jean-Jacques LE COZ. Introduction Projet DWR Framework AJAX Projet Open Source commencé en 2004 Licence GPL (Apache Software License v2) Sponsorisé.
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 gestion des messages ACL ▫Diagrammes UML ▫Utilisation de la librairie ▫Décodage & encodage des données Architecture des protocoles ▫Diagrammes UML ▫Protocole Request ▫Utilisation du Protocole Request ▫Protocole CNP ▫Utilisation du Protocole CNP Conclusion & améliorations possibles 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 : 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(); 6

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

Architecture de la librairie ACL : Réception d’un ACL Message : 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();

Conclusion & améliorations possibles : Objectifs atteints. ▫Retouches à effectuer, mais l’essentiel des fonctionnalités ont été développées. 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