SOBRE LOS EJEMPLOS DISTRIBUIDOS CON LA PLATAFORMA (JADE V3.4) Descriptos en: jade\doc\examples\index.html Basic features. ----------------------------- *) Hallo World: Shows a minimal agent printing "Hallo World!" and then terminating. java jade.Boot -gui Peter:examples.hallo.HalloWorldAgent *) Behaviours: Includes examples showing the usage of simple and composite behaviours. - SimpleAgent java jade.Boot SA:examples.behaviours.SimpleAgent - TimeAgent java jade.Boot TA:examples.behaviours.TimeAgent - ComplexBehaviourAgent java jade.Boot CBA:examples.behaviours.ComplexBehaviourAgent - FSMAgent java jade.Boot FSMA:examples.behaviours.FSMAgent *) Messaging: Includes examples showing how to make JADE agents communicate. Estos ejemplos se ponen en marcha una vez lanzada la plataforma con su intefaz grafico java jade.Boot -gui - PingAgent 1. crear un nuevo agente en un container: nombre: PA clase: examples.messaging.PingAgent 2. lanzar el Dummy agent desde el menu tools 3. desde el dummy agent, mandarle un mensaje al agente creado, PA (nombre local), con performative: QUERY_IF, ontologia: presence, y contenido: alive Ver tambien los agentes-herramientas: sniffer e introspector - BlockingReceiveAgent 1. crear un nuevo agente en un container: nombre: BRA clase: examples.messaging.BlockingReceiveAgent 2. lanzar el Dummy agent desde el menu tools 3. desde el dummy agent, mandarle un mensaje al agente creado, BRA (nombre local), con performative: REQUEST - CustomTemplateAgent 1. crear un nuevo agente en un container: nombre: CTA clase: examples.messaging.CustomTemplateAgent 2. lanzar el Dummy agent desde el menu tools 3. desde el dummy agent, mandarle un mensaje al agente creado, CTA (nombre local), con performative: REQUEST , ontologia: Xkkkk (cualquier cosa que empieze por X 4. repetir el punto 3, pero especificando una ontologia que no empieze por X OBSERVAR la ventana msdos donde se lanzo la plataforma... *) Yellow Pages: Includes examples showing how to use the Yellow Pages service provided by the DF agent. - DFRegisterAgent, DFSearchAgent y DFSubscribeAgent 1. desde una ventana msdos: java jade.Boot -gui provider:examples.yellowPages.DFRegisterAgent(my-forecast) 2. desde otra ventana: java jade.Boot -container searcher:examples.yellowPages.DFSearchAgent 3. desde el GUI crear un agente: nombre: subscriber clase: examples.yellowPages.DFSubscribeAgent 4. desde el GUI crear un agente: nombre: provider-1 clase: examples.yellowPages.DFRegisterAgent parametro: forecast-1 observar como el subscriber detecta la existencia de los providers - Sub-DF 2 VERSIONES: USANDO EL GUI O NO *) Book Trading: Ejemplo desarrollado en el manual "JADE-programming tutorial for beginners" 1. crear dos sellers desde el GUI, darles unos cuantos libros. No cerrar su GUI o el agente muere (observar la ventana msdos) BS1 examples.bookTrading.BookSellerAgent BS2 examples.bookTrading.BookSellerAgent 2. crear el agent comprador y darle como parametro el nombre de un libro que los vendedores tengan BB1 examples.bookTrading.BookBuyerAgent 3. idem, dandole el nombre de un libro que los vendedores NO tengan BB2 examples.bookTrading.BookBuyerAgent 4. Introducir en al menos uno de los vendedores, el libro que necesita el segundo comprador, etc... Advanced features. ----------------------------- *) Protocols, Includes examples showing the usage of the support provided by JADE for interaction protocols. *) Ontology, this example shows how to use the support for application specific ontologies. ejemplo de personas: ejemplo de tienda de musica: Ver manual de ontologias *) In Process, this example shows the usage of the jade.wrapper package to start a JADE runtime and control a number of agents from an external application. *) Base 64, this example shows how to encode serialized Java objects into the content of an ACLMessage; it also shows how to force the platform to use bit-efficient and/or XML ACLCodec. *) Mobile, this is an example of a mobile agent. Por ejemplo, usando dos ordenadores. En post13: java jade.Boot -gui java jade.Boot -container java jade.Boot -container java jade.Boot -container En post15: java jade.Boot -container -host post13 RMApost15:jade.tools.rma.rma java jade.Boot -container -host post13 java jade.Boot -container -host post13 crear en uno de ellos un agente de nombre: m1 y clase: examples.mobile.MobileAgent Simple applications. ----------------------------- *) ThanksAgent, this example shows an agent that creates some other agents and has a simple conversation with them java jade.Boot -gui crear un agente de nombre: TA y clase: examples.thanksAgent.ThanksAgent *) Party, this is an example of a simple multi-agent application where an host sets a party and invite a number of guests java jade.Boot -gui crear un agente de nombre: host y clase: examples.party.HostAgent *) MeetingScheduler, this is a simple demo of a MeetingScheduler multi-agent system java jade.Boot -gui Tizio:demo.MeetingScheduler.MeetingSchedulerAgent Caio:demo.MeetingScheduler.MeetingSchedulerAgent pause *) The Agentcities PingAgent, this directory contains a simple Ping Agent. 1. lanzar la plataforma y el agente ping: java jade.Boot -gui ping:examples.PingAgent.PingAgent 2. lanzar el Dummy agent desde el menu tools 3. desde el dummy agent, mandarle un mensaje al agente creado, ping (nombre local), con performative: QUERY_REF y contenido: ping se supone que respondera con un mensaje INFORM con contenido pong No es cierto, responde con contenido alive, exactamente igual que el otro PingAgent El codigo para responder con pong esta comentado. Para cualquier otro mensaje que se le envie, excepto para NOT-UNDERSTOOD, respondera con un mensaje NOT_UNDERSTOOD. El intercambio de mensajes es registrado en un fichero, de nombre igual al del agente, situado en el directorio de trabajo. ------------------------------ JADE PRIMER 9. Mobility Descargar el codigo, compilarlo y lanzar el ejemplo desde su directorio: javac *.java java jade.Boot -gui xxx:ControllerAgent 7. Using ontologies (y 8. Graphical Interfaces) descargar los directorios y compilarlos: PRIMERA VERSION: C:\Yolanda\ejemplos_tutorial\Bank\Bank-1-jObjects>java jade.Boot -gui banquero:BankServerAgent lanzar el cliente desde el GUI: cliente BankClientAgent su interfaz aparece en la ventana msdos de la plataforma. Lanzar el sniffer para monitorizar sus interacciones (ver el contenido de sus mensajes). SEGUNDA VERSION: C:\Yolanda\ejemplos_tutorial\Bank\Bank-2-Onto>java jade.Boot -gui banquero:BankServerAgent lanzar el cliente desde el GUI: cliente BankClientAgent su interfaz aparece en la ventana msdos de la plataforma. Lanzar el sniffer para monitorizar sus interacciones (ver el contenido de sus mensajes). TERCERA VERSION: C:\Yolanda\ejemplos_tutorial\Bank\Bank-3-Gui>java jade.Boot -gui banquero:BankServerAgent lanzar el cliente desde el GUI: cliente BankClientAgent Lanzar el sniffer para monitorizar sus interacciones (ver el contenido de sus mensajes).