SlideShare una empresa de Scribd logo
1 de 24
Protocolos de comunicación Manuel Bouzas Reguera Juan Sequeiros Ameijeira Silvia González Escuredo Grupo Avia
Protocolos de comunicación La comunicación entre agentes responden 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. Protocolos de comunicación JADE define dos roles, el que inicia la conversación y el que es objeto 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.)
Las acciones de los agentes en los protocolos FIPA se puede reducir simplemente a una máquina de estados finitos, y este es el tipo de comportamiento indicado para representar dichas máquinas. ejemplo : Pedro: Juan, ¿Tienes hora? Juan: Sí, un segundo. Juan mira el reloj. 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 preparan 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 un comportamiento que se iniciará al entrar en el estado al que esté asociado. Existen dos formas de implementar un manejador: ,[object Object],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.
[object Object],3.6.1.1 Manejadores (handle y registerHandler)(cont.)
Mensajes asociados a preformativas: Hay ciertos manejadores que serán iniciados cada vez que llegue un mensaje con determinada preformativa, 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 (handle y registerHandler)(cont.)
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 esperado según los protocolo FIPA. Es decir, funcionará con las excepciones 3.6.1.1 Manejadores (handle y registerHandler)(cont.)
3.6.1.2 Preparadores (prepare y registerPrepare) Un preparador lo que hace es preparar un mensaje para ser enviado, por lo que son iniciados 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, pues el hecho de dejar vacío un campo puede interrumpir todo el protocolo
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. 3.6.1.3 El almacén de datos
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 negativamente 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.

Más contenido relacionado

Destacado

Community Advocate Meeting 20090407
Community Advocate Meeting 20090407Community Advocate Meeting 20090407
Community Advocate Meeting 20090407Tony Leach
 
Cara membuat blog
Cara membuat blogCara membuat blog
Cara membuat blograhminur18
 
La tecnología como innovación en el patrimonio histórico cultural de la penín...
La tecnología como innovación en el patrimonio histórico cultural de la penín...La tecnología como innovación en el patrimonio histórico cultural de la penín...
La tecnología como innovación en el patrimonio histórico cultural de la penín...Josè Gregorio Olivero Leòn
 
COF Technology Changes Everything Panel
COF Technology Changes Everything PanelCOF Technology Changes Everything Panel
COF Technology Changes Everything PanelBeth Kanter
 
Manuale Raptor 30 V2
Manuale Raptor 30 V2Manuale Raptor 30 V2
Manuale Raptor 30 V2Sabattinicars
 
power point unik bangko nuraja
power point unik bangko nurajapower point unik bangko nuraja
power point unik bangko nurajanur jannah
 
Implementing Soa
Implementing SoaImplementing Soa
Implementing SoaSimon Smith
 
The Unknown Territory
The Unknown TerritoryThe Unknown Territory
The Unknown Territoryboswel02
 
Equipo1 grupo dpei13-31
Equipo1  grupo dpei13-31Equipo1  grupo dpei13-31
Equipo1 grupo dpei13-31stellanubis
 
Blogs y educacion diapositivas
Blogs y educacion diapositivasBlogs y educacion diapositivas
Blogs y educacion diapositivasCarito Balarezo
 
13.Suport Multiidioma
13.Suport Multiidioma13.Suport Multiidioma
13.Suport Multiidiomamnicolau
 
Coches bmw m3
Coches bmw m3Coches bmw m3
Coches bmw m3rosaliiia
 
Punya falaalu-great-rewards-islam-telugu
Punya falaalu-great-rewards-islam-teluguPunya falaalu-great-rewards-islam-telugu
Punya falaalu-great-rewards-islam-teluguAbdurRahman Meda
 
C12-Sanofi - Pasteur-Mauro & Estomba
C12-Sanofi - Pasteur-Mauro & Estomba C12-Sanofi - Pasteur-Mauro & Estomba
C12-Sanofi - Pasteur-Mauro & Estomba Revista Imagen
 

Destacado (19)

Periferal sistem komputer
Periferal sistem komputerPeriferal sistem komputer
Periferal sistem komputer
 
Community Advocate Meeting 20090407
Community Advocate Meeting 20090407Community Advocate Meeting 20090407
Community Advocate Meeting 20090407
 
Cara membuat blog
Cara membuat blogCara membuat blog
Cara membuat blog
 
La tecnología como innovación en el patrimonio histórico cultural de la penín...
La tecnología como innovación en el patrimonio histórico cultural de la penín...La tecnología como innovación en el patrimonio histórico cultural de la penín...
La tecnología como innovación en el patrimonio histórico cultural de la penín...
 
COF Technology Changes Everything Panel
COF Technology Changes Everything PanelCOF Technology Changes Everything Panel
COF Technology Changes Everything Panel
 
Manuale Raptor 30 V2
Manuale Raptor 30 V2Manuale Raptor 30 V2
Manuale Raptor 30 V2
 
Draining vein shielding in AVM- A new technique in Gamma Knife
Draining vein shielding in AVM- A new technique in Gamma KnifeDraining vein shielding in AVM- A new technique in Gamma Knife
Draining vein shielding in AVM- A new technique in Gamma Knife
 
포스텍
포스텍포스텍
포스텍
 
Tørre fakta
Tørre faktaTørre fakta
Tørre fakta
 
power point unik bangko nuraja
power point unik bangko nurajapower point unik bangko nuraja
power point unik bangko nuraja
 
Automóviles
AutomóvilesAutomóviles
Automóviles
 
Implementing Soa
Implementing SoaImplementing Soa
Implementing Soa
 
The Unknown Territory
The Unknown TerritoryThe Unknown Territory
The Unknown Territory
 
Equipo1 grupo dpei13-31
Equipo1  grupo dpei13-31Equipo1  grupo dpei13-31
Equipo1 grupo dpei13-31
 
Blogs y educacion diapositivas
Blogs y educacion diapositivasBlogs y educacion diapositivas
Blogs y educacion diapositivas
 
13.Suport Multiidioma
13.Suport Multiidioma13.Suport Multiidioma
13.Suport Multiidioma
 
Coches bmw m3
Coches bmw m3Coches bmw m3
Coches bmw m3
 
Punya falaalu-great-rewards-islam-telugu
Punya falaalu-great-rewards-islam-teluguPunya falaalu-great-rewards-islam-telugu
Punya falaalu-great-rewards-islam-telugu
 
C12-Sanofi - Pasteur-Mauro & Estomba
C12-Sanofi - Pasteur-Mauro & Estomba C12-Sanofi - Pasteur-Mauro & Estomba
C12-Sanofi - Pasteur-Mauro & Estomba
 

Similar a Sma presentacion 0910

Similar a Sma presentacion 0910 (20)

s.o.
s.o.s.o.
s.o.
 
Tolerancia A Fallos
Tolerancia A FallosTolerancia A Fallos
Tolerancia A Fallos
 
Protocolos y servicios informáticos
Protocolos y servicios informáticosProtocolos y servicios informáticos
Protocolos y servicios informáticos
 
Unidad 2 sist. oper. 1
Unidad 2 sist. oper. 1Unidad 2 sist. oper. 1
Unidad 2 sist. oper. 1
 
Tarea3 fernando lopez
Tarea3   fernando lopezTarea3   fernando lopez
Tarea3 fernando lopez
 
Tarea3 fernando lopez
Tarea3   fernando lopezTarea3   fernando lopez
Tarea3 fernando lopez
 
Sincronización de Procesos
Sincronización de Procesos Sincronización de Procesos
Sincronización de Procesos
 
Capitulo2
Capitulo2Capitulo2
Capitulo2
 
Capitulo2
Capitulo2Capitulo2
Capitulo2
 
Inf 324 01 07 Procesos
Inf 324 01 07  ProcesosInf 324 01 07  Procesos
Inf 324 01 07 Procesos
 
Proceso
ProcesoProceso
Proceso
 
INF-324 01 07 Procesos
INF-324 01 07 ProcesosINF-324 01 07 Procesos
INF-324 01 07 Procesos
 
Modelo paso de mensajes
Modelo paso de mensajesModelo paso de mensajes
Modelo paso de mensajes
 
Monitores
MonitoresMonitores
Monitores
 
Protocolos y servicios informaticos
Protocolos y servicios informaticosProtocolos y servicios informaticos
Protocolos y servicios informaticos
 
Protocolos y servicios
Protocolos y serviciosProtocolos y servicios
Protocolos y servicios
 
Ii ssoo solucion_examen_junio09
Ii ssoo solucion_examen_junio09Ii ssoo solucion_examen_junio09
Ii ssoo solucion_examen_junio09
 
Examen 2 s,o,
Examen 2 s,o,Examen 2 s,o,
Examen 2 s,o,
 
Servicio de un sistema operativo.pptx
Servicio de un sistema operativo.pptxServicio de un sistema operativo.pptx
Servicio de un sistema operativo.pptx
 
Gestiondenotas
GestiondenotasGestiondenotas
Gestiondenotas
 

Sma presentacion 0910

  • 1. Protocolos de comunicación Manuel Bouzas Reguera Juan Sequeiros Ameijeira Silvia González Escuredo Grupo Avia
  • 2. Protocolos de comunicación La comunicación entre agentes responden 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. Protocolos de comunicación JADE define dos roles, el que inicia la conversación y el que es objeto 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. Las acciones de los agentes en los protocolos FIPA se puede reducir simplemente a una máquina de estados finitos, y este es el tipo de comportamiento indicado para representar dichas máquinas. ejemplo : Pedro: Juan, ¿Tienes hora? Juan: Sí, un segundo. Juan mira el reloj. 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.)
  • 6. 3.6.1 El paquete jade.proto (cont.)
  • 7. La acciones que se realizan en cada estado se definen mediante los manejadores (Handlers), mientras que los mensajes se preparan mediante los preparadores (Prepares). La siguiente figura muestra dicho funcionamiento con claridad. 3.6.1 El paquete jade.proto (cont.)
  • 8.
  • 9.
  • 10. Mensajes asociados a preformativas: Hay ciertos manejadores que serán iniciados cada vez que llegue un mensaje con determinada preformativa, 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 (handle y registerHandler)(cont.)
  • 11. 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 esperado según los protocolo FIPA. Es decir, funcionará con las excepciones 3.6.1.1 Manejadores (handle y registerHandler)(cont.)
  • 12. 3.6.1.2 Preparadores (prepare y registerPrepare) Un preparador lo que hace es preparar un mensaje para ser enviado, por lo que son iniciados 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, pues el hecho de dejar vacío un campo puede interrumpir todo el protocolo
  • 13. 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. 3.6.1.3 El almacén de datos
  • 14.
  • 15.
  • 20.
  • 21. El respondedor responde negativamente con REFUSE, NOT_UNDERSTOOD o FAILURE.
  • 22.
  • 23.
  • 24. Agree, si acepta la petición o refuse si la rechaza.
  • 25. En caso de que el mensaje anterior fuera un agree: Failure si ocurrió algún error en el proceso, inform-done si se realizó correctamente e inform-result si además se tiene que comunicar el resultado.Ejemplo
  • 26.
  • 27. Agree si se acepta o refuse si se rechaza.
  • 28. Si se aceptó: Failure si ocurrió algún error en el proceso, Inform-T/F con la respuesta si la consulta era un Query-If o Inform-Result si la consulta fue un Query-Ref. Ejemplo
  • 29.
  • 30. 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 envía Reject-Proposal o un Accept-Proposal. Los respondedores envían un Failure ,un Inform-Done, o un Inform-Result.
  • 31.
  • 32.
  • 34.
  • 35.
  • 36. El iniciador le solicita al respondedor permiso para suscribirse, el respondedor procesa esa solicitud y la acepta o la rehecha. 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 3.6.5 Protocolo FIPA-Subscription
  • 37.
  • 38. 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.
  • 39. Si la aceptó, después envía un Inform-Result con las condiciones que establezca para la suscripción.
  • 40. 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.
  • 41. 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