Curso de doctorado: Agentes Inteligentes Agentes Móviles Juan Pavón Mestras Dep. de Sistemas Informáticos y Programación http://grasia.fdi.ucm.es Juan Pavón Mestras Facultad de Informática UCM, 2005-06 Agentes Móviles 2 Estructura Conceptos y Ejemplos de aplicación Tecnología: Java Requisitos de Sistema de Agentes Móviles Evaluación de sistemas Arquitectura de Sistema de Agentes Móviles Juan Pavón Mestras Facultad de Informática UCM, 2005-06 Agentes Móviles 3 Juan Pavón Mestras Facultad de Informática UCM, 2005-06 Agentes Móviles 4 Conceptos Agente Móvil Entidad autónoma proactiva y reactiva Capacidad de migrar por nodos de una red de computadores
20
Embed
Cursode doctorado: Agentes Inteligentes - fdi.ucm.es · PDF filecomportamiento “inteligente”: razonamiento, planificación, aprendizaje, etc. Los agentes móviles (AM)...
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Curso de doctorado:
Agentes Inteligentes
Agentes Móviles
Juan Pavón Mestras
Dep. de Sistemas Informáticos y Programación
http://grasia.fdi.ucm.es
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 2
Estructura
Conceptos yEjemplos de aplicación
Tecnología:Java
Requisitos deSistema de
Agentes Móviles
Evaluación desistemas
Arquitectura deSistema de
Agentes Móviles
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 3
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 4
Conceptos
Agente Móvil
Entidadautónomaproactivay reactiva
Capacidad de migrar por nodos de una red de computadores
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 5
Conceptos
� Agentes móviles y Agentes inteligentes
� Los agentes inteligentes son capaces de ofrecer un comportamiento “inteligente”: razonamiento, planificación, aprendizaje, etc.
� Los agentes móviles (AM) tienen la capacidad de moverse por distintos nodos de una red (una o más veces)
• Para la comunidad de IA la movilidad no es un atributo de los agentes
• Para la comunidad de AM la movilidad es el atributo principal
� Hoy hablaremos de agentes móviles:
� perspectiva de sistema distribuido
� tratamos los aspectos tactiles: movilidad, persistencia
� y (en parte) de sociabilidad: comunicación y colaboración
� NO vemos los aspectos cognitivos (adaptación, aprendizaje y planificación)
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 6
Conceptos
� Agente móvil
� Agente que realiza sus tareas no sólo en la computadora de su propietario, sino también en otras en la red
• buscando información en beneficio de su propietario
• o negociando y cerrando tratos en su nombre
• o utilizando servicios remotos
� Un agente móvil tiene capacidad para decidir a quéservidores moverse
• Hay instrucciones explícitas para que el agente pueda parar su ejecución, migrar a otro nodo (preservando su estado), y continuar su ejecución
� Puede moverse a uno o más servidores
� Es una extensión del modelo cliente-servidor
• Los clientes envían parte de ellos al servidor (o a varios servidores) para ejecutarse
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 7
Taxonomía del código móvil
Sistema deAgentes A
Código+
Datos
Sistema deAgentes B
Sistema deAgentes C
Código+
Datos
Agentes móviles autónomos(migración)
Sistema local
Código
Sistema remoto
Evaluación remota
Sistema local
Código
Sistema remoto
Código bajo demanda
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 8
Taxonomía del código móvil
� Dependiente de la aplicación� applet
aplicación cargada por la red para ejecutar localmente
� servletagente que es cargado en un lugar remoto donde seráactivado como un servidor
� extletagente que es cargado en un lugar remoto para extender las capacidades del receptor
� degletagente en el que se delega la autoridad para realizar una tarea determinada (acabada la tarea, desaparece)
� netletagente en el que se delega la autoridad para realizar una tarea permanente (esto es, nunca termina)
� pigletagente malicioso que supone riesgo de seguridad
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 9
� Programación remota� Ejecución remota de trabajos (IBM Remote Job Entry, años
70)
� Telecarga de funciones a bases de datos (funciones a los datos)
� Compartición de recursos, balance de carga, etc.
� Java applets
�� Agentes mAgentes móóvilesviles
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 10
AM vs. RPC
� Llamada a procedimiento remoto (RPC)
� La red pasa cada petición por separado,... y devuelve una respuesta por separado
� Hay acuerdo en los procedimientos, sus parámetros y tipo de resultados
� Puede ocasionar mucho tráfico de red
Entorno del cliente
Cliente
Entorno del servidor
Servidor
petición
respuesta...
petición
respuesta
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 11
AM vs. RPC
� Programación remota
� La red pasa todo el procedimiento como un Agente
� El cliente define el procedimiento (no tiene que acordarse por adelantado)
� La respuesta regresa como un Agente (o como mensaje)
Entorno del cliente
Cliente
Entorno del servidor
Servidor
peticiónrespuesta
Cliente
código+
estado
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 12
Agentes móviles: ventajas
� Eficiencia
� La red lleva menos mensajes
� Mejor cuanto más trabajo se haga en el servidor
� Mejor cuanto mayor latencia/inestabilidad de red
� Adaptación al cliente
� El cliente puede extender la funcionalidad del servidor
� Fácil instalación
• No se requiere instalación de servidor
• No se acuerdan los procedimientos
• Instalación dinámica del procedimiento del cliente en el servidor
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 13
Agentes móviles: ventajas
� Ejecución asíncrona de tareas
� El agente controla la ejecución de la tarea
� El cliente puede terminar o continuar haciendo otras cosas
Cliente Servidor
Petición
Resultado
Petición
Resultado
Agente Servidor
Petición
Resultado
Petición
Resultado
Cliente
Lanza
Termina
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 14
Agentes móviles: ventajas
� Reducción del tráfico en la red y de la capacidad de cómputo del cliente� Interesante para entornos de bajo ancho de banda y clientes
sencillos
� Realiza las interacciones localmente en el sistema objetivo (servidores potentes)
� Recuperación y filtrado de la información en su origen
� Sólo se devuelven los resultados definitivos(mediante migración del agente o usando mensajes/RPC)
Sistema A Sistema B
Cliente Servidor
Red Sistema de
Agentes A
Sistema de
Agentes B
Servidor
Red
migra
Cliente Cliente
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 15
Agentes móviles: ventajas
� Robusto: reducción de la dependencia de la disponibilidad de la red y del cliente/servidor
� los Agentes Móviles migrados al sistema servidor no se ven afectados por los fallos del cliente o de la red
Sistema de
Agentes A
Sistema de
Agentes B
Servidor
RedSistema A Sistema B
Cliente Servidor
Red
Cliente Cliente
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 16
Agentes móviles: ventajas
� Automatización del proceso de tareas distribuidas
� Los Agentes Móviles realizan tareas específicas en lugares diferentes
Agenda:
Haz esto en B;
Haz eso en C;
Vuelve.
Sistema de
Agentes A
Sistema de
Agentes B
Servidor
Sistema de
Agentes C
Servidor
Haz esto
Haz eso
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 17
Agentes móviles: ventajas
� Proceso de tareas local/descentralizado
� mayor eficiencia, fiabilidad, seguridad, etc.
Sistema de
Agentes A
Sistema de
Agentes BSistema B
Sistema A
Controlador
Sistema C
Cliente
Servidor
Sistema de
Agentes C
Controlador
Controlador
Controlador
Cliente
Servidor
Cliente
Servidor
Cliente
Servidor
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 18
Agentes móviles: ventajas
� Sistemas de usuario final flexibles
� Dependiendo del sistema del usuario final (PDA, NC, PC, WS), se pueden cargar los componentes de servicio apropiados para su uso
Sistemas del clienteNC PC en redSTB WS
Sistema Proveedor del Servicio
Sistema de Agentes
Cliente
Comp.
A
Comp.
B
C
Comp.
A
Comp.
B
Comp.
Sistema de Agentes
Proveedor del Servicio
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 19
Agentes móviles: cuestiones
� Seguridad
� Autenticación del usuario
• ¿Quién envía el agente móvil?
� Autenticación del servidor o entorno de ejecución de agentes
• ¿No caerá el agente en una trampa?
� Derechos de ejecución de agentes de un usuario en un servidor
• ¿Pueden ejecutarse los agentes? ¿Qué funciones pueden realizar?
� Capacidad del agente para pagar por los servicios utilizados
• Teleclicks (General Magic)
� Detección de virus
• ¿Se puede confiar en el agente?
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 20
Agentes móviles: cuestiones
� Control de ejecución de las tareas
� la localización y el estado de un agente pueden ser desconocidos
� Gestión de fallos
� ¿Quién detecta los fallos?
� Eficiencia (el código interpretado suele ser lento)
� Heterogeneidad de sistemas de AM
� Sobrecarga de la transferencia del código
� tiene que compararse con las interacciones
� Acceso a servicios existentes (Internet, CORBA, etc.)
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 21
Aplicaciones
� Servicios de información en Internet� Recuperación y extracción de información de múltiples lugares� Búsqueda y filtrado de la información� Control de cambios� Difusión de información
� Comercio electrónico� Mercado de servicios electrónico� Negociación
� Equipos móviles y PCs en el hogar� Conexiones intermitentes y bajo ancho de banda
� Redes públicas de telecomunicaciones� Provisión de servicios bajo demanda� Descentralización del control y gestión de redes
� Procesamiento paralelo
� Gestión de procesos (workflow)
� Juegos (agentes que representan jugadores)
Personalización
de servicios
Flexibilidad de
la distribución
Delegación
de tareas
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 22
Aplicaciones: Internet
� Ejemplo: Documentos activos
� Todos los usuarios tienen un sistema de agentes
� A un agente de correo electrónico inteligente se le puede dar un mensaje(puede ser un documento) y un itinerario
� El agente sigue el itinerario, y puede ser modificado en su camino
• El autor del mensaje puede recibir comentarios de los otros tres
• Algunos usuarios pueden ver comentarios de los anteriores en el itinerario
agente de
correo
(revisión
documento)
Sistema de AM
Juan
Sistema de AM
Director
crea
Sistema de AM
Jefe
��
�
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 23
Aplicaciones: Telecomunicaciones
� Gestión de red
� Ejemplo: Descubrir la configuración de la red
clonar
migrar
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 24
Aplicaciones: Telecomunicaciones
� Gestión de red
� Ejemplos de gestión de red basada en netlets
• Detección y corrección de fallos
• Control del rendimiento
ERRORSistema
de
Operaciones
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 25
Aplicaciones: Tiempo Real
� Interacción tiempo real con servidor
� Si la latencia de la red es alta comparada con las restricciones de tiempo real de un equipo externo
• Caso extremo: aplicaciones espaciales
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 26
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 27
Requisitos plataforma AM
� Requisitos del modelo de agentes:
� Todo agente software está definido por:
• Modelo de ciclo de vida
• Modelo computacional
• Modelo de seguridad
• Modelo de comunicación
� y los agentes móviles añaden:
• Modelo de navegación
� Requisitos genéricos• Rendimiento y eficiencia
• Portabilidad
• Abierto
• Integración y soporte de sistemas propietarios
• Escalabilidad
• Mantenibilidad
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 28
Modelo de Agentes Móviles
Modelo de ciclo de vida
� Describe los servicios de gestión de agentes:
� Servicios de factoría:• Creación, iniciación, suspensión, arranque, parada,
eliminación de agentes
� Define 2 tipos de agentes:
� Agentes persistentes• Pueden salvar su contexto de ejecución, de forma que
pueden re-iniciarse más tarde (posiblemente en otro lugar)
� Agentes basados en tareas• Se reinician desde el mismo punto en cada ocasión y
lugar
• No guardan el contexto
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 29
Modelo de Agentes Móviles
Modelo de ciclo de vida
Inicialización
Arrancando Parando
Acabando
concluir
arrancar
arrancar
parar
iniciar
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 30
Modelo de Agentes Móviles
Modelo computacional
� Describe las capacidades de computación de los agentes:� ¿Cómo se ejecutan los agentes?
• Como procesos separados, como hilos de ejecución, etc.
� Primitivas que pueden afectar la ejecución del agente• Creación, control de ejecución, eliminación de agentes
• Parar, migrar y continuar el agente
• Manipulación de datos
� Plataforma de sistema de agentes• Dominios
� Nombrado, direccionamiento, localización
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 31
Modelo de Agentes Móviles
Sistema Operativo
Infraestructura
de comunicaciones
Sistema de Agentes
Lugar Lugar
AgentesAgentes
Elementos básicos
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 32
Modelo de Agentes Móviles
Modelo de seguridad
� En dos sentidos:� Cómo pueden acceder los agentes a los recursos de la red
� Ataque malicioso a datos o recursos (o a otros agentes)
� Duplicación de agentes
� Confidencialidad
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 33
Modelo de Agentes Móviles
Modelo de seguridad
� Autenticación entre sistemas de agentes
� Autenticación mutua de los sistemas origen y destino
� Autenticación de agentes
� Mediante autenticadores
• Un autenticador es un algoritmo que determina la autenticidad de un agente
• Los autenticadores tienen tipos que están registrados con una autoridad de nombres
• Pueden ser válidos para un salto o para múltiples saltos
� Soporte de la infraestructura de comunicaciones
� Autenticar la autoridad del agente
� Criptografiado en la transmisión de los agentes
� Protección contra inundación
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 34
Modelo de Agentes Móviles
Modelo de comunicación y colaboración
� Entre agentes
� lenguajes de comunicación entre agentes:
• Específicos de agentes• - Knowledge Query Manipulation Language (KQML)
• - FIPA ACL
• RPC, CORBA
� distintos tipos de comunicación:
• Punto a punto
• Difusión
• Punto a multipunto
• Pizarra compartida
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 35
Modelo de Agentes Móviles
Modelo de comunicación y colaboración
� Entre agentes y otras entidades
� Con los usuarios• usuarios finales
• gestor del sistema de agentes
� Con recursos locales al sistema visitado• a través de agentes/servicios del sistema de agentes local
� Con la plataforma de ejecución de agentes• a través de agentes/servicios del sistema de agentes local
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 36
Modelo de Agentes Móviles
Modelo de navegación
� Transporte de un agente (con o sin estado) entre dos entidades computacionales residentes en distintos lugares:� Servicios y protocolos de transferencia de agentes
� Itinerario de un agente móvil� Cómo se especifica el itinerario
� Puede modificarse el itinerario
� Seguimiento del agente• Servicio de localización
• Rastro del agente
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 37
Sistema de Agentes Móviles
Funciones
� Entorno seguro para operaciones de agente
� Permitir que varios agentes puedan coexistir y ejecutarse simultáneamente
� Prevenir que los agentes interfieran unos con otros
� Transferencia de agentes
� negociar el intercambio de agentes
� detener un agente y transferirlo a otro sistema de agentes
� recibir un agente transferido por otro sistema de agentes y continuar su ejecución
� Creación de agentes
� Proporcionar nombres de agentes únicos
� Localizar los agentes móviles
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 38
Sistema de Agentes Móviles
Capacidades del sistema de agentes básico
ExportaciónImportación
Almacenamiento
Seguridad
Execution
Comunicación
Directorio Gestión
ExecutionEjecución
Sistema
de Agentes A
Sistema de
Agentes B
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 39
Sistema de Agentes Móviles
Caracterización de un agente móvil
� Nombre� Autoridad + Identidad + Tipo de sistema de agente
� Globalmente único e inmutable
� Estado� Valores que determinan qué hacer cuando la ejecución del
agente continúe en el sistema de agentes destino
� Localización� Dirección del lugar (y sistema de agentes) donde reside el
agente
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 40
Sistema de Agentes Móviles
Lenguajes para programar agentes móviles
� Java
� La mayoría de los sistemas
� TCL
� D’Agents, SMIA
� C/C++
� Omniware
� Otros
� Telescript
� Lisp, Scheme, propietarios, etc.
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 41
Java
� Java facilita la realización de Agentes Móviles
� Movilidad de código
• Applets, Servlets, Jini
• Máquina virtual Java disponible en casi todo HW/S.O.
� Facilidades de comunicación de Java
• sockets, datagramas , Java RMI
• serialización de objetos
• Internet: ftp, http, URL
� Seguridad
• Verificador de bytecode, Java Security, Java Card
� Java chips
• permitirá la utilización de agentes móviles en sistemas empotrados
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 42
Java
� Seguridad en distintos niveles:
� Seguridad de bajo nivel
• Diseño del lenguaje (eliminación de punteros)
• Comprobaciones en tiempo de compilación (uso de tipos, violación de acceso, desbordamientos de pila,etc.)
• Verificación de bytecode al cargar y durante ejecución (límites de arrays, etc.)
� Seguridad de alto nivel configurable
• La aplicación instancia un gestor de seguridad de los archivos de clase locales
• Cuidado: un posible atacante podría intentar cambiar las clases del sistema
• El cargador de clases obliga a la separación del espacio de nombres
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 43
Java
Seguridad
Clases java
(.java)
Clases java
(.java)
bytecodes
(.class)
javac
bytecode
externo
Verificador
bytecodeempotrado+ JDK
Cargador
de clases
Cargador de sistemade ficheros
Gestor de
Seguridad
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 44
Java
RED
Security Sandbox
Clases .class
Clases firmadasarchivos .jar
Clases localesarchivos .jar .zip
.class
Las clases cargadas desde la red tienen restricciones:* No pueden acceder al sistema local de archivos* Acceso de red sólo al nodo de origen* No pueden acceder a las propiedades del sistema* No pueden acceder a código nativo
Las clases firmadas pueden tener algunas restricciones eliminadas
Las clases cargadas localmente (bibliotecaestándar) no tienen restricciones
Seguridad
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 45
Java
Serialización
Clases Objetos
0111010101110
Serializar
Archivoo Stream
0111010101110
Deserializar
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 46
Implementación de AM con Java
Arquitectura básica
Máquina Virtual Java
Sistema de Agentes
Agente residente
Visitante
Lugar Lugar encuentro
MVJ
Sistema de Agentes
Lugar
Java RMI
Interfazdel agente
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 47
Implementación de AM con Java
Clase Agente Móvil
� Toda clase que implemente un agente móvil debe heredar de una clase genérica MobileAgent, que ofrece los siguientes métodos (ciclo de vida) que pueden redefinirse:
� inicializar()
• se llama una sola vez, al crear el agente
� arrancar()
• se llama cada vez que se arranca el agente (por ejemplo, al llegar a un lugar)
� parar()
• se lama cada vez que se va a transferir, almacenar, o antes de eliminarlo
� concluir()
• se llama sólo una vez, cuando el agente se destruye
� Asimismo, un Agente Móvil tiene una identidad, que puede implementarse como una clase AgentIdentity
� y ofrece un objeto AgentInterface para comunicarse con otros
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 48
Implementación de AM con Java
Sistema de agentes� Ofrecerá una interfaz remota con métodos para transferir
� Varios modos de comunicación: síncrono, asíncrono, multicast
� Gestión de la plataforma� A través de una interfaz gráfica: consola de Agencia y
consola de Registro
� Actualmente está descatalogado y no está disponible al público
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 75
Grasshopper
Region
Agency
Place
MA
MA
MA
SA
Core Agency Communication
Management
MAFAgent System
Persistence
Registration
Security
Transport
Region Registry
MAFAgent System
Management
Communication
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 76
Conclusiones
� Los AM ofrecen
� un marco abierto para la implantación y personalización de servicios en red
• siguiendo un modelo antropomórfico (fácil de modelar)
� capacidad de desarrollar nuevos servicios (luego nuevas posibilidades de negocios en la red)
• comercio electrónico integral
� Potencian al usuario individual
� especialmente en entornos como Internet
� el usuario gana en capacidad de cómputo, automatización de tareas distribuidas (por ejemplo, búsqueda y filtrado de información), menor dependencia del acceso a la red
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 77
Conclusiones
� La tecnología de AM es viable
� Java es lo más estándar para realizar plataformas de AM
� Los aspectos de seguridad pueden apoyarse en las facilidades de Java (verificación de bytecode, Java Security, Java Card)
� Grupos de normalización (OMG, FIPA) han abordado el problema de la heterogeneidad de plataformas
� El gran problema es la implantación de platformas de soporte de agentes móviles en internet
� Además, la mayor parte de las aplicaciones que se pueden realizar con agentes móviles también se pueden realizar con middleware cliente-servidor, que es una solución más probada, sencilla, y extendida
� Su aplicación hoy día parece concretarse en dominios concretos
� Redes ad-hoc
� Redes activas
� Documentos activos
Juan Pavón MestrasFacultad de Informática UCM, 2005-06 Agentes Móviles 78