Plataformas genéricas

Las plataformas de desarrollo más extendidas son JADE [Bellifemine, Poggi y Rimassa 01] y Grasshopper [Breugst y Magedanz 98].

JADE es la implementación oficial del estándar FIPA [FIPA 95], y soporta todos los servicios básicos de infraestructura especificados en FIPA (comunicaciones, movilidad, gestión de agentes y localización de agentes), a los que añade algunas utilidades gráficas para facilitar la administración de las plataformas y la depuración de los mensajes intercambiados por agentes en tiempo de ejecución.

Es un paquete desarrollado en Java que cuenta con
Java Agent DEvelopment framework
Soporta la implementación de MAS (FIPA compliant) :
• Librería de paquetes para programar agentes.
• Herramientas para la depuración y la ejecución de agentes.
Plataforma distribuida para la ejecución de agentes (heterogéneos
como Zeus): middle-ware para MAS
• servicios para agentes: directorios, codificación y transporte de mensajes
• herramientas: monitor remoto de agentes, sniffer agent, dummy agent
Completamente desarrollado en JAVA
Libre distribución bajo licencia LPGL
http://sharon.cselt.it/WWW projects/jade/

Grasshopper es la implementación del estándar MASIF [Baümer et al. 00], que soporta la movilidad de agentes en un entorno distribuido utilizando comunicación y servicios CORBA [OMG 00a]. En JADE y Grasshopper existe una arquitectura básica de agente que hay que utilizar para acceder a los servicios de la plataforma correspondiente.
El diseño de agentes con estas plataformas significa atenerse a unos estándares de comunicación y de gestión de agentes. El resto, como la especificación del control del agente, su inteligencia o las relaciones entre las tareas del sistema, se deja al criterio del desarrollador. La aportación de una metodología a desarrollos basados en este tipo de plataformas consistiría en organizar el proceso de generación del SMA y en proporcionar elementos para el diseñador pueda describir estos aspectos teniendo en cuenta las restricciones de la plataforma destino.

Plataformas genéricas:
1. JADE.
2. Grasshopper.

Metodologías

Cuando un sistema es grande se necesitan metodologías que estructuren el desarrollo de acuerdo a la ingeniera de software. Por lo cual se han elaborado elaborado diferentes metodologías que facilitan el diseño de los SMA.

Las metodologías que se basan en la aplicación de métodos informáticos convencionales a los sistemas agentes:
• Agent UML: extiende UML con protocolos de interacción de agentes.
• Message: Methodology for Engineering Systems of Software Agents.

Las que se desarrollan a partir de alguna de las metodologías de la IA.
• MAS-CommonKADS: Define modelos de análisis y diseño de MAS extendiendo la metodología CommonKADS que fuera desarrollada para el diseño de sistemas expertos.
• KAOS: Análisis de requisito basado en una estrategia orientada a objetivos.

Después de ver el trabajo de ZEUS y MaSE se puede argumentar que ya existen metodologías junto con herramientas capaces de desarrollar SMAs. Sin embargo, esto no es del todo cierto, lo que han demostrado es que se pueden desarrollar SMAs de una forma muy concreta. Estas metodologías están fuertemente restringidas por la herramienta en la que se basan ya que la herramienta se encarga al fin y al cabo de obtener parámetros de configuración para un armazón de SMA que ya existe. Además, están orientadas al desarrollo rápido con decisiones de diseño fijas más que a un desarrollo personalizado. AgentTool, por ejemplo, tiene fijas restricciones de diseño fundamentales, como el asimilar cada objetivo con requisitos y transformar estos requisitos en roles, o establecer protocolos de comunicación entre tareas internas del agente.