Вы находитесь на странице: 1из 10

Omar Trujillo

Programacin con Aglets - java


Introduccin La programacin orientada a objetos representa un mayor nivel de abstraccin que la programacin basada en procedimientos; es ms fcil de comprender y de mantener, por lo tanto, ms productiva. La teora de agentes y por extensin la relativa a los agentes mviles, establece una serie de mecanismos que pretenden dar un paso ms all en el tratamiento informtico distribuido, aadiendo caractersticas como la localizacin o la situacin, y permitiendo la interaccin dinmica de componentes autnomos y heterogneos. Los agentes mviles aaden una singularidad especial al concepto de agentes: la posibilidad de trasladarse de una mquina a otra. Esta caracterstica ofrece ciertas ventajas respecto al tratamiento de la informacin en modo clienteservidor, sobre todo en la computacin a travs de Internet. El auge mundial de la internet ha permitido el rpido desarrollo de nuevas tcnicas inteligentes para bsqueda, filtrado y gestin de datos. Definicin de agente. Actualmente hay tres disciplinas informticas fundamentales en el desarrollo y definicin de agentes: Inteligencia artificial. Programacin orientada a objetos y programacin concurrente. Diseo de interfaces hombre-mquina. Nocin dbil de agencia: sistema de hardware o un sistema de computo basado en software que contiene las propiedades de autonoma, habilidad social, reactividad y proactividad. Nocin fuerte de agencia: sistema computacional que, adems de las propiedades mencionadas, es conceptualizado e implementado usando conceptos que son mas usualmente aplicados a humanos. Entendiendo lo que es un agente, se puede describir las propiedades de estos de una manera mas precisa. Autonoma: los agentes actan sin la intervencin directa de las personas. Posee la capacidad de razonamiento para generar cursos de accin. Sociabilidad: los agentes interactan con otros agentes mediante algn mecanismo de comunicacin. Reactividad: los agentes perciben su ambiente (mundo real, interfaz grafica, conjunto de otros agentes, Internet o combinacin de estos) y responden a los cambios de ste. Proactividad: los agentes no solo actan en respuesta a su ambiente, sino que son capaces de tener comportamiento orientado a metas.

Adems de las propiedades que Wooldridge menciona, annimo(1999) distingue otras: Cooperativo: en consecuencia a la sociabilidad, la cooperacin entre agentes es una razn de ser para tener mltiples agentes para resolver problemas. Aprendizaje: los agentes para ser inteligentes requieren la propiedad de poder aprender del ambiente que les rodea. Veracidad: un agente no comunica deliberadamente informacin falsa. Benevolencia: los agentes no tienen metas conflictivas, har siempre lo que se pida. Racionalidad: un agente actuara para alcanzar sus metas en la medida que sus creencias, conocimientos y capacidad de razonamiento se lo permitan. Movilidad: algunos agentes tienen la habilidad de viajar en una red de computadoras (en Internet). Los agentes pueden clasificarse desde diferentes puntos de vista que se mencionan a continuacin: En base a sus capacidades de resolver problemas se clasifican en: Agentes reactivos: reaccionan a cambios en su ambiente o a mensajes provenientes de otros agentes. No son capaces de razonar acerca de sus intenciones. Sus acciones se realizan como resultado de reglas que se establecen. Agentes intencionales: son capaces de razonar acerca de sus intenciones y conocimientos, crear planes de accin y ejecutar dichos planes. Los agentes intencionales pueden ser considerados como sistemas de planeacin. Agentes sociales: poseen la capacidad de los agentes intencionales. Mantener los modelos de los otros agentes, razonar sobre el conocimiento incorporado a estos modelos. Tomar decisiones y crear sus planes con respecto a los modelos de otros agentes. En base a autonoma, aprendizaje y cooperacin: Agentes colaborativos: enfatizan su autonoma y cooperacin (con otros agentes) para realizar su tarea. Pueden aprender. Agentes de interfaz: ponen nfasis en su autonoma y aprendizaje para realizar sus tareas. Los agentes de interfaz asisten y dan soporte al usuario para aprender el uso de una aplicacin. Otra clasificacin de agentes: Agentes mviles: los agentes mviles son programas de software capaces de viajar por redes de computadoras, como Internet, de interactuar con hosts, pedir informacin a nombre de un usuario y regresar a su lugar de origen una vez que ha realizado las tareas especificadas por un usuario. Agentes de informacin/internet: realizan la tarea de administrar, manipular o recolectar informacin proveniente de varias fuentes distribuidas. Los agentes de informacin pueden ser estticos o mviles, no cooperativos o sociales y pueden o no aprender. Agentes hbridos: son aquellos que en su funcionamiento poseen la combinacin de dos o ms de las capacidades de los tipos mencionados. Un agente individual encuentra aplicacin en robtica, puede ser usado de mltiples maneras en el entorno actual: Ayuda al cliente: puede escuchar el problema, buscar en medios diferentes y proponer la solucin.

Filtrado y bsqueda en la world wide web: aprendera los hbitos de bsqueda del usuario para proponer nuevas pginas. Busca gangas: un agente podra buscar el objeto que desee su usuario al mejor precio. Agentes charlatanes: puede mantener una conversacin con el usuario, tomando la apariencia deseada para diversin. Trabajo en grupo: los agentes se estn usando para negociar problemas de trabajo y coordinacin de un grupo. Siendo cualquiera de estas aplicaciones las que se desee implementar un sistema basado en agentes propone interesantes oportunidades para crear sistemas computacionales ms flexibles y robustos. La investigacin de los agentes de una forma individual la estudia la Inteligencia Artificial pero debido a la aplicacin de agentes en forma colectiva, se crea una nueva rama de la IA, la Inteligencia Artificial Distribuida Desde al punto de vista de los agentes mviles: dado que un agente mvil es capaz de navegar por diferentes redes, puede ser mas eficiente y barato que un agente esttico en la bsqueda de informacin, pues visitara cada host para realizar sus operaciones y regresar finalmente con toda la informacin, y operaciones realizadas, a la computadora que lo origino. Histricamente, la comunicacin entre agentes de un sistema se realizaba mediante lenguajes propios de cada vendedor, impidiendo la comprensin entre los agentes de sistemas diferentes. A principios de los 80s el DARPA desarroll el Knowledge Query management Language (KQML). Algunos entornos como el Java Agent Template han desarrollado compatibilidad con KQML, pero no son completamente compatibles. En cuanto a los protocolos de comunicacin se definen como las reglas de comunicacin que permiten el flujo de informacin entre computadoras distintas que manejan lenguajes distintos, que es lo que el estudio pretende brindar. Adems el estudio pretende proporcionar una mejora a la interaccin entre agentes, brindando los elementos para la creacin del protocolo de comunicacin realizado en un lenguaje que brinde las herramientas necesarias para su desarrollo. Agentes mviles Las diferencias principales entre los conceptos de agentes estticos y agentes mviles son: Agente esttico: es aqul que slo puede ejecutarse en la mquina donde fue iniciado. Si ste necesita interactuar con otros agentes o programas o requiere cierta informacin que no se encuentra en el sistema, la comunicacin puede llevarse a cabo mediante cualquier mtodo de interaccin para objetos distribuido, como CORBA o RMI de Java. Agente mvil: aqul que no est limitado al sistema donde se inici su ejecucin, siendo capaz de transportarse de una mquina a otra a travs de la red. Esta posibilidad le permite interactuar con el objeto deseado de forma directa sobre el sistema de agentes donde se halla dicho objeto. Tambin

puede utilizar los servicios ofrecidos por el sistema multiagente destinatario. Ningn sistema de objetos distribuido existente en la actualidad necesita utilizar agentes mviles para comunicarse. Las tareas de bsqueda y tratamiento de la informacin en Internet tienen ltimamente una gran importancia en el desarrollo de sistemas basados en agentes mviles. Debido al rpido crecimiento de la Red, el proceso de encontrar los datos ms convenientes para un usuario resulta excesivamente tedioso y complejo. En nuestro caso, puede enviarse un agente a los destinos ms interesantes para el usuario, localizar y filtrar la informacin deseada siguiendo las normas dictadas por ste y traerla consigo al ordenador de origen, permitiendo ahorrar tiempo de conexin y ancho de banda y, por lo tanto, dinero. Los agentes mviles suelen programarse normalmente en lenguajes interpretados o generadores de cdigo intermedio Telescript , Java, Tcl, ya que stos dan un mejor soporte a entornos heterogneos, permitiendo que los programas y sus datos sean independientes de la plataforma utilizada. La seriacin es el proceso tpico por el que se representa el estado completo de un agente mediante una serie que puede ser fcilmente transportada por la red. El proceso de descodificacin de dicha serie en el agente se denomina diseriacin.

Aglets. La arquitectura de Aglets Software Development Kit (ASDK) presenta una herramienta de desarrollo para agentes mviles, creada por los laboratorios de I.B.M. en Tokio. Un aglet es un objeto escrito en Java capaz de visitar mquinas que soporten el entorno de ejecucin Aglets WorkBench (AWB) . Dicho entorno permite:

Cifrar el cdigo y los datos de un aglet utilizando el mtodo de seriacin de Java (JOS). Trasladar agentes utilizando el Protocolo para el Transporte de Aglets (ATP). Ofrecer un Interfaz de Programacin para Aglets (A-API). Interconexin e intercambio de informacin entre aglets y otros objetos mediante paso de mensajes. El ciclo de vida de un aglet puede tratarse por mtodos basados en captura de eventos. Los eventos definidos son: creacin, clonacin, expedicin, retractacin, eliminacin, activacin, desactivacin y paso de mensaje. Control de seguridad mediante definicin de autoridades y de sus privilegios y preferencias.

Los elementos principales de la arquitectura aglet son:

Aglet: define los mtodos bsicos para el control de un agente mvil. Representante: aisla al aglet del entorno, permitiendo un mayor grado de seguridad y ofreciendo transparencia respecto a la localizacin del agente. Contexto: ofrece al aglet un interfaz con su entorno de operacin. Mensaje: objetos utilizados para la comunicacin entre aglets.

Como vemos los agentes mviles ofrecen las siguientes ventajas respecto a otras tcnicas informticas distribuidas:

Los usuarios que utilizan ordenadores porttiles o con baja capacidad de proceso, los que tienen un bajo ancho de banda en la red o los que disponen de poco espacio de almacenamiento pueden utilizar agentes mviles para solucionar sus problemas, desconectando su ordenador de la red o pidiendo que otra mquina realice los clculos y recogiendo posteriormente los resultados. El usuario puede personalizar las respuestas de un servidor utilizando agentes mviles que interacten con las interfaces para programacin de aplicaciones (API) exportadas por dicho servidor. Se flexibiliza la bsqueda semntica de informacin, ya que el usuario puede expresar sus necesidades en un lenguaje natural, enviar los datos a un agente consultor para que las traduzca al lenguaje utilizado por el sistema multiagente y volver a enviar la peticin con el formato adecuado a los servidores. Mejoran las posibilidades del comercio electrnico, ya que el usuario puede dar instrucciones a un agente para que realice la compra cuando se cumplan las condiciones necesarias. El proceso es ms rpido y econmico porque evita tener que hacer comunicaciones peridicas para comprobar el estado del producto.

Por el contrario, ac estn las desventajas:


Es ms rentable dotar de servidores representantes (proxy) a los usuarios de ordenadores porttiles. Las transacciones y peticiones semnticas pueden realizarse con otro tipo de tcnicas obteniendo un resultado similar, ya que los servidores

de informacin pueden restringir el acceso a los agentes ejecutados localmente. Hasta ahora no existe una metodologa que permita convertir el cdigo de un agente escrito en un lenguaje de programacin determinado a otro lenguaje distinto. Los virus informticos pueden contaminar los sistemas de agentes mviles y utilizarlos para reproducirse rpidamente.

Aglets Software Development Kit es el primer kit de este tipo de desarrollo para la construccin basado en redes de aplicaciones que usan agentes moviles para buscar para accesar y manejar datos corporativos y otros datos. Aglets Software Development Kit hace que sea ms fcil crear un plataforma independiente de agentes basado en programacin en java. Esto permite hacer agentes personalizados. package package package package package package package package package package package com.ibm.aglet com.ibm.aglet.event com.ibm.aglet.system com.ibm.aglet.util com.ibm.aglets.patterns com.ibm.aglets.util com.ibm.agletx.patterns com.ibm.agletx.util com.ibm.atci com.ibm.atp.daemon com.ibm.awb.util

package com.ibm.aglet INTERFAZ AgletContext AgletProxy MessageManager CLASES Aglet AgletID AgletInfo

AgletStub FutureReply Message ReplySet EXCEPCIONES

AgletException AgletNotFoundException InvalidAgletException MessageException NotHandledException RequestRefusedException ServerNotFoundException package com.ibm.aglet.event INTERFAZ

CloneListener MobilityListener PersistencyListener CLASES AgletEvent AgletEventListener CloneAdapter CloneEvent MobilityAdapter MobilityEvent PersistencyAdapter PersistencyEvent package com.ibm.aglet.system INTERFAZ ContextListener CLASES AgletRuntime Aglets ContextAdapter ContextEvent package com.ibm.aglet.util

INTERFAZ ImageData CLASES AddressBook AddressChooser Arguments package com.ibm.aglets.util CLASES AgletAudioClip AgletImageData ByteArrayImageSource GeneralDialog ImageComponent MessageDialog MessagePanel Utils package com.ibm.agletx.patterns CLASES Meeting Messenger NetUtils Notifier Slave package com.ibm.agletx.util CLASES AlternateItinerary MeetingTask MeetingsItinerary MessengerItinerary MetaItinerary SeqItinerary SeqPlanItinerary SimpleItinerary SlaveItinerary Task package com.ibm.atci INTERFAZ

AtciConnection AtciConnectionHandler AtciConstants AtciRequest AtciResponse CLASES

AgentRequestHandler AtciConnector package com.ibm.atp.daemon CLASES AtpRequestImpl AtpResponseImpl Daemon Main package com.ibm.awb.util CLASES Debug FileUtils LogFileOutputStream NullOutputStream Resource TeeOutputStream Version

Cada de estos tiene su herencia como lo son los constructores, los mtodos, las variables, con esto podemos hacer muchas funciones o procesos en los Aglets. BIBLIOGRAFIA http://www.informatica.us.es/~ramon/tesis/agentes/Aglets1.0.3/index.ht ml http://sourceforge.net/projects/aglets/ http://www.informatica.us.es/~ramon/tesis/CORBA/Seminario-MASIF/ http://www.trl.ibm.com/aglets/api/packages.html

OMAR TRUJILLO

COD 03170047

UNIVERSIDAD EL BOSQUE

Вам также может понравиться