nodos de la red una o ms veces, son autnomos con la funcin de ejecutar tareas, se envan como objetos a travs de plataformas conservando su cdigo, datos y estado de ejecucin. Ventajas Eficiencia Adaptacin al cliente Reduce el trfico de la red Gestiona gran volumen de informacin Permite la comunicacin en tiempo real
Caractersticas Movilidad: Tienen la capacidad de moverse de una mquina a otra. Pro accin: Toman la iniciativa para alcanzar sus propios objetivos. Sociabilidad: Tienen la capacidad de comunicarse con otros agentes, personas, programas. Adaptacin: Se comportan segn sus experiencias.
Como lo hacen? Inicio de la transferencia: El agente identifica el destino deseado, realiza una peticin de viaje al sistema, si es aceptada recibe el permiso para realizar la transferencia. El sistema suspende la ejecucin del agente e identifica el estado y las partes que sern enviadas. Se realiza la conversin del cdigo y estado del agente (seriacin) y se codifica segn el protocolo seleccionado. El sistema realiza la autentificacin del agente y se realiza la transferencia.
Recepcin del agente: El sistema destinatario acredita al cliente. Se realiza la descodificacin del agente y la conversin del cdigo y estado del agente (diseriacin), el sistema crea la instancia del agente, restaura su estado y contina su ejecucin.
Transferencia de otras clases (sistemas orientados a objetos): Este proceso se realiza cuando el agente se mueve de un sistema a otro, cuando se crea remotamente o necesita de otros objetos. Estas transferencias de las clases pueden realizarse durante la transferencia del agente o realizar peticiones cuando sea necesario. Lenguajes Pueden ser lenguajes de propsito general como: Java C++ Lisp Prolog O lenguajes especficos como: April Prolog/C CLOS/C
Lenguajes de comunicacion Podemos encontrar los procedimentales: Perl TCL Declarativos: ACL
Seguridad El tener un control de la seguridad es un grave problema, ya que los agentes son programas que viajan de una mquina a otra, como lo realiza un virus. Se deben controlar los siguientes aspectos: Proteccin de la mquina contra otros agentes Proteccin de los agentes contra la mquina Proteccin de la red
Ataques comunes Congestionar el sistema con peticiones. Escuchar por la red para obtener informacin privada. Modificar, borrar o sustituir cualquier elemento que se transfiera por la red. Grabar y retransmitir de forma no autorizada una comunicacin. Falsificar la identidad de un agente, para lograr tener acceso a otros agentes o servicios. Utilizar algn recurso para que no pueda ser utilizado por otro usuario. Colocar virus que les permitan recibir informacin confidencial o denegar accesos a recursos.
Protocolos de comunicacion MICK: Es Marco de Inter-Comunicacin basado en KQML, en el que cada agente cuenta con un rooteador capaz de enviar y recibir mensajes en KQML, reconocer un conjunto de palabras y seguir un protocolo. ATP: El Protocolo de Transferencia de Agente es un protocolo a nivel de aplicacin para sistemas distribuidos basados en agentes, puede ser usado para transferir agentes a mviles entre redes de computadoras..
CORBA: Por sus siglas en ingls Common Object Request Broker Architecture es una especificacin abierta de OMG para las arquitecturas de las aplicaciones que trabajan sobre redes. Su interoperabilidad proviene de dos partes principales: OMG Lenguaje de Definicin de Interface OMG DL y los protocolos estandarizados GIOP e IIOP. RMI: Remote Method Invocation habilita al programador para crear aplicaciones basadas en tecnologa Java distribuida, en la cual los mtodos de objetos en Java remotos pueden ser invocados desde otras mquinas virtuales de Java, posiblemente en diferentes servidores. RMI utiliza la serializacin de objetos con parmetros oficiales y no oficiales, y no trunca los tipos, soportando un verdadero polimorfismo orientado a objetos.
Aglets Consiste en una API que contiene un grupo de clases e interfaces Java, las mismas proporcionan movilidad y comunicacin entre agentes. Estos pueden ejecutarse de forma segura. Y por las caractersticas del lenguaje Java permiten que sean multiplataformas. Es flexible ya que permite que se aadan nuevas funciones al mismo. Nos permite Cifrar el cdigo y los datos de un aglet utilizando el mtodo de seriacin de Java (JOS). Traslado de 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.
Elementos principales Aglet: define los mtodos bsicos para el control de un agente mvil. Representante: Permite aislar al aglet del entorno, permitiendo un mayor grado de seguridad y ofreciendo transparencia respecto a la localizacin del agente. Contexto: ofrece al aglet una interfaz con su entorno de operacin. Mensaje: objetos utilizados para la comunicacin entre aglets.
Caracteristicas Comunicacin entre agente mediante mensajes sincrnicos y asincrnicos. Un esquema global nico para agentes. Un itinerario de viaje, para la especificacin de patrones complejos de viajes con mltiples destinos y manejos de fallas automticos. Un mecanismo white-board permitiendo que mltiples agentes colaboren y compartan informacin asncronamente. Un esquema de transmisin de mensajes que soporta una unin asncrona desahogada tan bien como una comunicacin sncrona entre agentes. Una carga de clases dinmicamente que permite que el cdigo Java de los agentes y la informacin de su estado viajen a travs de la red. Un contexto de ejecucin que proporciona un ambiente independiente del sistema actual sobre el cual se estn ejecutando.