1 / 37

Desarrollo de un Sistema Multi -Agente para redes Vehiculares

Desarrollo de un Sistema Multi -Agente para redes Vehiculares. Realizado por Inmaculada Ayala Viñas Dirigido por Mercedes Amor Pinilla y Lidia Fuentes Fernández. Desarrollo de un Sistema Multi -Agente para redes Vehiculares. Índice Objetivos Contexto y tecnologías Diseño

ornice
Download Presentation

Desarrollo de un Sistema Multi -Agente para redes Vehiculares

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Desarrollo de un Sistema Multi-Agente para redes Vehiculares Realizado por Inmaculada Ayala Viñas Dirigido por Mercedes Amor Pinilla y Lidia Fuentes Fernández

  2. Desarrollo de un Sistema Multi-Agente para redes Vehiculares Índice • Objetivos • Contexto y tecnologías • Diseño • Implementación • Conclusiones y trabajo futuro

  3. Desarrollo de un Sistema Multi-Agente para redes Vehiculares Objetivos • Diseñar e implementar un SMA para redes VANETS. • Proporcionar una entorno que sirva para simular y probar sistemas para VANETS.

  4. Desarrollo de un Sistema Multi-Agente para redes Vehiculares Índice • Objetivos • Contexto y tecnologías • Diseño • Implementación • Conclusiones y trabajo futuro

  5. Desarrollo de un Sistema Multi-Agente para redes Vehiculares Contexto y tecnologías • VANETS • Sistemas Multi-Agentes • JADE y JADE-LEAP • Otras tecnologías • XML • APIS de Google Maps • OpenStreetMaps • CloudMade • RMI • JDOM • JDIC • AJAX

  6. VANETS • Tipo especial de red que no cuenta con una infraestructura previa y en la que sus nodos son vehículos en movimiento. • Contempla varios tipos de comunicación dependiendo de los dispositivos que tomen parte en ella. • Vehículo a vehículo • Vehículo a infraestructura • Comunicación basada en portal • Requieren una tecnología de red inalámbrica que ofrezca una cobertura adecuada. • Necesitan protocolos de enrutamiento especiales. • Tienen aplicaciones en seguridad, ocio, eficiencia de la conducción y protección del medio ambiente.

  7. Sistemas Multi-Agente (SMA) • La base de los SMA son los agentes, un artefacto software que se caracteriza por tener un comportamiento autónomo, social, reactivo y proactivo. Existen 4 tipos: • Basados en lógica • Reactivos • Beliefs-Desires-Intention (BDI) • Híbridos o por capas • Los SMA están compuestos por distintos agentes, configurando distintos modelos de sociedades. • Necesitan un lenguaje definido para comunicarse. • Necesitan de un modelo de coordinación. • Centralizada • Protocolos de interacción • Planificación • Negociación

  8. Sistemas Multi-Agente (SMA) • Herramientas de desarrollo • JADE • Flux • Herramientas para la integración con otras tecnologías. • Servicios web • Aplicaciones en distintas áreas. • Internet • Transporte • Aplicaciones industriales • Telecomunicaciones • Robótica • Medicina

  9. JADE y JADE-LEAP • Marco de trabajo para desarrollar plataformas de agentes en consonancia con el estándar FIPA. • FIPA define una arquitectura abstracta y una serie de elementos que deben aparecer en los sistemas en consonancia con ella. • El objetivo de esta asociación es incentivar el desarrollo con agentes y la interoperabilidad. • Cuenta con una gran comunidad de desarrolladores que hacen aportaciones al proyecto. • Android, integración con Servicios Web, Beangenerator, … • JADE-LEAP es una expansión (add-on) de JADE que permite implementar agentes para dispositivos móviles o con recursos limitados.

  10. JADE y JADE-LEAP • JADE-LEAP se distribuye para 3 tipos de dispositivos. • J2SE • pJava • MIDP • JADE y JADE-LEAP ofrecen una API muy similar, centrándose sus diferencias en la arquitectura interna, sobre todo en el componente IMTP. • Un agente JADE ejecutará obligatoriamente unos métodos al iniciar y al terminar su ejecución, llamados setup() y takeDown(). • Las actividades de los agentes se modelan extendiendo de la clase Behaviour. • La actividad del agente se incluye en el método action() y la condición de terminación en el método done(). • Existen varios sub-clases de Behaviour que aportan características especiales. • CyclicBehaviour • OneShotBehaviour • TickerBehaviour • WakerBehaviour

  11. JADE y JADE-LEAP

  12. Otras tecnologías

  13. Desarrollo de un Sistema Multi-Agente para redes Vehiculares Índice • Objetivos • Contexto y tecnologías • Diseño • Implementación • Conclusiones y trabajo futuro

  14. Diseño • Agentes del SMA • VANETAgent • Gestión del nodo vehículo • ServiceAgent • Manejo de peticiones de VANETAgent. • Transmisión de publicidad • SignalAgent • Envío de información de elementos de señalización. • Su diseño es muy similar al de ServiceAgent • Elementos simulados • Entorno • Datos del entorno y posición de los agentes • Vehículo • Generación de eventos del vehículo

  15. Diseño Agentes del SMA y relaciones entre ellos Interfaces para monitorizar y controlar el vehículo Ofrece información del entorno a los componentes del sistema y guarda la localización de los agentes

  16. VANETAgent • Los eventos son procesados por HandleEventBehaviour. • Su funcionalidad está dividida en 3 partes. • Comunicación con otros agentes • OfferListenerBehaviour • SignalListenerBehaviour • ManageRestaurantRequest • HandleGasRequest • Interacción con el usuario • Gestión de la conducción del vehículo • SignalBehaviour • InitRouteBehaviour y CorrectRouteBehaviour • SecureDriving

  17. VANETAgent Obtención de la información de las señales de tráfico Permite la gestión de una reserva a un restaurante por parte del VANETAgent Procesado de eventos • Inspecciona la siguiente posición a la que transitará el vehículo y modifica la trayectoria del coche para esquivar el obstáculo o lo para en caso de no haber salida. Controlan la validez temporal de la información recibida

  18. ServiceAgent El diseño y la relación con sus sub-clases es muy similar a la de SignalAgent, por razones de espacio nos centramos en él. Guardan información específica del servicio que representan e implementan comportamientos adicionales Engloba los comportamientos comunes de los servicios de la red vial Controlan el spam y envían el mensaje Explora el entorno para encontrar VANETAgents

  19. Comunicación entre agentesService_Contract_Net La comunicación es entre el VANETAgent y el RestaurantAgent Su ejecución empieza con una solicitud del conductor Su ejecución termina cuando se realiza la reserva o cuando se determina que no hay restaurantes disponibles

  20. Vehículo Transmisión de eventos al VANETAgent utilizando Publicar/Suscribir Generación de eventos del vehículo Comunicación modelada utilizando observador y observado

  21. Desarrollo de un Sistema Multi-Agente para redes Vehiculares Índice • Objetivos • Contexto y tecnologías • Diseño • Implementación • Conclusiones y trabajo futuro

  22. Implementación • Agentes del SMA • Implementación • VANETAgent • ServiceAgent • SignalAgent • Comunicaciones • Service_Contract_Net • Service_Query • Offer_Service • Signal_Service • Elementos simulados • Entorno • Vehículo • Herramienta de simulación • Lanzamiento y visualización de los agentes sobre un mapa de GoogleMaps. • La comunicación entre los distintos elementos del sistema se implementa utilizando Java RMI.

  23. Agentes del SMA • Implementación • La implementación de ServiceAgent y SignalAgent es muy similar, ambas exploran una sección del entorno buscando VANETAgent. • Las sub-clases de ServiceAgent, RestaurantAgent y GasStationAgent, tienen funcionalidad adicional para responder peticiones de VANETAgent. • El agente VANETAgent, que reside en el nodo vehículo es el que soporta más funcionalidades, por razones de espacio esta exposición se centra en él.

  24. VANETAgent • Interfaz de usuario • Desarrollada con NetBeans Matisse • Comunicación con el VANETAgent implementada con GuiAgent. • Métodos postGuiEvent y onGuiEvent • Objetos GuiEvent • Utilización del componente WebBrowser de JDIC y el API de Google Static Maps para mostrar la sección de mapa dónde esta el vehículo.

  25. VANETAgent • Comunicación con el vehículo implementada exportando de manera explícita el agente, utilizando un método alternativo que no extiende de UnicastRemoteObject. • Información del entorno • Velocidades máximas y mínimas de la vía • Condiciones meteorológicas actuales • Validez temporal implementada con WakerBehaviour. • Eventos asociados a coordenadas • Lista de eventos con validez asociada al tiempo y al recorrido del vehículo.

  26. Comunicaciones • Las comunicaciones del SMA van todas dirigidas hacia el agente VANET. • Se han definido ontologías para hacer la comunicación más eficiente. • SignalOntology • ServiceOntology • GasStationOntology • RestaurantOntology • Offer_Service y Signal_Service transmiten información apoyados por las ontologías. • Service_Query y Service_Contract_Net utilizan los protocolos FIPA_Query y FIPA_Contract_Net, definidos por FIPA, además para su implementación se han utilizado clases de JADE específicas para implementar estos protocolos.

  27. Entorno • Ofrece un medio compartido donde los agentes y los elementos simulados toman datos del entorno. • Su exclusión mutua se asegura utilizando los cerrojos de escritura-lectura de ReentrantReadWriteLock. • Toma sus datos iníciales de los mapas de OpenStreetMaps, para extraer la información utiliza JDOM.

  28. Vehículo • La clase Driving que provoca el lanzamiento de los distintos eventos que serán transmitidos a SensorManger y al VANETAgent. • El patrón Observador-Observado con el que se comunican sus componentes se ha implementado utilizando la clase Observable y la interfaz Observer de Java. • La ruta que sigue el vehículo durante su travesía es transmitida por la clase GPS, que toma los datos de la interfaz remota RouteMakerInterface. • RouteMakerInterface tiene tres implementaciones, dos de testeo y una que trabaja con datos reales implementada con el API de CloudMade.

  29. Herramienta de simulación • Se ha construido una herramienta para facilitar el lanzamiento de los agentes desarrollados para el SMA y los elementos simulados. • La parte visual de la simulación se implementa utilizando el API de Google Maps. • Para obtener la información del entorno se obtiene su referencia utilizando Java RMI. • Se ha utilizado un Servlet para recuperar la recuperar la referencia. • Se ha desarrollado un cliente de RMI en Apache Tomcat 6. • Se utiliza una interfaz específica que aporta información de los agentes estáticos y de los límites del mapa.

  30. Herramienta de simulación • El API de Google Maps utiliza JavaScript y carga dinámica de imágenes. • Para actualizar la posición de los marcadores se utiliza AJAX y un aplicación que solicita información del entorno de forma periódica.

  31. Herramienta de simulación • Lanzamiento de agentes desde la aplicación Pincha aquí

  32. Herramienta de simulación • Control de agentes desde las interfaces individuales y escucha de señales Pincha aquí

  33. Herramienta de simulación • Mensaje publicitario Pincha aquí

  34. Desarrollo de un Sistema Multi-Agente para redes Vehiculares Índice • Objetivos • Contexto y tecnologías • Diseño • Implementación • Conclusiones y trabajo futuro

  35. Conclusiones • La principal aportación de este proyecto de fin de carrera ha sido el desarrollo de una aplicación para VANETs utilizando agentes software en JADE-LEAP. • El diseño de los componentes simulados buscando similitudes con componentes reales ha facilitado el desarrollo del sistema. • El sistema captura numerosas situaciones del mundo real. • Esquivo de obstáculos o parada en caso de emergencia. • Corrección de ruta en movimiento en función de un nuevo objetivo. • Los agentes modelan el comportamiento de la mayoría de las señales de tráfico. • El rendimiento ha sido uno de los factores más difíciles de ajustar, teniendo que controlar el desbordamiento de memoria, el consumo de CPU de la aplicación y la velocidad de la simulación.

  36. Trabajo futuro • Mejorar el aspecto y funcionalidad de las interfaces de usuario de los distintos agentes. • Monitorización de la actividad de los agentes a través de órdenes de voz (Universidad de Murcia). • Añadir ideas de asistentes como Lidia y HeCaSe. • Observan comportamientos de usuario para determinar sus preferencias. • Aplican algoritmos complejos para elegir la opción que más se ajuste al perfil. • Despliegue de aplicaciones para dispositivos concretos. • Aplicar ideas de aplicaciones como Arena para tener más control sobre la simulación. • Velocidad de simulación • Ejecución paso a paso.

  37. Desarrollo de un Sistema Multi-Agente para redes Vehiculares Gracias por su atención

More Related