SlideShare ist ein Scribd-Unternehmen logo
1 von 25
PROTOCOLOS DE COMUNICACION Adrián Ferreira García Diego Rodríguez González Grupo Avia
Protocolos de comunicación La comunicación entre agentes responde a un patrón de los especificados por FIPA, denominados protocolos. Cada uno de estos protocolos establece el intercambio básico de mensajes que existe entre dos agentes para un tipo de conversación. El Protocolo de comunicación JADE se define mediante dos roles, el que inicia la conversación y el que es destino de la misma (rol Initiator y rol Responder). JADE proporciona unas clases de comportamiento prediseñadas para ambos roles. Estas clases se encuentran en el paquete jade.proto.
3.6.1 El paquete jade.proto El paquete jade.protoagrupa todas las clases que, en forma de comportamientos, facilitan la implementación de los protocolos de comunicación definidos por FIPA.  Se agrupan dentro del paquete en cuatro parejas de clases principales . A mayores de estas cuatro clases existen otras subclases que añaden valores a las principales o que las simplifican.
3.6.1 El paquete jade.proto (cont.)
3.6.1 El Paquete jade.proto (cont.) Las acciones de los agentes dentro de los protocolos FIPA se puede reducir simplemente al funcionamiento de una máquina de estados finitos. Este seria el típico comportamiento utilizado para representar dichas máquinas: (Iniciador)	- Pedro: Juan, ¿Tienes hora? (Respondedor)	- Juan: Sí, un segundo. (Respondedor) 	- Juan mira el reloj. (Respondedor) 	- Juan: Son las seis en punto. Esta conversación sigue el modelo del protocolo FIPA-Request, es decir, hay una petición del agente Initiator y una aceptación y respuesta del agente Responder
3.6.1 El paquete jade.proto (cont.)
3.6.1 El paquete jade.proto (cont.) La acciones que se realizan en cada estado se definen mediante los manejadores (Handlers), mientras que los mensajes se concretan mediante los preparadores (Prepares). La siguiente figura muestra dicho funcionamiento con claridad:
3.6.1 El paquete jade.proto (cont.)
3.6.1.1 Manejadores (Handle y registerHandler) Un manejador es una manera de tratar determinadas situaciones, que se iniciaran en determinado momento y en funcion del estado al que esté asociado.  Existen dos formas de implementar un manejador: 1. Sobrecarga de métodos handle:   Cada comportamiento tiene una serie de métodos handle con la forma: handleInform, handleRequest, etc. Cada uno de ellos será invocado cuando se reciba el tipo de mensaje correspondiente.
3.6.1.1 Manejadores (Handle y registerHandler) 2. Registrar manejadores propios: se podrán registrar comportamientos para que actúen como manejadores. El registro se hará a través de los métodos registrerHandler, que son de la forma: registerHanderInform registreHandlerRequest En caso de registrar un comportamiento como manejador, el sistema ignorará las sobrecargas de los métodos handler y se limitará a iniciar los comportamientos registrados.
3.6.1.1 Manejadores (handler y registerHandler)(Tipos) Mensajes asociados a formas predeterminadas: Hay ciertos manejadores que serán iniciados cada vez que llegue un mensaje con determinado patrón, pero siempre que ese mensaje llegue según lo esperado por el protocolo FIPA que corresponda. Manejadores AllResponses: Serán lanzados cuando se reciban todas las respuestas al primer mensaje enviado por el iniciador o cuando se supere el tiempo de espera, indicado en el campo reply-by de ese mensaje inicial. Proporciona acceso a todos los mensajes recibidos. Se encuentra en todos los iniciadores.
3.6.1.1 Manejadores (handler y registerHandler)(Tipos) Manejadores AllResultNotifications: Serán lanzados cuando se reciban todas las respuestas finales o cuando se supere el tiempo de espera, indicado en el campo reply-by de ese mensaje inicial. Proporciona acceso a todos los mensajes recibidos. Solamente se encuentra en el iniciador AchieveRE y en el ContractNet. Manejador OutOfSequence: Este es el manejador que se encarga de actuar en el caso de que el mensaje recibido no se corresponda con el patrón esperado según el protocolo FIPA, excepciones principalmente.
3.6.1.2 Preparadores (prepare y registerPrepare) Un preparador lo que hace es preparar un mensaje para ser enviado, por lo que son inicializados antes de enviar un mensaje del tipo al que estén asociados En el caso de registrar comportamientos habrá que guardar en el almacén de datos y con una clave determinada el mensaje que se desea enviar.  Se deber tener mucho cuidado a la hora de rellenar los campos de los mensajes.  El hecho de dejar vacío un campo puede interrumpir todo el protocolo
3.6.1.3 El almacén de datos El almacén de datos guarda todos los mensajes que se envían o reciben durante todo el proceso de comunicación, es decir, a lo largo de la ejecución de un protocolo. Cada clase define un conjunto de constantes que servirán de clave para acceder a un tipo de mensajes determinado. Registrar el mensaje de respuesta (Response) ACLMessage response = new ACLMessage(ACLMessage.ACCEPT_PROPOSAL); this.getDataStore().put(ProposeResponder.RESPONSE_KEY, response); Obtener el mensaje Propose recibido ACLMessage propose = (ACLMessage) this.getDataStore().get(ACLMessage.PROPOSE_KEY);
3.6.2 AchieveRE La característica principal de los mensajes en FIPA-ACL es que cada uno de ellos representa un acto comunicativo. El estándar FIPA especifica para cada acto comunicativo:  ,[object Object]
Efecto Razonable (RationalEffect),[object Object]
AchieveREResponder
SimpleAchieveREInitiator
SimpleAchieveREResponder
IteratedAchieveREInitiator
SSIteratedAchieveREResponderLa sesión de cada protocolo con un respondedor dado terminará si:  ,[object Object]
El respondedor responde de forma negativa con REFUSE, NOT_UNDERSTOOD o FAILURE.
El respondedor incluye una bandera de terminación a la notificación de resultado INFORM. Esta bandera de terminación puede detectarse usando el método isSessionTerminated().,[object Object]
FIPA-Query,[object Object]
Agree, si acepta la petición o Refuse si la rechaza.

Weitere ähnliche Inhalte

Ähnlich wie Seminario 5 deko ferreira

Sma jade
Sma jadeSma jade
Sma jade
kasas12
 
Comunicación. sma1011_limia
Comunicación. sma1011_limiaComunicación. sma1011_limia
Comunicación. sma1011_limia
Denis Formoso
 
Protocolos y servicios informáticos
Protocolos y servicios informáticosProtocolos y servicios informáticos
Protocolos y servicios informáticos
jedah89
 

Ähnlich wie Seminario 5 deko ferreira (20)

Tolerancia A Fallos
Tolerancia A FallosTolerancia A Fallos
Tolerancia A Fallos
 
s.o.
s.o.s.o.
s.o.
 
Modelo paso de mensajes
Modelo paso de mensajesModelo paso de mensajes
Modelo paso de mensajes
 
Sma jade
Sma jadeSma jade
Sma jade
 
Clase 5 struts2
Clase 5 struts2Clase 5 struts2
Clase 5 struts2
 
Comunicación. sma1011_limia
Comunicación. sma1011_limiaComunicación. sma1011_limia
Comunicación. sma1011_limia
 
Spring Annotations: Proxy
Spring Annotations: ProxySpring Annotations: Proxy
Spring Annotations: Proxy
 
Midlets con J2ME
Midlets con J2MEMidlets con J2ME
Midlets con J2ME
 
Sincronización de Procesos
Sincronización de Procesos Sincronización de Procesos
Sincronización de Procesos
 
Unidad 2 sist. oper. 1
Unidad 2 sist. oper. 1Unidad 2 sist. oper. 1
Unidad 2 sist. oper. 1
 
Resumen
ResumenResumen
Resumen
 
Resumen
ResumenResumen
Resumen
 
Encapsulamiento
EncapsulamientoEncapsulamiento
Encapsulamiento
 
Tarea3 fernando lopez
Tarea3   fernando lopezTarea3   fernando lopez
Tarea3 fernando lopez
 
Tarea3 fernando lopez
Tarea3   fernando lopezTarea3   fernando lopez
Tarea3 fernando lopez
 
Estructuras básicas.docx
Estructuras básicas.docxEstructuras básicas.docx
Estructuras básicas.docx
 
Programación básica
Programación básicaProgramación básica
Programación básica
 
UNIDAD II ADMINISTRADOR DE PROCESADOR
UNIDAD II ADMINISTRADOR DE PROCESADORUNIDAD II ADMINISTRADOR DE PROCESADOR
UNIDAD II ADMINISTRADOR DE PROCESADOR
 
Protocolos y servicios informáticos
Protocolos y servicios informáticosProtocolos y servicios informáticos
Protocolos y servicios informáticos
 
Capitulo2
Capitulo2Capitulo2
Capitulo2
 

Kürzlich hochgeladen

Catalogo de tazas para la tienda nube de dostorosmg
Catalogo de tazas para la tienda nube de dostorosmgCatalogo de tazas para la tienda nube de dostorosmg
Catalogo de tazas para la tienda nube de dostorosmg
dostorosmg
 
GUIA UNIDAD 3 costeo variable fce unc.docx
GUIA UNIDAD 3 costeo variable fce unc.docxGUIA UNIDAD 3 costeo variable fce unc.docx
GUIA UNIDAD 3 costeo variable fce unc.docx
AmyKleisinger
 
CRITERIOS DE EVALUACIÓN - NIVEL INICIAL.docx
CRITERIOS DE EVALUACIÓN - NIVEL INICIAL.docxCRITERIOS DE EVALUACIÓN - NIVEL INICIAL.docx
CRITERIOS DE EVALUACIÓN - NIVEL INICIAL.docx
geuster2
 
3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx
3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx
3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx
Evafabi
 
CARPETA PEDAGOGICA 2024 ARITA.sadasdasddocx
CARPETA PEDAGOGICA 2024 ARITA.sadasdasddocxCARPETA PEDAGOGICA 2024 ARITA.sadasdasddocx
CARPETA PEDAGOGICA 2024 ARITA.sadasdasddocx
WILIANREATEGUI
 
260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx
260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx
260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx
i7ingenieria
 

Kürzlich hochgeladen (20)

CORRIENTES DEL PENSAMIENTO ECONÓMICO.pptx
CORRIENTES DEL PENSAMIENTO ECONÓMICO.pptxCORRIENTES DEL PENSAMIENTO ECONÓMICO.pptx
CORRIENTES DEL PENSAMIENTO ECONÓMICO.pptx
 
DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBRE
DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBREDISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBRE
DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBRE
 
Catalogo de tazas para la tienda nube de dostorosmg
Catalogo de tazas para la tienda nube de dostorosmgCatalogo de tazas para la tienda nube de dostorosmg
Catalogo de tazas para la tienda nube de dostorosmg
 
Sostenibilidad y continuidad huamcoli robin-cristian.pptx
Sostenibilidad y continuidad huamcoli robin-cristian.pptxSostenibilidad y continuidad huamcoli robin-cristian.pptx
Sostenibilidad y continuidad huamcoli robin-cristian.pptx
 
CONSTITUCIÓN POLÍTICA DEL PERÚ al 25082023.pdf
CONSTITUCIÓN POLÍTICA DEL PERÚ al 25082023.pdfCONSTITUCIÓN POLÍTICA DEL PERÚ al 25082023.pdf
CONSTITUCIÓN POLÍTICA DEL PERÚ al 25082023.pdf
 
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
 
Ficha de datos de seguridad MSDS Ethanol (Alcohol etílico)
Ficha de datos de seguridad MSDS Ethanol (Alcohol etílico)Ficha de datos de seguridad MSDS Ethanol (Alcohol etílico)
Ficha de datos de seguridad MSDS Ethanol (Alcohol etílico)
 
GUIA UNIDAD 3 costeo variable fce unc.docx
GUIA UNIDAD 3 costeo variable fce unc.docxGUIA UNIDAD 3 costeo variable fce unc.docx
GUIA UNIDAD 3 costeo variable fce unc.docx
 
Correcion del libro al medio hay sitio.pptx
Correcion del libro al medio hay sitio.pptxCorrecion del libro al medio hay sitio.pptx
Correcion del libro al medio hay sitio.pptx
 
CRITERIOS DE EVALUACIÓN - NIVEL INICIAL.docx
CRITERIOS DE EVALUACIÓN - NIVEL INICIAL.docxCRITERIOS DE EVALUACIÓN - NIVEL INICIAL.docx
CRITERIOS DE EVALUACIÓN - NIVEL INICIAL.docx
 
Contabilidad Gubernamental guia contable
Contabilidad Gubernamental guia contableContabilidad Gubernamental guia contable
Contabilidad Gubernamental guia contable
 
3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx
3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx
3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx
 
Maria_diaz.pptx mapa conceptual gerencia industral
Maria_diaz.pptx mapa conceptual   gerencia industralMaria_diaz.pptx mapa conceptual   gerencia industral
Maria_diaz.pptx mapa conceptual gerencia industral
 
Reporte Tributario para Entidades Financieras.pdf
Reporte Tributario para Entidades Financieras.pdfReporte Tributario para Entidades Financieras.pdf
Reporte Tributario para Entidades Financieras.pdf
 
DECRETO-2535-DE-1993-pdf.pdf VIGILANCIA PRIVADA
DECRETO-2535-DE-1993-pdf.pdf VIGILANCIA PRIVADADECRETO-2535-DE-1993-pdf.pdf VIGILANCIA PRIVADA
DECRETO-2535-DE-1993-pdf.pdf VIGILANCIA PRIVADA
 
CARPETA PEDAGOGICA 2024 ARITA.sadasdasddocx
CARPETA PEDAGOGICA 2024 ARITA.sadasdasddocxCARPETA PEDAGOGICA 2024 ARITA.sadasdasddocx
CARPETA PEDAGOGICA 2024 ARITA.sadasdasddocx
 
Manual de Imagen Personal y uso de uniformes
Manual de Imagen Personal y uso de uniformesManual de Imagen Personal y uso de uniformes
Manual de Imagen Personal y uso de uniformes
 
CAMBIO DE USO DE SUELO LO BARNECHEA - VITACURA - HUECHURABA
CAMBIO DE USO DE SUELO LO BARNECHEA - VITACURA - HUECHURABACAMBIO DE USO DE SUELO LO BARNECHEA - VITACURA - HUECHURABA
CAMBIO DE USO DE SUELO LO BARNECHEA - VITACURA - HUECHURABA
 
Presentacion encuentra tu creatividad papel azul.pdf
Presentacion encuentra tu creatividad papel azul.pdfPresentacion encuentra tu creatividad papel azul.pdf
Presentacion encuentra tu creatividad papel azul.pdf
 
260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx
260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx
260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx
 

Seminario 5 deko ferreira

  • 1. PROTOCOLOS DE COMUNICACION Adrián Ferreira García Diego Rodríguez González Grupo Avia
  • 2. Protocolos de comunicación La comunicación entre agentes responde a un patrón de los especificados por FIPA, denominados protocolos. Cada uno de estos protocolos establece el intercambio básico de mensajes que existe entre dos agentes para un tipo de conversación. El Protocolo de comunicación JADE se define mediante dos roles, el que inicia la conversación y el que es destino de la misma (rol Initiator y rol Responder). JADE proporciona unas clases de comportamiento prediseñadas para ambos roles. Estas clases se encuentran en el paquete jade.proto.
  • 3. 3.6.1 El paquete jade.proto El paquete jade.protoagrupa todas las clases que, en forma de comportamientos, facilitan la implementación de los protocolos de comunicación definidos por FIPA. Se agrupan dentro del paquete en cuatro parejas de clases principales . A mayores de estas cuatro clases existen otras subclases que añaden valores a las principales o que las simplifican.
  • 4. 3.6.1 El paquete jade.proto (cont.)
  • 5. 3.6.1 El Paquete jade.proto (cont.) Las acciones de los agentes dentro de los protocolos FIPA se puede reducir simplemente al funcionamiento de una máquina de estados finitos. Este seria el típico comportamiento utilizado para representar dichas máquinas: (Iniciador) - Pedro: Juan, ¿Tienes hora? (Respondedor) - Juan: Sí, un segundo. (Respondedor) - Juan mira el reloj. (Respondedor) - Juan: Son las seis en punto. Esta conversación sigue el modelo del protocolo FIPA-Request, es decir, hay una petición del agente Initiator y una aceptación y respuesta del agente Responder
  • 6. 3.6.1 El paquete jade.proto (cont.)
  • 7. 3.6.1 El paquete jade.proto (cont.) La acciones que se realizan en cada estado se definen mediante los manejadores (Handlers), mientras que los mensajes se concretan mediante los preparadores (Prepares). La siguiente figura muestra dicho funcionamiento con claridad:
  • 8. 3.6.1 El paquete jade.proto (cont.)
  • 9. 3.6.1.1 Manejadores (Handle y registerHandler) Un manejador es una manera de tratar determinadas situaciones, que se iniciaran en determinado momento y en funcion del estado al que esté asociado. Existen dos formas de implementar un manejador: 1. Sobrecarga de métodos handle: Cada comportamiento tiene una serie de métodos handle con la forma: handleInform, handleRequest, etc. Cada uno de ellos será invocado cuando se reciba el tipo de mensaje correspondiente.
  • 10. 3.6.1.1 Manejadores (Handle y registerHandler) 2. Registrar manejadores propios: se podrán registrar comportamientos para que actúen como manejadores. El registro se hará a través de los métodos registrerHandler, que son de la forma: registerHanderInform registreHandlerRequest En caso de registrar un comportamiento como manejador, el sistema ignorará las sobrecargas de los métodos handler y se limitará a iniciar los comportamientos registrados.
  • 11. 3.6.1.1 Manejadores (handler y registerHandler)(Tipos) Mensajes asociados a formas predeterminadas: Hay ciertos manejadores que serán iniciados cada vez que llegue un mensaje con determinado patrón, pero siempre que ese mensaje llegue según lo esperado por el protocolo FIPA que corresponda. Manejadores AllResponses: Serán lanzados cuando se reciban todas las respuestas al primer mensaje enviado por el iniciador o cuando se supere el tiempo de espera, indicado en el campo reply-by de ese mensaje inicial. Proporciona acceso a todos los mensajes recibidos. Se encuentra en todos los iniciadores.
  • 12. 3.6.1.1 Manejadores (handler y registerHandler)(Tipos) Manejadores AllResultNotifications: Serán lanzados cuando se reciban todas las respuestas finales o cuando se supere el tiempo de espera, indicado en el campo reply-by de ese mensaje inicial. Proporciona acceso a todos los mensajes recibidos. Solamente se encuentra en el iniciador AchieveRE y en el ContractNet. Manejador OutOfSequence: Este es el manejador que se encarga de actuar en el caso de que el mensaje recibido no se corresponda con el patrón esperado según el protocolo FIPA, excepciones principalmente.
  • 13. 3.6.1.2 Preparadores (prepare y registerPrepare) Un preparador lo que hace es preparar un mensaje para ser enviado, por lo que son inicializados antes de enviar un mensaje del tipo al que estén asociados En el caso de registrar comportamientos habrá que guardar en el almacén de datos y con una clave determinada el mensaje que se desea enviar. Se deber tener mucho cuidado a la hora de rellenar los campos de los mensajes. El hecho de dejar vacío un campo puede interrumpir todo el protocolo
  • 14. 3.6.1.3 El almacén de datos El almacén de datos guarda todos los mensajes que se envían o reciben durante todo el proceso de comunicación, es decir, a lo largo de la ejecución de un protocolo. Cada clase define un conjunto de constantes que servirán de clave para acceder a un tipo de mensajes determinado. Registrar el mensaje de respuesta (Response) ACLMessage response = new ACLMessage(ACLMessage.ACCEPT_PROPOSAL); this.getDataStore().put(ProposeResponder.RESPONSE_KEY, response); Obtener el mensaje Propose recibido ACLMessage propose = (ACLMessage) this.getDataStore().get(ACLMessage.PROPOSE_KEY);
  • 15.
  • 16.
  • 21.
  • 22. El respondedor responde de forma negativa con REFUSE, NOT_UNDERSTOOD o FAILURE.
  • 23.
  • 24.
  • 25. Agree, si acepta la petición o Refuse si la rechaza.
  • 26. En caso de que el mensaje anterior fuera un Agree:
  • 27. Failure si ocurrió algún error en el proceso.
  • 28. Inform-done si se realizó correctamente.
  • 29. inform-result si además se tiene que comunicar el resultado.Ejemplo
  • 30.
  • 31. Agree si se acepta o refuse si se rechaza.
  • 33. Failure si ocurrió algún error en el proceso
  • 34. Inform-T/F con la respuesta si la consulta era un Query-If
  • 35. Inform-Result si la consulta fue un Query-Ref. Ejemplo
  • 36.
  • 37. Los mensajes que se intercambian son:CFP (CallForProposal) Los respondedores pueden enviar un Refuse, un Not-Understood o un Propose El iniciador evalúa propuestas y envía Reject-Proposal o un Accept-Proposal. Los respondedores envían un Failure o bien Inform-Done, o Inform-Result.
  • 38.
  • 39.
  • 41.
  • 42.
  • 43. 3.6.5 Protocolo FIPA-Subscription El iniciador le solicita al respondedor permiso para suscribirse, el respondedor procesa esa solicitud y la acepta o la rechaza. Si la acepta envía un mensaje con las condiciones de suscripción, y lo hace de forma continua hasta que sufre un fallo y envía un failure o hasta que el iniciador cancela el envío. Ejemplo
  • 44.
  • 45. El respondedor envía un Refuse si no acepta la propuesta de suscripción, un Agree si la acepta y un Not-Understood si hubo algún fallo.
  • 46. Si la aceptó, después envía un Inform-Result con las condiciones que establezca para la suscripción.
  • 47. Para detener el envío, o bien sufre un fallo el respondedor y envía un Failure o bien envía un Cancel el iniciador.
  • 48. Si el proceso se detuvo porque el iniciador envió un Cancel, el respondedor manda un Inform-Done si todo se realizó exitosamente, o un Failure si algo no funcionó correctamente.Ejemplo