{"id":56,"date":"2008-09-16T19:42:02","date_gmt":"2008-09-16T19:42:02","guid":{"rendered":"http:\/\/cibernetica.wordpress.com\/?p=56"},"modified":"2008-09-16T19:42:02","modified_gmt":"2008-09-16T19:42:02","slug":"agentes-inteligentes-tipos-de-plataformas","status":"publish","type":"post","link":"https:\/\/blogs.sld.cu\/cibernetica\/2008\/09\/16\/agentes-inteligentes-tipos-de-plataformas\/","title":{"rendered":"Agentes inteligentes: Tipos de plataformas"},"content":{"rendered":"<p>Hab\u00edamos visto que dada la complejidad del dise\u00f1o de agentes, son sistemas abiertos y cooperativos donde cada agente debe jugar su funci\u00f3n se requiere de plataformas de desarrollo que faciliten la programaci\u00f3n. Y que exist\u00edan dos tipos de plataformas: las herramientas o armazones y las gen\u00e9ricas.<\/p>\n<p><strong>Plataformas de herramientas o armazones<\/strong>.<br \/>\nEl caso m\u00e1s significativo de las armazones de software es Zeus, que presenta un entorno de desarrollo con el que se programa visualmente el SMA. Las posibilidades de programaci\u00f3n a trav\u00e9s de este entorno son muy variadas. Entre otros hay que suministrar una ontolog\u00eda: reglas de comportamiento, planes de ejecuci\u00f3n de tareas y mensajes a enviar a otros agentes.<\/p>\n<p>Debido a esta versatilidad en su configuraci\u00f3n, el dise\u00f1o con ZEUS se hace tan complejo como programar con lenguajes de agentes. Aunque se facilita el desarrollo de aspectos como la coordinaci\u00f3n, quedan pendientes decisiones como qu\u00e9 hay que coordinar y para qu\u00e9. Por ello, la aportaci\u00f3n de una metodolog\u00eda en este caso consistir\u00eda en proporcionar un ciclo de desarrollo, actividades y elementos conceptuales que ayudasen al descubrimiento incremental de los elementos requeridos por ZEUS. Un ejemplo, aunque limitado, de metodolog\u00eda para ZEUS se tiene de mano de sus propios desarrolladores [Collis y Ndumu 99], donde se aplica la idea de rol para guiar el descubrimiento de funciones del sistema.<\/p>\n<p>Zeus es un conjunto de herramientas para ayudar en la creaci\u00f3n de sistemas de<br \/>\nagentes colaborativos (limitados en competencias y recursos, por lo<br \/>\nque deben compartir sus habilidades con otros para realizar un<br \/>\nproblema m\u00e1s complejo)<br \/>\nhttp:\/\/www.labs.bt.com\/projects\/agents\/zeus\/index.htm<\/p>\n<p>Es un paquete de clases JAVA, que cuenta con<br \/>\nAgent building software:<br \/>\n\u2022 Editores que ayudan al usuario a crear los agentes utilizando los \u201cbloques\u201d o componentes software<br \/>\n\u2022 Sigue la metodolog\u00eda propia en 6 etapas:<br \/>\n1. An\u00e1lisis (identificaci\u00f3n de agentes)<br \/>\n2. Definici\u00f3n de agentes (atributos).<br \/>\n3. Organizaci\u00f3n de agentes.<br \/>\n4. Definici\u00f3n de las tareas de los agentes.<br \/>\n5. Coordinaci\u00f3n de agentes (protocolos).<br \/>\n6. Generaci\u00f3n autom\u00e1tica de c\u00f3digo (JAVA)<br \/>\nAgent Component Library.<br \/>\n\u2022 Bloques de construcci\u00f3n de agentes.<br \/>\n\u2022 Proporciona mecanismos de comunicaci\u00f3n<br \/>\n1. Lenguaje de comunicaci\u00f3n (ACL, KQML)<br \/>\n2. Mecanismos de paso de mensajes (TPC\/IP)<br \/>\n\u2022 Gesti\u00f3n y uso de Ontolog\u00edas.<br \/>\n\u2022 Librer\u00edas de protocolos.<br \/>\n\u2022 Otros.<\/p>\n<p>Zeus es a su vez una herramienta y una metodolog\u00eda&#8230;<\/p>\n<p>ABLE (Agent Building and Learning Environment) [IBM 02] aunque tambi\u00e9n permite el prototipado r\u00e1pido de SMA, no llega al nivel de ZEUS. ABLE es una herramienta de IBM para la construcci\u00f3n de sistemas de agentes inteligentes donde todos sus elementos, incluso los agentes, se construyen por composici\u00f3n de AbleBeans, una extensi\u00f3n de los JavaBeans1. Son de inter\u00e9s un conjunto de AbleBeans especializados que implementan sistemas de aprendizaje estad\u00edsticos (mapas autoorganizativos, redes neuronales, mapas de conexi\u00f3n) y control simb\u00f3lico (razonamiento por encadenamiento hacia delante y l\u00f3gica de predicados). ABLE incorpora tambi\u00e9n un entorno visual de desarrollo donde se interconectan AbleBeans. El inter\u00e9s de esta plataforma es que soluciona visualmente la construcci\u00f3n y comunicaci\u00f3n de los agentes.<\/p>\n<p>ABLE no llega a detallar c\u00f3mo se obtiene la funcionalidad de los agentes y c\u00f3mo deben actuar en cada situaci\u00f3n. La aportaci\u00f3n de una metodolog\u00eda a ABLE ser\u00eda m\u00e1s amplia que en el caso de ZEUS. Se tratar\u00eda de dar medios para detallar aspectos de control del agente teniendo en cuenta los elementos de control que vienen predefinidos en ABLE. Ser\u00eda \u00fatil, por ejemplo, la idea de casos de uso [Jacobson, Booch y Rumbaugh 00] para identificar conjuntos de funciones a proporcionar por el sistema y escenarios para describir c\u00f3mo se espera que se realice el proceso de aprendizaje de los agentes.<br \/>\nEntorno: plataformas para el dise\u00f1o, implementaci\u00f3n, pruebas y<br \/>\nejecuci\u00f3n de agentes aut\u00f3nomos y sistemas multiagente.<br \/>\nLa mayor\u00eda implementan la arquitectura abstracta de la especificaci\u00f3n<br \/>\nFIPA (www.fipa.org) y proporcionan servicios o facilidades para la<br \/>\nejecuci\u00f3n de MAS&#8230;<\/p>\n<p>Herramientas o armazones:<br \/>\n1. Zeus.<br \/>\n2. ABLE<\/p>\n<p><strong>Plataformas gen\u00e9ricas<\/strong><br \/>\nLas plataformas de desarrollo m\u00e1s extendidas son JADE [Bellifemine, Poggi y Rimassa 01] y Grasshopper [Breugst y Magedanz 98].<\/p>\n<p>JADE es la implementaci\u00f3n oficial del est\u00e1ndar FIPA [FIPA 95], y soporta todos los servicios b\u00e1sicos de infraestructura especificados en FIPA (comunicaciones, movilidad, gesti\u00f3n de agentes y localizaci\u00f3n de agentes), a los que a\u00f1ade algunas utilidades gr\u00e1ficas para facilitar la administraci\u00f3n de las plataformas y la depuraci\u00f3n de los mensajes intercambiados por agentes en tiempo de ejecuci\u00f3n.<\/p>\n<p>Es un paquete desarrollado en Java que cuenta con<br \/>\nJava Agent DEvelopment framework<br \/>\nSoporta la implementaci\u00f3n de MAS (FIPA compliant) :<br \/>\n\u2022 Librer\u00eda de paquetes para programar agentes.<br \/>\n\u2022 Herramientas para la depuraci\u00f3n y la ejecuci\u00f3n de agentes.<br \/>\nPlataforma distribuida para la ejecuci\u00f3n de agentes (heterog\u00e9neos<br \/>\ncomo Zeus): middle-ware para MAS<br \/>\n\u2022 servicios para agentes: directorios, codificaci\u00f3n y transporte de mensajes<br \/>\n\u2022 herramientas: monitor remoto de agentes, sniffer agent, dummy agent<br \/>\nCompletamente desarrollado en JAVA<br \/>\nLibre distribuci\u00f3n bajo licencia LPGL<br \/>\nhttp:\/\/sharon.cselt.it\/WWW projects\/jade\/<\/p>\n<p>Grasshopper es la implementaci\u00f3n del est\u00e1ndar MASIF [Ba\u00fcmer et al. 00], que soporta la movilidad de agentes en un entorno distribuido utilizando comunicaci\u00f3n y servicios CORBA [OMG 00a]. En JADE y Grasshopper existe una arquitectura b\u00e1sica de agente que hay que utilizar para acceder a los servicios de la plataforma correspondiente.<br \/>\nEl dise\u00f1o de agentes con estas plataformas significa atenerse a unos est\u00e1ndares de comunicaci\u00f3n y de gesti\u00f3n de agentes. El resto, como la especificaci\u00f3n del control del agente, su inteligencia o las relaciones entre las tareas del sistema, se deja al criterio del desarrollador. La aportaci\u00f3n de una metodolog\u00eda a desarrollos basados en este tipo de plataformas consistir\u00eda en organizar el proceso de generaci\u00f3n del SMA y en proporcionar elementos para el dise\u00f1ador pueda describir estos aspectos teniendo en cuenta las restricciones de la plataforma destino.<\/p>\n<p>Plataformas gen\u00e9ricas:<br \/>\n1. JADE.<br \/>\n2. Grasshopper.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hab\u00edamos visto que dada la complejidad del dise\u00f1o de agentes, son sistemas abiertos y cooperativos donde cada agente debe jugar su funci\u00f3n se requiere de plataformas de desarrollo que faciliten la programaci\u00f3n. Y que exist\u00edan dos tipos de plataformas: las herramientas o armazones y las gen\u00e9ricas. Plataformas de herramientas o armazones. El caso m\u00e1s significativo [&hellip;]<\/p>\n","protected":false},"author":109,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"_links":{"self":[{"href":"https:\/\/blogs.sld.cu\/cibernetica\/wp-json\/wp\/v2\/posts\/56"}],"collection":[{"href":"https:\/\/blogs.sld.cu\/cibernetica\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.sld.cu\/cibernetica\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.sld.cu\/cibernetica\/wp-json\/wp\/v2\/users\/109"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.sld.cu\/cibernetica\/wp-json\/wp\/v2\/comments?post=56"}],"version-history":[{"count":0,"href":"https:\/\/blogs.sld.cu\/cibernetica\/wp-json\/wp\/v2\/posts\/56\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.sld.cu\/cibernetica\/wp-json\/wp\/v2\/media?parent=56"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.sld.cu\/cibernetica\/wp-json\/wp\/v2\/categories?post=56"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.sld.cu\/cibernetica\/wp-json\/wp\/v2\/tags?post=56"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}