miércoles, 7 de noviembre de 2012

Sistemas Multiagente (Investigación)

Reporte 4


JADE

(Java Agente de Desarrollo Framework) es un marco de software aplicado plenamente en el lenguaje Java. Simplifica la implementación de sistemas multi-agente a través de un middleware que cumple con las especificaciones FIPA ya través de un conjunto de herramientas gráficas que soportan la depuración y fases de despliegue. La plataforma de agentes pueden ser distribuidos a través de máquinas (que ni siquiera necesitan compartir el mismo sistema operativo) y la configuración se puede controlar a través de una interfaz gráfica de usuario remoto.

Programar un agente JADE consiste en: 
  • Definir una clase Java que representa al agente (la cual debe heredar de la clase jade.core.Agent). 
  • Implementar los comportamientos que va a manifestar. 


Un agente JADE cumple las siguientes características: 

  • Tiene un nombre único en el entorno de ejecución. 
  • Se implementa como un único hilo de ejecución (single-threaded). 
  • Tiene un metodo de inicio (setup) y otro de fin (takeDown). 
    • El método protegido setup() sirve para inicializar el agente incluyendo instrucciones que         especificarán la ontología a utilizar y los comportamientos asociados al agente. Se invoca al comenzar la ejecución del agente. 
    • El método protegido takeDown() sirve para liberar recursos antes de la eliminación del agente. Este método es invocado cuando se realiza una llamada al método doDelete(), que es el que realmente da por finalizada la ejecución del agente. 
    • Ambos métodos deben ser sobreescritos. 
  • En su implementación se define una clase interna por cada uno de los comportamientos asociados al agente. Estos comportamientos se utilizan básicamente para el envío y recepción de mensajes, aunque también se pueden utilizar para realizar otras tareas.

·         import jade.core.Agent;
·          
·         public class MiAgente extends Agent {
·            protected void setup(){ // inicialización de MiAgente }
·            protected void takeDown() { // liberación de recursos del agente }
·         }




MadKit 
MaDKit es un código abierto plataforma multiagente modular y escalable escrito en Java
y construido sobre la AGR modelo organizativo:
Agentes MaDKit desempeñar funciones en grupos y así crear sociedades artificiales.

MaDKit es software libre licenciado bajo la GNU GPL que incluye:

·         Agentes de la creación artificial y la gestión del ciclo de vida
·         Una infraestructura organizativa para la comunicación entre los agentes
·         Alta heterogeneidad en las arquitecturas de agentes: No hay un modelo predefinido agente
·         Multi-Agente de simulación basado en simuladores y herramientas de autoría
·         Multi-agente distribuida basada en servicios de aplicaciones de edición

MaDKit 4 viene con un conjunto completo de servicios y agentes para el lanzamiento, presentación, desarrollando y seguimiento de los agentes y organizaciones.

MaDKit 5 contiene la nueva versión de la API del kernel, algunos demos, y algunos tutoriales preliminares.

A continuación los “Packages” de MadKit son:
           madkit.action
          madkit.agr
          madkit.gui
           madkit.gui.menu
          madkit.gui.toolbar
           madkit.i18n
           madkit.kernel
          madkit.message
      

SPADE:
SPADE (del inglés "Smart Python multi-Agent Development Environment") es una plataforma libre de sistemas multiagente desarrollada en Python y basada en la tecnología de mensajería instantánea XMPP. Algunas de las características más notables de la plataforma SPADE son: soporte de organizaciones virtuales, notificación de presencia, compatible con FIPA e independencia del lenguaje y la plataforma.

Se puede instalar horquilla con easy_install o pip:

pip instalar SPADE

O bien…

easy_install SPADE

También se puede instalar desde el interior del envase utilizando el script setup.py:

configuración de python . py install

El paquete se instala automáticamente.

La Plataforma Agente Spade no requiere (pero recomienda) la operación de los agentes realizados con la Biblioteca Agente Spade.

Algunas características son:

·         Desarrollado con Python
·         Cubre el estándar FIPA
·         Soporta dos idiomas de contenido: FIPA-SL y RDF
·         Agentes SPADE llegan a sus objetivos mediante la ejecución de tareas deliberativas y reactivas
·         Tiene una interfaz web para administrar la plataforma
·         Permite su ejecución en varias plataformas y sistemas operativos
·   Notificación de presencia: permite al sistema determinar el estado actual de los agentes en tiempo real
·         Multi-usuario de conferencia: permite a los agentes a crear organizaciones y grupos de agentes
·         Implementa cuatro MTP: XMPP, HTTP, P2P Y SIMBA


Interfaz gráfica

SPADE es una plataforma de agentes interoperable y multiplataforma, dado que el protocolo de comunicación está basado en XML y el lenguaje de implementación es Python. Del mismo modo la interfaz gráfica está basada en HTTP, siendo accesible desde multitud de dispositivos. Las características de la interfaz son las siguientes:

·         La plataforma y los agentes exportan su propia interfaz web.
·         La interfaz es configurable a través de plantillas.
·         Cada agente exporta su identificador como un código QR.
·         Instrospector de agente.
·         Visor de mensajes enviados.
·         Búsqueda de agentes y servicios.

La propia plataforma utiliza la biblioteca para potenciar su funcionamiento interno, pero aparte de eso, usted puede desarrollar sus propios agentes en el lenguaje de programación de su elección y utilizarlos con pala. El único requisito esos agentes deben cumplir es ser capaz de comunicarse a través del protocolo XMPP. Los mensajes FIPA-ACL serán incorporados en los mensajes XMPP. Se advirtió, sin embargo, que algunas de las características de la experiencia SPADE conjunto pueden no estar disponible si usted no usa la Biblioteca Agente pala para construir sus agentes.


Robocup Simulation
Es una herramienta de investigación y de educación para sistemas multi-agente y la inteligencia artificial. Permite a dos equipos de 11 jugadores simulados autónomos robotizados para jugar fútbol (fútbol).La RoboCup 3D simulado Soccer permite a los agentes de software para el control de robots humanoides para competir unos contra otros en una simulación realista de las normas y la física de un partido de fútbol. La plataforma se esfuerza para reproducir las características de programación de software que se enfrentan en la construcción de robots físicos reales para este fin. De este modo, ayuda a la investigación para laRoboCup Federación objetivo de desarrollar un equipo de robots humanoides totalmente autónomos que pueden ganar contra el mundo humano del equipo de fútbol campeón en 2050.
Su arquitectura: La simulación se ejecuta en el servidor de Fútbol RoboCup Simulación 3D (rcssserver3d) que se ejecuta en Linux , de Windows y Mac OS X . El motor de simulación subyacente es SimSpark .
Los robots:El SimSpark sistema de simulación es un simulador genérico, capaz de simular modelos diferentes agentes. En su historia, la liga 3D ha utilizado diferentes modelos.El cambio de los modelos representa un avance simulando una aproximación mejorada de un robot real. Sin embargo, cuando los modelos de cambio, los equipos existentes deberán reelaborar sus agentes para controlar los nuevos órganos.


Imágenes de la composición del robot:

Este es el "esqueleto, es decir como se ve internamente.




En la siguente imagen, se ve, como se vería ya "terminado" el robot.








No hay comentarios:

Publicar un comentario