7 jours d'essai offerts
Cet ouvrage et des milliers d'autres sont disponibles en abonnement pour 8,99€/mois

Compartir esta publicación

Agentes de software:
tecnologías, herramientas
*y aplicaciones
Software agents: technologies, tools and applications
Olga Lucía Roa
Magíster, profesora tiempo completo Universidad de San Buenaventura Cali.
Integrante del Laboratorio de Investigaciones para el Desarrollo de la Ingeniería de Software LIDIS
olroa@usb.edu.co
Grupo de Investigación Laboratorio de Investigaciones para el Desarrollo de la Ingeniería de Software-LIDIS
Universidad de San Buenaventura Cali
Resumen
Los agentes de software, en su recorrido por distintos sistemas, tienen la posibilidad de obtener servicios
ofertados localmente y dialogar con otros agentes. Estas y otras características de los Sistemas Multi Agen-
tes (SMA) hacen que su diseño, implementación, mantenimiento, etc., sea una tarea poco trivial. Por ello es
deseable contar con herramientas apropiadas que asistan las diferentes etapas de su construcción. El
presente artículo pretende mostrar un estudio sobre las herramientas que existen en la actualidad para el
desarrollo de los SMA, partiendo desde su definición y los servicios que brindan, hasta llegar al análisis de
las tecnologías utilizadas en la actualidad. Este artículo termina formulando una hipótesis de las tendencias
en construcción de software.
Palabras claves: Agentes de software, agentes móviles, FIPA (Foundation for Intelligent Physical Agents), FIPA-OS.
Abstract
During their route through different systems, software agents have the possibility of obtaining services
supplied locally in the visited systems and engaging in a dialog with other agents. These and other
characteristics of the Multi-Agent Systems (MAS) make their design, implementation, maintenance, etc. a
non trivial task. For this reason, it is desirable to count on tools that support the stages involved in the
construction of MAS. This article presents a study on the current tools for the development of MAS, starting
from their definition and the services they offer until the analysis of the technologies and tools used nowadays.
At the end of the article a hypothesis on the trends of software construction is made.
Key Words: Software agents, mobile agents, FIPA, FIPA-OS.
* Este documentohace parte del trabajo de investigación de la línea de Computación móvil, del Laboratorio de Investigaciones
para el Desarrollo de la Ingeniería de Software - LIDIS.
Fecha de recepción: Julio de 2004
Aceptado para su publicación: Septiembre de 2004
Revista científica Guillermo de Ockham. Vol. 3, No. 1. Enero-Junio de 2005 • ISSN: 1794-192X 131Olga Lucía Roa
Introducción estos sistemas y un resumen de sus principa-
les características, ventajas, desventajas, ser-La ingeniería de software basada en agentes,
vicios y aplicaciones. A continuación se expo-ha surgido como respuesta a la necesidad
ne la característica de movilidad y se dejande generar nuevos paradigmas que permitan
propuestos otros temas para futuros desa-modelar problemas de una forma cada vez
rrollos.más transparente. Ante esto, los sistemas mul-
ti-agentes (SMA) interactúan a fin de satisfa-
cer estos objetivos.
Los agentes de software, al ser aplicados a
Agentes móvilesuna gran cantidad de sistemas de hardware y
software, comparten una serie de característi- En la arquitectura global de un sistema de
cas como la distribución de la información, el agentes móviles se pueden observar las agen-
conocimiento parcial que tienen las entidades, cias, las cuales pueden estar configuradas en
la computación asincrónica y la ausencia de otras máquinas, conformando ambientes de
un sistema de control central. ejecución. En cada una de estas agencias se
Estas entidades computacionales persisten en publican los servicios que se ofrecen a las
el tiempo; es decir, que no terminan su ejecu- otras. Todas están dirigidas por un adminis-
ción cuando han finalizado una tarea, sino que trador (Ver Figura 1).
continúan observando su entorno, decidien-
Un agente móvil posee los siguientes esta-
do qué acción ejecutar en el próximo instante
dos:
de tiempo.
0: Estacionario. El agente no es móvil, no
El presente estudio pretende mostrar una eva-
envía mensajes y envía un mensaje de no
luación de herramientas para el desarrollo de
entendido (not-understood) si recibe cual-
sistemas multi-agentes (SMA) y las tecnolo-
quier mensaje. Si un agente es estaciona-
gías que utilizan internamente estos frame-
rio, estará todo su ciclo de vida en estado
works. La metodología utilizada es la aplica-
cero (0).
ción de la deducción en la elaboración de
1: Salida. El agente es móvil. Cuando estáhipótesis y la inducción en los hallazgos. Par-
en 1 se dice que ha inicializado por prime-tiendo de un estado del arte se analiza la docu-
ra vez. Cuando lo hace envía inmediata-mentación en el tema de herramientas y tecno-
mente una solicitud de mover. Entonces,logías de agentes de software logrando
el mensaje informe (inform) llega con eldeducir la hipótesis de que no existe una herra-
contenido del mensaje de movimientomienta que cumpla completamente con los
(move), pasando al estado 2 y se cerrará.requerimientos ideales de un framework para
el desarrollo de estos sistemas. En este trabajo 2: Movido. El agente es móvil y simplemen-
se realiza un cuadro comparativo de las he- te ha llegado a su destino. Cuando es ini-
rramientas que existen para el desarrollo de cializado esperará el mensaje ejecutar
132 Universidad de San Buenaventura, Cali-ColombiaAgentes de software: tecnologías, herramientas y aplicaciones
Figura 1
Arquitectura global de un sistema de agentes móviles
Registra RegistraAdministradoragencia agencia
sie.uniandes.edu.co
Administrador deServidor
agencias
Servidor HTTP
rmid
rmiregistry
Lista Lista
agencias agencias
Bitácora Bitácora
Agencia Agencia
Agencia Móvil Agencia Móvil
Resultados Resultados
Servidor HTTP Servidor HTTPAgencia 1 Agencia 1
rmid rmid
rmiregistry rmiregistry
(execute), para realizar la búsqueda y lue- En esta arquitectura se trabaja un protocolo
go envía una solicitud para el movimiento. de movilidad simple. Según FIPA (Foundation
Cuando el mensaje informe llega con el for Intelligent Physical Agents), este protocolo
contenido de movimiento, este se move- se define así: El AMS (Agent Management Sys-
rá al estado 3 y se cerrará. tem) es el responsable de realizar toda la ges-
tión necesaria. El agente solicita la transferen-3: Terminando. El agente es móvil y simple-
cia y el AMS se ocupa de llevarla a cabo.mente ha regresado a la localización origi-
nal. Cuando inicializó estaba esperando El agente confía en un protocolo de alto nivel
el mensaje execute, después despliega que ejecuta el movimiento a una plataforma
los resultados y se cierra (Ver Figura 2). destino en una sola acción.
Figura 2
Ciclo de vida de un agente móvil
Terminado
Inicializado Ejecución
Movido
Salida
Revista científica Guillermo de Ockham. Vol. 3, No. 1. Enero-Junio de 2005 • ISSN: 1794-192X 133Olga Lucía Roa
En este caso, la plataforma tendrá que llevar a Un almacén de agentes permite su recupera-
cabo el protocolo necesario para realizar la mi- ción desde más de un servidor si se desea.
gración entera. Así, un agente delega la ejecu- Asimismo, provee una solución segura para
ción de la movilidad a la plataforma. Una de su aceptación dentro de un cortafuegos o do-
las principales ventajas percibidas en los pro- minios de seguridad.
tocolos de movilidad simples es que hay poca
Localizacióncomplejidad en el desarrollo de la aplicación
El servidor deberá proporcionar un servicio dede agentes ya que la movilidad es soportada
búsqueda y localización de agentes, no sólopor la plataforma; adicionalmente, existe un
de servidores locales sino también remotos,número reducido de interacciones remotas
lo cual es indispensable para que posterior-(GarcíaA98).
mente los agentes puedan interactuar con los
de otros sitios.
La localización facilita una comunicación remo-
Servicios de una ta. Por ejemplo, el propietario de un agente
plataforma de agentes
remoto podría enviarle un mensaje de control
(eliminarlo) o personalizar su comportamientoLa plataforma deberá ofrecer, aparte del sopor-
enviándole otro itinerario. Otro ejemplo puedete de creación, cuando menos tres servicios
ser el caso en el que se envían múltiples agen-básicos:
tes a distintos servidores con el objeto de eje-
Movilidad cutar tareas en paralelo, los cuales pueden
requerir comunicarse con el fin de intercam-La infraestructura deberá incluir una librería para
ofrecer movilidad total. Es decir, el agente po- biar resultados parciales o sincronizarse.
drá enviarse libremente a todas las direccio- El servicio de localización será básico para la
nes que hayan sido definidas en su itinerario. comunicación y monitoreo del sistema de
Además, deberá considerar y resolver los pro- agentes.
blemas que se originan con los servidores ins-
Existen tres esquemas básicos para la locali-
talados en computadores portátiles o bien ser-
zación de agentes.
vidores dentro de un cortafuegos (firewall).
– Secuencias de acceso: un agente es lo-
Los agentes al viajar pueden tener problemas
calizado siguiendo los rastros de informa-
en alcanzar sus servidores destino, por ejem-
ción que va dejando al visitar cada servi-
plo, cuando estos están temporalmente des-
dor. Es decir, cada servidor guarda una
conectados de la red; sin embargo, pueden
referencia de todos los agentes que lo vi-
usar colas privadas, llamadas almacenes de
sitan así como el destino remoto al que
agentes (agent box), que están localizados en
partió.
servidores remotos, de donde se pueden re-
– Fuerza bruta: un agente es localizado alcuperar cuando vuelvan a estar disponibles o
preguntar por él en múltiples servidores re-se hayan conectado nuevamente a la red.
134 Universidad de San Buenaventura, Cali-ColombiaAgentes de software: tecnologías, herramientas y aplicaciones
motos. La búsqueda puede ser hecha en sons for mobile agents (Danny99), de las publi-
paralelo o en secuencia. caciones de ACM, se puede concluir:
– Registro en un servidor de búsqueda: un Últimamente se ha producido mucha docu-
agente puede actualizar su localización en mentación sobre el potencial de los sistemas
un servidor de nombres establecido que multi-agentes. Aún hay ideas planteadas que
permita a los agentes buscar, registrarse si se desarrollan efectivamente pueden gene-
o borrarse. De esta manera se puede lo- rar enormes beneficios. Un ambiente de infor-
calizar un agente específico. mación, altamente interconectado, interde-
pendiente y heterogéneo, plagado por una
Comunicación explosión de servicios disponibles, necesita
El sistema permitirá la transferencia de men- métodos y soluciones que lo hagan posible
sajes síncronos y asíncronos no sólo entre de forma dinámica. Los sistemas basados en
agentes locales sino también entre agentes agentes permiten esta interacción de una for-
remotos. La comunicación les permitirá reali- ma natural, utilizando programación orientada
zar una interacción entre ellos para lograr rea- a objetos y computación distribuida. El nivel
lizar tareas en conjunto. de abstracción es más alto que los objetos
en la dimensión de entradas disponibles paraDe esta forma, por ejemplo, se podría imple-
comunicarse y razonar acerca de otros en unmentar una búsqueda en paralelo, enviando
ambiente dinámico, cada uno se esfuerza pora varios agentes al encuentro de una informa-
satisfacer sus propias metas. No es ningunación deseada. Cuando un agente localice la
sorpresa que los agentes pueden tener susinformación requerida o parte de ella, podría
raíces en campos como la Inteligencia Artifi-avisar al resto a través de un mensaje que sus-
cial Distribuida (Distributed Artificial Intelligencependan su búsqueda, o bien que continúen
–DAI–) y La Computación de Apoyo de Trabajocolaborando con la información que falta, pro-
Cooperativo (Computer Supported Cooperati-porcionando, además, rutas alternativas a
ve Work –CSCW–), los cuales requieren nocio-otros agentes.
nes en orden para empezar a proveer solu-
El servidor debe cuidar que no se haga un ciones a los problemas que estos presentan.
uso excesivo del servicio para que no se sature Para administración de workflow de negocios
la red de mensajes.
y administración de redes de telecomunica-
ciones para comercio electrónico y casas in-
teligentes, el paradigma de los agentes pue-
de ayudar a proveer soluciones efectivas.
Razones para usar
A la pregunta de ¿por qué se está enfrentan-
agentes de software
do un problema manejando el aumento en
Según la expuesto por Danny B. Lange y Mit- información y servicios? Las causas se en-
suru Oshima, en su artículo Seven good rea- cuentran en parte en el estilo de interacción
Revista científica Guillermo de Ockham. Vol. 3, No. 1. Enero-Junio de 2005 • ISSN: 1794-192X 135Olga Lucía Roa
entre humanos y computadores. Actualmen- Este ejemplo muestra cómo el paradigma de
te el método es la manipulación directa, la cual los agentes da fáciles solución a problemas
es usada para describir la situación donde un complejos, permitiendo brindar con sus pro-
usuario debe guiar explícitamente el computa- pias herramientas las nociones de negocia-
dor en el desempeño de tareas por manipu- ción multi-agente y cooperación, descentrali-
lación de objetos en la pantalla así como venta- zación y una perspectiva para múltiples
nas, botones, listas , boxes, etc. Estos son un facetas. Pero el más poderoso elemento de
avance para los paradigmas previos de ins- las técnicas enfocadas en agentes es que es-
trucciones de líneas de comando, donde una tos brindan la unidad de análisis más cercana
causa y un efecto no están claramente relacio- a la organización natural del mundo real, solu-
nados y el usuario necesita memorizar instruc- cionando el problema en términos de entra-
ciones arcaicas (aún a través de algunos Unix). das, donde cada una interactúa con su pro-
Sin embargo el incremento de tareas para de- pia agenda para seguir por la configuración
sarrollar y su complejidad generan una interac- de sus metas e implementando planes basa-
ción más dura. Sin embargo, con la ayuda de dos en deseos y creencias del ambiente. Sin
los agentes de software un nuevo estilo de embargo, hasta ahora los desarrollos de siste-
interacción ha emergido y es llamado manipu- mas basados en agentes se han enfocado
lación indirecta, en la cual el agente desarro- más en construir infraestructuras propietarias
llar tareas por sí mismo tal como monitoreo que crear mecanismos para el descubrimien-
de eventos y reacciona a ellos en una forma to, la comunicación o el movimiento de códi-
apropiada. go de agentes en el caso de sistemas de
agentes móviles.El beneficio del paradigma de los agentes no
para en el nivel de la interacción humano-com-
putador.
Pensar en términos de agentes puede ayu-
dar a modelar el problema en forma más intui- Aplicaciones
tiva, generando mejores soluciones. Por ejem- de agentes de software
plo, en Suecia se está empezando a desarrollar
Los agentes han demostrado ser una abstrac-
un sistema multi-agente como respuesta al
ción útil para diseñar sistemas distribuidos y
problema de balances de carga en una malla
cooperativos en muchas actividades industria-
eléctrica. El proyecto llamado ISES (Informa-
les y de servicios, incluyendo las telecomuni-
tion, Society, Energy and Systems), es un pro-
caciones, el control de tráfico aéreo, la admi-
yecto de unión entre la universidad y la indus-
nistración del transporte, el cuidado médico y
tria el cual ayuda a mejorar la efectividad de
el entretenimiento (JEN98).
los sistemas para comunicarse, donde las utili-
dades pueden ser manipuladas inteligente- Todas estas propiedades (autonomía, distribu-
mente para ganar el mejor precio y proporcio- ción geográfica, cooperación, aprendizaje y
nes de desempeño. comunicación) hacen que los agentes de soft-
136 Universidad de San Buenaventura, Cali-ColombiaAgentes de software: tecnologías, herramientas y aplicaciones
–ware sean ideales para el desarrollo de un gran GUARDIÁN, agente que fue construido
número de aplicaciones. A continuación se para el nicho de las UCI (Unidades de Cui-
dados Intensivos). Guardian es actualmen-describen algunos proyectos donde se apli-
te capaz de monitorear el estado de alre-can agentes:
dedor de 100 variables de estado de cada
– MASCONTROL (Mascon04): este proyec-
paciente, censándolas continuamente.
to presenta un sistema multi-agentes para
Los sistemas multi-agentes también se usanla identificación y control de procesos, se
como asistentes para la búsqueda de ciertaimplementa el esquema de un regulador
información, es así como el usuario define cier-auto-ajustable y se cumple con el estándar
tos criterios y el agente permanece en unaFIPA (GarcíaA98). El sistema funciona to-
búsqueda constante, dicho sistema se pue-mando del entorno los valores de unas va-
de programar para que envié resultados alriables de ambiente y según unas condi-
correo electrónico (Hen05).ciones determinadas como óptimas se
efectúan unos cambios sobre ciertos fac- En Agents group at the Massachusetts Institute
tores. of Technology Media Lab in Cambridge (MIT05)
se presentan otras aplicaciones de sistemas
– EVA "Espacios Virtuales de Aprendizaje"
multi-agentes de software.
(EVA02). Este sistema tiene como meta el
desarrollo de un aula virtual multi-agentes
de enseñanza/aprendizaje cooperativo,
esta aplicación, entre otras, se desarrolla
Tecnologías utilizadaspara sistemas de educación virtual. Está
para simular movilidad
basada en el framework JatLite de la Uni-
versidad de Stanford (JAT98). Se pueden simular dos tipos de movilidad:
La movilidad de estado del agente, mediante– Agentes de información/Internet, como
paso de mensajes ACL: este modelo se im-Jasper (Joint Access to Stored Pages with
plementa encapsulando el agente como elEasy Retrieval). Los agentes Jasper traba-
contenido de un mensaje ACL, enviándolo ajan a favor de un usuario o comunidad de
su destino, en donde se crea una nueva ins-usuarios y son capaces de almacenar, re-
tancia del objeto, se restauran los estados decuperar, compendiar y utilizar otros agen-
los atributos y se retorna el resultado.tes de información útiles a ellos para en-
contrar información en la www. Existen otros La segunda es la movilidad del código Java
agentes de información realizados en par- que corresponde al agente, esto se podría
ticular para filtrado de información. Hay, hacer mediante ClassLoaders, los cuales lite-
también, agentes reactivos, utilizados prin- ralmente cargan las clases de Java; de esta
cipalmente en la industria del entreteni- manera se puede cargar un código Java des-
miento, en la programación de videojue- de diferentes máquinas en la red. Jeff Nelson,
gos y en la fabricación de juguetes. en su libro Programming mobile objects with Java,
Revista científica Guillermo de Ockham. Vol. 3, No. 1. Enero-Junio de 2005 • ISSN: 1794-192X 137Olga Lucía Roa
define un objeto móvil "como aquel que se allá en el tratamiento informático distribuido,
mueve entre dos o más aplicaciones"; por lo añadiendo características como la localización
anterior, se puede observar que transmitir el o la situación, y permitiendo la interacción diná-
estado de un objeto en Java no es complica- mica de componentes autónomos y hetero-
do ya que se puede trabajar la serialización géneos.
de los objetos y el paso de ellos mediante
El paradigma de agentes está centrado en
RMI.
conceptos de alto nivel de abstracción que
En general, se puede simular movilidad me- permiten modelar complejos problemas de
diante alguna de las siguientes tecnologías ingeniería como la administración de sistemas
de comunicación, entre otras: distribuidos de software, la recolección de in-
– RMI (Remote Method Invocation). Esta lla- formación en la internet y en redes, la asisten-
mada a métodos remotos se basa en la cia en procesos industriales y cooperativos de
comunicación mediante socket’s, pero es aprendizaje, entre otros. Es así como surge
más fácil de utilizar. AUML para representar los diseños de siste-
mas multi-agentes y FIPA como una funda-– JINI (su pronunciación es idéntica a "ge-
ción que define su estándar e implementación,nie", genio, en inglés). Tecnología Java ba-
regulando las formas de comunicación, la ar-sada en RMI, que provee servicios,
quitectura global de los sistemas, las reglaswww.jini.org. Además hace posible la inter-
de negociación, las formas de manejar onto-acción entre dispositivos electrónicos pro-
logías y bases de conocimiento. Por ejemplo,vistos de microprocesadores.
FIPA ha desarrollado el lenguaje ACL (Agent
– CORBA (Common ORB Architecture). Tec-
Comunicación Language), una evolución del
nología que permite comunicar compo-
lenguaje KQML (Knowledge Query Manipula-
nentes de software de diferentes lengua-
tion Language), tomado como estándar duran-
jes y plataformas.
te mucho tiempo para el intercambio de co-
El SMA se puede diseñar para que sea la
nocimiento entre agentes.
agencia la encargada de hacer el paso del
En la actualidad existen diversas herramien-agente y este se ejecutará en la agencia de
tas para la construcción de agentes, de lasdestino hasta que se le solicite ser enviado a
cuales se pueden mencionar las siguientes:otra agencia.
– Aglets Software Development Kit (ASDK)
de IBM, la cual presenta una interfaz gráfi-
ca identificada como una agencia, en la
Herramientas para el cual los agentes se ejecutan y existen; brin-
desarrollo de sistemas
dándole servicios de movilidad cifrando el
multiagentes
código y los datos de un aglet (agente)
La teoría de agentes establece una serie de utilizando el método de serialización de
mecanismos que pretenden dar un paso más Java (JOS) y trasladando agentes utilizan-
138 Universidad de San Buenaventura, Cali-ColombiaAgentes de software: tecnologías, herramientas y aplicaciones
do el Protocolo para el Transporte de Aglets Voyager permite a múltiples recursos parti-
(ATP). Adicional a esto, ofrece el servicio cipar en transacciones a través de múlti-
de mensajería y manejo de eventos como: ples máquinas virtuales (Voyager02).
creación de agentes, clonación, expedi- ––––– JavaLog integra el lenguaje orientado a
ción, retractación, eliminación, activación, objetos Java y el lenguaje lógico Prolog.
desactivación y paso de mensaje entre Esta combinación permite que los agen-
agentes (Aglets98). tes sean construidos como objetos, mani-
– Aglets provee un control de seguridad me- pulando un estado mental definido a través
diante definición de autoridades, de sus de cláusulas lógicas que son encapsula-
privilegios y preferencias. La configuración das en módulos lógicos. Estos módulos
de estas propiedades de seguridad es un permiten combinar dinámicamente actitu-
poco complicada, ya que se hace por un des mentales para adaptar el comporta-
archivo externo, mediante líneas de co- miento de agentes considerando diferen-
mando. Aunque Aglets provee una plata- tes contextos o circunstancias. Este len-
forma para la construcción de agentes de guaje de programación carece de una pla-
software, no es muy estable, según dicen taforma propia para su manipulación, por
sus autores, limitando los desarrollos adi- lo tanto se necesita manejar conceptos de
cionales que se trabajen sobre tal aplica- programación en Java y Prolog. No provee
ción. Adicional a esto, no contempla el ma- mecanismos de comunicación entre
nejo de conocimiento dentro de los agen- agentes (Javalog99).
tes (Aglets98).
– FIPA-OS, como plataforma para el desa-
– Voyager ORB es una plataforma para el rrollo de agentes, cumple con el estándar
desarrollo de agentes que se centra en el FIPA para el diseño e implementación de
manejo de su movilidad, obviando las otras sistemas multi-agentes, así como permite
características propias de los mismos. En desarrollos en Java. Está centrada en pro-
cuanto a seguridad, provee soporte para veer mecanismos de comunicación entre
comunicaciones de red seguras sobre el agentes. Carece de la funcionalidad del
protocolo estándar SSL, permitiendo la co- manejo del conocimiento para lo cual se
municación remota sobre un canal encrip- apoya en JESS (Java Expert System Shell)
tado y autenticado. Además soporta tunne- y del manejo de la movilidad de agentes
1ling a través de firewalls. (Mikko00). Este framework se puede inte-
Posee soporte de transacciones a través grar con CATNAgentToolkit para el diseño
de interfaces, que son fáciles de utilizar y de comportamientos sociales, aunque es
aseguran la terminación completa de las dispendioso establecer las relaciones ne-
mismas (usando "two-phase commit"). cesarias.
1. Tunneling. El proceso de encapsulamiento, que corresponde a la parte virtual en una Red Privada Virtual, la cual consiste en
ocultar la información del emisor (IP origen) y la del receptor (IP destino). Técnica que permiten establecer una comunicación
segura
Revista científica Guillermo de Ockham. Vol. 3, No. 1. Enero-Junio de 2005 • ISSN: 1794-192X 139Olga Lucía Roa
Figura 4Entre las herramientas para la construcción
Arquitectura de un sistema de agentes
de agentes evaluadas en este estudio, se
Management applicationspuede decir que esta es una de las más
RMI/CORBA/completas y más favorables para trabajar, SNMP Tl1
HTTP
ya que cuenta con una documentación
completa tanto para el desarrollador de sis-
temas multi-agentes, como para los desa-
rrolladores que deseen realizar aportes al
Mastercódigo existente por ser una aplicación de Agent
código abierto.
– JADE (Java Agent Development Frame-
work), desarrollada en Italia, cumple con
Sub Sublas especificaciones FIPA. Las aplicacio-
agent agent
nes de este framework se pueden ejecu-
tar en un amplio rango de ambientes, en-
tre ellos en dispositivos móviles (PDA’s y
Applications DeviceDB
celulares). Es de notar que esta aplicación,
como la gran mayoría de las desarrolla-
das en Java, poseen librerías adicionales
Ventajas de los agenteso se integran fácilmente con otras como
móviles respecto a
JESS (Java Expert System Shell); esta libre- técnicas de sistemas
ría permite representar el conocimiento distribuidos
heurístico de un experto humano.
– Los usuarios que utilizan computadores
Otras herramientas, las cuales tienen un valor portátiles o con baja capacidad de proce-
comercial, son: so, los que no tienen banda ancha en la
red o los que disponen de poco espacio– Agent Toolkit Java Edition. Esta herramien-
de almacenamiento, pueden utilizar agen-ta para desarrollar sistemas multi-agentes
tes móviles para solucionar sus problemas,con acceso multi-protocolo, permite ad-
desconectando su computador de la redministrar información común a través de
o pidiendo que otra máquina realice losSNMP (Simple Network Management
cálculos y recogiendo posteriormente losProtocol), RMI, HTTP , CORBA y TL1 (Proto-
resultados.colo definido dentro de la herramienta y
basado en XML). Este software es uno de – El usuario puede personalizar las respues-
los más llamativos por permitir implementar tas de un servidor utilizando agentes mó-
el acceso por varios protocolos de una viles que interactúen con las interfaces para
manera muy intuitiva y transparente (ver programación de aplicaciones API, expor-
Figura 4). tadas por dicho servidor.
140 Universidad de San Buenaventura, Cali-Colombia