sábado, 30 de mayo de 2009

dfgdg

s gsfg sf gf gd

jueves, 15 de mayo de 2008

iHLA

Buscando por Internet hemos encontrado esta semana un agente muy peculiar: el Intelligent Home Location Agent o agente de localización, que forma parte de la plataforma iHAP (Intelligent Home Agent Platform), la cual da soporte a los diferentes agentes que coexisten en ella, entre ellos, al que nos referimos en esta entrada.

Este agente permite conocer la localización del usuario dentro de su vivienda en todo momento, de manera que, mediante el PDA o cualquier otro dispositivo móvil, el sistema multiagente detecta el lugar en el que se encuentra, y actúa en consecuencia. Esto quiere decir, que por ejemplo, si el usuario se encuentra en el salón, el dispositivo que se encuentra ahi instalado, detecta el dispositivo móvil del usuario, y mediante la interacción de los distintos agentes que componen este sistema, el resultado final será que al usuario se le presentarán en su PDA las distintas acciones que pueda llevar a cabo, como pueden ser el encendido de la televisión en su canal favorito, el encendido de la minicadena con su cd preferido... y un sinfín de posibilidades.






jueves, 8 de mayo de 2008

ENAMORADO

El propósito principal de Enabling Nomadie Agents in a Multimedia-Oriented Architecture of Distributed consiste en justificar el uso de terminales móviles reconfigurables para reproducción de contenidos multimedia.

La arquitectura seguida en el proyecto ENAMORADO pretende compaginar dos conceptos diferentes como son la reconfigurabilidad de los dispositivos y el envío a éstos de los contenidos multimedia. Para ello, existe un tipo de agente asociado a cada uno de los servicios ofrecidos, que son enviados al dispositivo móvil del usuario cuando este los solicita para reconfigurar el hardware de su terminal.








lunes, 28 de abril de 2008

Simulador de dispositivos móviles

El otro día os comentabamos algunos detalles del entorno JADE-LEAP, el cual era necesario para desarrollar aplicaciones de agentes para dispositivos móviles.

Respecto a este tema, hoy os traemos un simulador que nos facilita la ejecución de nuestras aplicaciones de agentes móviles, y que viene incluido en el kit de desarrollo Wireless Toolkit de Java.

A continuación mostramos unas capturas del emulador y las de un programa de ejemplo:




domingo, 27 de abril de 2008

Aglets

Entre las distintas plataformas existentes para crear agentes móviles podemos encontrar a los Aglets.
Un aglet es una instancia de una clase de Java que hereda de la clase Aglet para de este modo poder hacer uso de ciertos métodos.

Para desarrollar aglets se usa El Aglets Software Development Kit (ASDK) que es un framework para desarrollar agentes móviles, que permite:
  • Cifrar el código y los datos de un aglet utilizando el método de seriación de Java (JOS).
  • Traslado de agentes utilizando el Protocolo para el Transporte de Aglets (ATP).
  • Ofrecer un Interfaz de Programación para Aglets (A-API).
  • Interconexión e intercambio de información entre aglets y otros objetos mediante paso de mensajes.
  • El ciclo de vida de un aglet puede tratarse por métodos basados en captura de eventos. Los eventos definidos son: creación, clonación, expedición, retractación, eliminación, activación, desactivación y paso de mensaje.
  • Control de seguridad mediante definición de autoridades y de sus privilegios y preferencias.
Características de los aglets:
  • Comunicación entre agente mediante mensajes sincrónicos y asincrónicos.
  • Un esquema global único para agentes.
  • Un itinerario de viaje, para la especificación de patrones complejos de viajes con múltiples destinos y manejos de fallas automáticos.
  • Un mecanismo white-board permitiendo que múltiples agentes colaboren y compartan información asíncronamente.
  • Un esquema de transmisión de mensajes que soporta una unión asíncrona desahogada tan bien como una comunicación síncrona entre agentes.
  • Una carga de clases dinámicamente que permite que el código Java de los agentes y la información de su estado viajen a través de la red.
  • Un contexto de ejecución que proporciona un ambiente independiente del sistema actual sobre el cual se están ejecutando.
Desventajas de los aglets:
  • Soporte inadecuado de control de recursos.
  • No tiene protección de referencias.
  • No provee ayuda para la preservación y reanudación del estado de ejecución.

Ventajas de los agentes móviles

Algunas de las ventajas que ofrece el uso de agentes móviles son las siguientes:

  • Encapsulan el protocolo de comunicación: Un agente móvil es capaz de moverse por sí mismo de un lugar a otro, sin que haya transferencia de información entre ordenadores.
  • Son asíncronos: Gracias a su autonomía, no necesitan utilizar comunicaciónes síncronas, lo cual no quiere decir que no la usen para comunicarse con otro agentes.
  • Reducción del uso de la red: Un agente móvil solo usará la red para transferirse o comunicarse, pero no será necesario hacer uso de la red para invocar métodos de forma remota.
  • Iteracción local: Pueden iteractuar de forma local en vez de forma remota.
  • Adaptabilidad al contexto: Pueden adaptarse al entorno.

miércoles, 23 de abril de 2008

Introducción

Los agentes desarrollados en JADE pueden ejecutarse en entornos móviles como teléfonos o PDAs integrando las redes inalámbricas junto con las redes convencionales. El problema es que JADE no puede ejecutarse en pequeños dispositivos debido a:
  • Espacio: La memoria necesaria para el entorno de ejecución es elevada.
  • Version del JDK: JADE necesita el JDK 1.5 o posterior, mientras que la mayoría de los dispositivos solo soportan PJava (Personal Java) o bien MIDP.
  • Características propias de las redes inalámbricas: IP dinámicas, conectividad intermitente o bajo ancho de banda.
Para solucionar estes problemas surge LEAP (Lightweight Extensible Agent Platform) que permite ejecutar agentes JADE en dispositivos móviles y/o conectados a través de redes inalámbricas.
Los contenedores del entorno de ejecución de JADE-LEAP se dividen en dos partes:
  • FrontEnd, que se ejecuta en el dispositivo móvil.
  • BackEnd, que se ejecuta en un servidor de la red fija.
Esto se ilustra en la siguiente imagen: