Beruflich Dokumente
Kultur Dokumente
Curso de doctorado:
Conceptos y Tecnología:
Agentes Inteligentes
Ejemplos de Java
aplicación
Agentes Móviles Requisitos de
Sistema de Arquitectura de
Juan Pavón Mestras Agentes Móviles Sistema de
Dep. de Sistemas Informáticos y Programación
Agentes Móviles
Evaluación de
http://grasia.fdi.ucm.es
sistemas
Conceptos
Agente Móvil
Entidad Capacidad de
autónoma migrar por nodos
proactiva de una red de
y reactiva computadores
Dependiente de la aplicación
Código applet
aplicación cargada por la red para ejecutar localmente
Código bajo demanda Sistema Sistema servlet
local remoto agente que es cargado en un lugar remoto donde será
activado como un servidor
Código
extlet
agente que es cargado en un lugar remoto para extender las
capacidades del receptor
Sistema Sistema Evaluación remota deglet
local remoto
agente en el que se delega la autoridad para realizar una
Código Código tarea determinada (acabada la tarea, desaparece)
+ +
Datos Datos netlet
agente en el que se delega la autoridad para realizar una
tarea permanente (esto es, nunca termina)
Agentes móviles autónomos Sistema de Sistema de Sistema de piglet
Agentes A Agentes B Agentes C agente malicioso que supone riesgo de seguridad
(migración)
Programación remota
Ejecución remota de trabajos (IBM Remote Job Entry, años Entorno del
Entorno del
70) servidor
cliente
Telecarga de funciones a bases de datos (funciones a los petición
datos)
respuesta
Compartición de recursos, balance de carga, etc.
Cliente
... Servidor
Java applets petición
Agentes mó
móviles respuesta
Cliente
Resultado Resultado
Sistema de Sistema de
Sistema A Red Sistema B
Agentes A Red Agentes B
Haz esto
Agenda: Servidor
Haz esto en B;
Cliente Servidor
Servidor Haz eso en C; Sistema de
Cliente Cliente Vuelve. Agentes B
Sistema de
Agentes A Haz eso
Sistema A Red Sistema B Sistema de Sistema de
Red Servidor
Agentes A Agentes B
Sistema de
Agentes C
Controlador
Sistemas del cliente
Controlador Cliente STB NC PC en red WS
Cliente Servidor
Sistema de Agentes
Servidor Cliente
Controlador
Sistema de A B
Sistema B Agentes B
Comp. Comp.
Sistema A Sistema de Controlador
Agentes A
Cliente
Cliente Servidor A B C
Servidor
Sistema de Comp. Comp. Comp.
Sistema C Agentes C
Sistema de Agentes
Sistema Proveedor del Servicio
Proveedor del Servicio
Sistema ERROR
migrar
de
Operaciones
clonar
Problemas de seguridad:
Lugar ¿Agente = Virus? ¿Plataforma segura? ¿Comunicaciones
Lugar seguras?
Adquisición o alteración no autorizada de datos
Sistema de Agentes Uso no autorizado de recursos
Infraestructura Ataque malicioso a datos o recursos (o a otros agentes)
de comunicaciones Duplicación de agentes
Confidencialidad
Sistema Operativo
Juan Pavón Mestras Juan Pavón Mestras
Facultad de Informática UCM, 2005-06 Agentes Móviles 31 Facultad de Informática UCM, 2005-06 Agentes Móviles 32
Modelo de Agentes Móviles Modelo de Agentes Móviles
Entre agentes y otras entidades Transporte de un agente (con o sin estado) entre dos
Con los usuarios entidades computacionales residentes en distintos
• usuarios finales lugares:
• gestor del sistema de agentes Servicios y protocolos de transferencia de agentes
Con recursos locales al sistema visitado Itinerario de un agente móvil
• a través de agentes/servicios del sistema de agentes local Cómo se especifica el itinerario
Con la plataforma de ejecución de agentes Puede modificarse el itinerario
• a través de agentes/servicios del sistema de agentes local Seguimiento del agente
• Servicio de localización
• Rastro del agente
Nombre Java
Autoridad + Identidad + Tipo de sistema de agente La mayoría de los sistemas
Globalmente único e inmutable
TCL
D’Agents, SMIA
Estado
C/C++
Valores que determinan qué hacer cuando la ejecución del
agente continúe en el sistema de agentes destino Omniware
Otros
Localización Telescript
Dirección del lugar (y sistema de agentes) donde reside el Lisp, Scheme, propietarios, etc.
agente
Java Java
Seguridad Seguridad
Clases
Clasesjava
java RED
(.java)
(.java) Las clases cargadas desde la red tienen
restricciones:
bytecode * No pueden acceder al sistema local de archivos
Clases .class * Acceso de red sólo al nodo de origen
externo * No pueden acceder a las propiedades del sistema
javac
Security Sandbox * No pueden acceder a código nativo
bytecodes Cargador Clases firmadas Las clases firmadas pueden tener algunas
Verificador
(.class) de clases archivos .jar restricciones eliminadas
Gestor de
Cargador Seguridad
Clases locales Las clases cargadas localmente (biblioteca
bytecode
empotrado de sistema archivos .jar .zip estándar) no tienen restricciones
+ JDK de ficheros .class
Interfaz
Serializar del agente
Agente
residente
0111010101110
Visitante
Deserializar
Telescript Telescript
Engine
Aplicaciones
Transporte Almacenamiento
externas
Juan Pavón Mestras Juan Pavón Mestras
Facultad de Informática UCM, 2005-06 Agentes Móviles 57 Facultad de Informática UCM, 2005-06 Agentes Móviles 58
Telescript Odyssey
Agentes
Codificación
de agentes Engine
Aplicaciones
Transporte Almacenamiento
externas
Juan Pavón Mestras Juan Pavón Mestras
Facultad de Informática UCM, 2005-06 Agentes Móviles 59 Facultad de Informática UCM, 2005-06 Agentes Móviles 60
Aglets Aglets
Desarrollado por IBM Tokyo Research Labs (1996-2002) Aglet Aglet Aglet
aglet = agent + applet
Aglet Proxy Aglet Proxy Aglet Proxy
Armazón (framework) basado en Java para construir Aglet Context Aglet Context
aplicaciones distribuidas usando el paradigma de AM
+ Demonio Aglet + ATP
Herramientas:
Servidor de aglets: Tahiti Máquina Virtual Java
Constructor visual de aglets: Tazza
Lanzador de aglets para la WWW: Fiji Transporte Java Runtime Almacenamiento
Aglets Aglets
2. transfiere agente
Portátil 1 Red de conectividad 5. notifica conexión
permanente 6. transferencia de
Máquina 1 P1 agentes en espera M1 M3
muelle_portátil1 muelle_P1
muelle_portátil2 Portátil 3 3. atraca el agente
Máquina 2
muelle_portátil3
Portátil 2 Cola de agentes Cola de agentes
esperando a saltar a M1 esperando a saltar a P1
Grasshopper-2, IKV++
OMG MASIF (Mobile Agent System Interoperability
Facilities) Plataforma de agentes móviles compatible con OMG
Interoperabilidad de sistemas de agentes MASIF
Define interfaces IDL para mover agentes entre plataformas Servicios de comunicación
Múltiples protocolos: Java RMI, sockets, SSL, CORBA
FIPA (Foundation for Intelligent Physical Agents) Varios modos de comunicación: síncrono, asíncrono,
multicast
Especificaciones de mecanismos y aplicaciones
Gestión de la plataforma
A través de una interfaz gráfica: consola de Agencia y
consola de Registro
Grasshopper Conclusiones