1
Curso de doctorado:
Desarrollo de Agentes Software
Metodologías de desarrollo de sistemas multi-agente
Carmen Fernández ChamizoJorge Gómez Sanz
Juan Pavón Mestras
Dep. de Sistemas Informáticos y Programación
http://grasia.fdi.ucm.es
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 2
Introducción
n Hemos viston Qué son los agentesn Varios tipos de arquitecturas de agentesn Estándares de agentesn Aplicaciones de agentes
n Pero, ¿cómo se construye un sistema multi-agente?
• Cómo se concibe un SMA• Cómo se programa• Qué herramientas hay de desarrollo • Qué plataformas hay de ejecución
2
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 3
La necesidad de utilizar una metodología
n Desarrollar SMAs es complejon Hay soluciones tecnológicas:
n Arquitecturas: subsunción, BDI, capas, ...n Entornos de desarrollo: Zeus, AgentBuilder, …n Plataformas de ejecución: JADE, FIPA-OS, Jackal, OAA, …
n Pero hace falta responder a varias cuestiones:• Qué problema tengo que resolver• Desarrollar muchos agentes o agentes de elevada complejidad• Explicar a otros cómo es el SMA• Trabajar más de una persona: Coordinar el trabajo• Valorar la calidad del desarrollo• Qué proceso seguir• …
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 4
La metodología ayuda
No sé qué problema tengo que resolver
Desarrollar muchos agentes o agentes de elevada
complejidad
Explicar a otros cómo es el sistema
Trabaja más de una persona
Cómo evoluciona el proceso de desarrollo
Análisis de sistema, guías
Actividades, proceso de desarrollo, herramientas
Análisis justificado
Proceso de desarrollo
Actividades, resultados, métricas
3
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 5
Lo necesario para definir una metodología
n Definir los resultados a producir• Documentación• Código, prototipos, pruebas
n Un lenguaje para definir los resultados• Visuales: Data Flow Diagrams, Entity-Relationship diagrams,
Message Sequence Charts, UML• Formales: Z, redes de Petri
n Actividades orientadas a producir los resultados• De análisis, diseño, implementación, validación, …
n Guíasn Métricasn Paradigma de ingeniería del software
• Estructuración de actividades• Estimación de habilidades necesarias en el equipo de desarrollo• Gestión del proceso
n Y herramientas
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 6
Tendencias
n En general, los sistemas multi-agente aplican una mezcla de técnicasn Orientación a objetos:
• encapsulado del comportamiento• estructura del sistema• asignación de responsabilidades
n Sistemas de gestión de conocimiento• definición del comportamiento• representación de conocimiento
n Inteligencia artificial distribuida• organización• comunicación de conocimiento• coordinación
4
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 7
Metodologías de desarrollo de SMA
Orientación a objetos
Conceptos de agentes:
Análisis de roles
Métodos Formales
Z, lógica temporal
Sistemasexpertos
Conceptos de agentes:
BDI
SMA
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 8
Metodologías de desarrollo de SMA
Orientación a objetos
Kendall, MaSE, Styx, ODAC, MASB, Adelfe,...
Análisis de roles
Gaia, AAII, ...
Métodos Formales
SMART, DESIRE,Concurrent METATEM
Sistemas expertos
MAS-CommonKADS,CoMoMAS
BDI
AAIIIntegración:Integración:
MESSAGE, INGENIAS
5
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 9
Algunas metodologías
n AAII (Australian Artificial Intelligence Institute)n Basada en el modelo BDI
n Gaian SMA como conjunto de entidades que interactúan
n MaSEn OO con conversaciones entre objetos
n Troposn Énfasis en la gestión de requisitos
n Zeusn Entorno visual de desarrollo de agentesn Prototipos de agentes
n MAS-CommonKADSn CommonKADS extendido con OO, SDL y MSC
n MESSAGE, INGENIASn Meta-modelado, agentes que siguen el principio de racionalidad de
Newell
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 10
Metodología AAII [Kinny, Georgeff y Rao 96]
(Australian Artificial Intelligence Institute)
n Modelo BDI (Beliefs, Desires, Intentions) [Bratman87]
CreenciasDeseos
Intenciones
6
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 11
Metodología AAII [Kinny, Georgeff y Rao 96]
(Australian Artificial Intelligence Institute)
n Punto de vista externo• Modelo de agentes: jerarquía de clases• Modelo de interacciones: responsabilidades de los agentes,
servicios que proporcionan, interacciones asociadas, relaciones de control entre agentes
n Basado en análisis de roles:1. Identificar roles del dominio de aplicación
• Primera definición de clases de agentes
2. Para cada role, identificar las responsabilidades asociadas y servicios que proporciona
• Descompone las clases de agentes hasta el nivel de servicios
3. Para cada servicio,identificar las interacciones asociadas• Modelo interno de cada clase de agente
4. Refinar la jerarquía de agentes• Definir superclases cuando hay clases de agentes con similitud• Componer clases de agentes con herencia o agregación• Introducir clases concretas de agente teniendo en cuenta aspectos
específicos de implementación
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 12
Metodología AAII [Kinny, Georgeff y Rao 96]
(Australian Artificial Intelligence Institute)
n Punto de vista interno (basado en BDI)• Modelo de creencias: información sobre el entorno, estado
interno del agente y acciones que puede realizar• Modelo de objetivos: objetivos que puede adoptar el agente y
eventos a los que puede responder• Modelo de planes: secuencias de acciones que puede emplear el
agenten Basado en el análisis del propósito de los servicios y su
descomposición hasta llegar a planes:1. Analizar los medios para alcanzar los objetivos
• Descomposición de cada objetivo en acciones y subobjetivos• Generar planes
2. Construir las creencias del sistema• A partir de las condiciones que controlan la ejecución de actividades,
y requisitos de entrada y salida para cada objetivo
n El refinamiento de los modelos internos realimenta los modelos externos
7
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 13
GAIA [Wooldridge, Jennings y Kinny, 2000]
n Extiende la metodología Fusion [Coleman et al. 94]
n SMA como organización de entidades que interactúann Análisis: Basado en análisis de roles en interacción
n Modelo de roles: • Para cada rol (un individuo, departamento u organización de la
vida real):• Responsabilidades: funcionalidad del agente (como propiedades de
viveza y seguridad)• Permisos: derechos a información y recursos• Actividades: acciones privadas (sin interactuar con otros agentes)• Protocolos
n Modelo de interacciones: define los protocolos (entre roles)• Atributos: propósito, iniciador, respondedor, entradas/salidas,
proceso
n Diseño: Basado en agrupación de roles en agentesn Modelo de agentes: tipos de agentes (agente=conjunto de roles) y
sus instanciasn Modelo de servicios: funciones de cada roln Modelo de conocidos: con quienes puede interaccionar
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 14
GAIA [Wooldridge, Jennings y Kinny, 2000]
n Extensiones: ROADMAP [Juan, Pearce y Sterling, 2002]
n En el análisis añade:• Captura de requisitos utilizando casos de uso• Modelo de entorno• Modelo de conocimiento, derivado de los dos anteriores
n Especificación de interacciones utilizando AUML
8
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 15
MaSE [DeLoach et al. 01]
n Agentes como objetos con capacidad de coordinarse mediante conversaciones
n Agentes: clases cuyo comportamiento está definido por autómatas
n Soportado por la herramienta agentTool [DeLoach y Wood 01]
n Generación automática de códigon Notación UML
n Basado en el RUP, trata especialmente las actividades de análisis y diseño
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 16
MaSE [DeLoach et al. 01]
Las conversaciones (protocolos de coordinación) se definen con dos diagramas de estados: uno para cada clase de agente participante
9
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 17
Tropos
n Integración de trabajo teórico previo: i*, KAOSn Proceso de desarrollo
n Análisis y Diseño basado en refinamiento de diagramas i* ampliados
n Diseño detallado empleando técnicas adicionales• AUML para modelar protocolos• Diagramas de Planes
n Implementación mediante plantillas de traducción a plataformas de agentes BDI
n Existen ejemplos de aplicaciónn Hay herramientas de soporte pero no son de dominio
público
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 18
Tropos
n Fases:n Requisitos iniciales
• Identifica actores relevantes con sus objetivos
n Requisitos posteriores• El sistema a desarrollar se considera un actor, y a partir de las
dependencias con otros actores se identifican sus obligaciones
n Diseño arquitectural• Se introducen más actores del sistema mediante descomposición
de objetivos y tareas del sistema
n Diseño detallado• Definición de los actores del sistema en detalle, incluyendo
protocolos de comunicación y coordinación
n Implementación• Transforma las especificaciones en plantillas adaptadas a una
plataforma de programación de agentes (p.ej. Jack)
10
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 19
Tropos
actor
objetivo fuerte
objetivo
plan
recurso
contribuye
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 20
Zeus [Nwana et al. 99]
n Zeus: entorno visual de desarrollo de SMAhttp://more.btexact.com/projects/agents/zeus/
n Proporciona una plataforma de ejecución de agentes, prototipos de agentes, y componentes para su realizaciónn Agentes de utilidad
• Servidor de nombres • Agentes facilitadores• Agente visualizador
n Herramienta de construcción de agentesn Librería de componentes de agentes
n El desarrollador configurará agentes genéricos mediante la definición den Ontologíasn Agentesn Tareasn Organizaciónn Coordinación
11
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 21
Zeus [Nwana et al. 99]
n Etapas de desarrollon Análisis del dominio
• Basado en el modelado de roles, utilizando diagramas de clase UML y patrones
n Diseño de los agentes• Identificación de ontologías, servicios, tareas y relaciones entre
agentes
n Realización de los agentes• Definición de los elementos identificados en el diseño y su
implementación• Guiado por las herramientas gráficas de construcción de agentes
de Zeus
n Soporte en tiempo de ejecución• Depuración y optimización de código con herramientas de
visualización y monitorización
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 22
Zeus [Nwana et al. 99]
n Etapa de realización de agentesn Creación de la ontología (Zeus Ontology Editor)
• Conocimiento declarativo que representa los conceptos significativos dentro del dominio de la aplicación
n Creación de agente (Zeus Agent Editor)• Configuración de un agente genérico de Zeus: definición de
agente, descripción de tareas, organización del agente, coordinación del agente
n Configuración de agentes de utilidad (Code Generation Editor)
• Atributos de los agentes de utilidad (plataforma de agentes)
n Configuración de agentes de tarea• Parámetros de ejecución de los agentes de tarea
n Implementación de agentes• Utilizando la herramienta de generación de código
12
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 23
MAS-CommonKADS [Iglesias 98]
n Extiende la metodología CommonKADS [deHoog et al. 93] de desarrollo de sistemas expertos con:n Técnicas de orientación a objetos (OMT y OOSE)n Técnicas de ingeniería de protocolos: SDL y MSC
n Modelo de ciclo de vida en espiral dirigido por riesgosn Y modelo en cascada con reutilización para proyectos pequeños
n El desarrollo de un SMA consiste en rellenar un conjunto de plantillas de un número de modelos interrelacionadosn Asociada a cada plantilla hay un estado que caracteriza los hitos en
el desarrollo de cada modelo• Para cada variable de estado se pueden asociar varios valores: vacío,
identificado, descrito y validado• Ejemplo de estados hito: identificación inicial de los agentes, descripción
de objetivos y servicios, validación de relaciones entre un modelo y los demás
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 24
MAS-CommonKADS [Iglesias 98]
n Fase de conceptuaciónn Definición de casos de uso
n Especificación del sistema (Análisis)n Modelo de agente
• Un agente es cualquier actor: humano, agente software, sistemas software (e.g. BD)
• Capacidades de razonamiento, habilidades, servicios, sensores, efectores, grupos de agentes a los que pertenece y clase de agente
n Modelo de tareas• Qué tareas pueden realizar los agentes, cómo se estructuran, objetivos, ...
n Modelo de experiencia (o modelo de conocimiento)• Conocimiento necesario por los agentes para alcanzar sus objetivos
n Modelo de organización de la sociedad de agentes:• Organización de los agentes y su relación con el entorno
n Modelo de comunicación con el usuario• Factores de la interacción humano-agente
n Modelo de coordinación• Interacciones entre agentes software
n Modelo de diseño• Arquitectura y diseño del SMA como paso previo a su implementación
13
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 25
MAS-CommonKADS [Iglesias 98]
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 26
MESSAGE [Message 2000]
n Methodology for Engineering Systems of Software AGents) Proyecto Eurescom P907
n Extiende ingeniería de software OO con conceptos del área de agentesn Que se definen en 5 meta-modelos:
• Agente• Organización• Dominio• Tareas-objetivos• Interacciones
n Adopta el Proceso Unificado de Desarrollo de Software (también conocido como Rational Unified Process)
14
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 27
INGENIAS
1. Especificación y notación para los elementos que constituyen un SMAn Agentes, organización, roles, servicios, objetivos, tareas,
entorno, ...
2. Modelo de ciclo de desarrollo de un SMAn Etapas del ciclo de vida, actividades, productos, métodos, ...
3. Herramientas de ayudan Modelado, generación de documentación, generación de
código, validación, ...
Evolución de MESSAGE
Abordando con mayor profundidad los distintos aspectos que definen la metodología:
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 28
Modelos de un SMA en Ingenias
Modelo de Agente
Modelo de Objetivos/Tareas
Modelo de Entorno
Modelo de Organización
Modelo de Interacciones
SistemaMulti
Agentes
15
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 29
Modelos de un SMA en Ingenias
n Modelo de organizaciónn Estructura del SMA, roles, relaciones de poder, workflows
n Modelo de agenten Los agentes realizan tareas o persiguen objetivosn Responsabilidades, control y estado mental del agente
n Modelo de objetivos y tareasn Identificación de objetivos generales y descomposición en
objetivos más concretos que se pueden asignar a agentesn Similarmente con tareasn Objetivos: motivación ⇔ Tareas: actividad
n Modelo de interacciónn Qué interacciones existen entre agentes/roles
n Modelo de entornon Entidades y relaciones con el entorno del SMA
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 30
Integración de metodologías
n El paradigma de agente extiende al de objeto:n Aprovechar las metodologías OO
• Más fácil de aceptar por los ingenieros software• Aprovecha herramientas y experiencia
n Ciclo de desarrollo iterativo e incremental, basado en casos de uso
n Extensiones: • Aspectos sociales (organización, interacciones, negociación)• Comportamiento (autonomía, estado mental, objetivos, tareas)• Concurrencia y distribución
n Modelado desde varios puntos de vista (Vowel Engineering, AAII, MAS-CommonKADS, MESSAGE)n Para poder gestionar la complejidad del SMAn Modelos: Entorno, dominio/ontología, roles, objetivos/tareas,
interacciones/protocolos, organización, agente
16
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 31
Integración de metodologías
n Análisisn Casos de uso para capturar requisitos funcionalesn Roles y servicios para agrupar las distintas funcionalidades
asociadas a un agente o grupo de agentes
n Diseñon Independiente de la arquitectura (Gaia)n Basado en una arquitectura concreta (MaSE, AAII, Zeus)n Define el modelo computacional del agente => arquitectura
del agente (MAS-CommonKADS)
n Relevancia de las herramientas (Zeus, MaSE, MESSAGE)
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 32
Manos a la obra...
17
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 33
Plataformas de agentes
n Estándaresn FIPA (www.fipa.org)
• JADE http://sharon.cselt.it/projects/jade/• FIPA OS http://fipa-os.sourceforge.net/• LEAP (para PDAs) http://leap.crm-paris.com
n MASIF (Agentes móviles) • Grasshopper http://www.grasshopper.de• Aglets (IBM) http://sourceforge.net/projects/aglets/
n No estándares• ABLE (IBM) http://www.alphaworks.ibm.com/tech/able• ZEUS (BT) http://193.113.209.147/projects/agents/zeus/
• agentBuilder http://www.agentbuilder.com/• MadKit http://www.madkit.org• INGENIAS http://ingenias.sourceforge.net
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 34
JADE (Java Agent Development Environment)
n Desarrollada por CSELT, open source GPL, en Javan Plataforma de agentes conforme al estándar FIPA
(www.fipa.org)• Es actualmente la más utilizada
n Ayudas para el desarrollo de agentes en Java• Los agentes en JADE son instancias de alguna clase definida por
el desarrollador que herede de la clase base Agent• Utilidades:
• Remote Monitoring Agent (RMA) permite controlar el ciclo de vida de la plataforma de agentes y de todos los agentes registrados
• Agentes Dummy, para probar interacciones• Agentes Sniffer, para ver qué mensajes están pasando
18
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 35
JADE (Java Agent Development Environment)
n Los agentes envían y reciben objetos Java que representan mensajes ACLn Jade se encarga de la codificación de los mensajes
n Jade proporciona también una librería de protocolos de interacción de agentes
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 36
JADE
n Componentes de JADEn ACC (Agent Communication Channel)
• Servicios de mensajería asíncrona entre plataformas• Permite interconectar plataformas ubicadas en distintas máquinas
n DF (Directory Facilitator)• Páginas amarillas donde se registran los agentes
n AMS (Agent Management System)• Gestiona los agentes en una plataforma.
• Movilidad• Creación/Destrucción de agentes
19
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 37
JADE
n Agentes JADEn El comportamiento de los agentes JADE se codifica mediante
clases de objetosn Existe una taxonomía de comportamientos posibles que
permiten expresar acciones compuestas (secuenciales, concurrentes e iterativas) o atómicas
n Existe un hilo de ejecución por agente, no un hilo de ejecución por comportamiento
• Cada agente es responsable de la ejecución de su comportamiento
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 38
20
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 39
INGENIAS Development Kit (IDK)
n Editor de modelosn Herramienta visual (notación grasia!)n Gestión de consistencia de modelosn Generación de documentación (HTML)n Inicialmente basado en herramienta de meta-modelado
(METAEDIT+)• Actualmente 100% Pure Java
n Generador de códigon Armazones (plantillas) configurables, especificados con XML,
para distintas plataformas de agentes• Jade, Robocode, Servlets, Agentes grasia!
n Herramientasn Validación de especificaciones
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 40
INGENIAS Development Kit (IDK)
21
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 41
Generación de código
SMA
modelo de agentemodelo de agentemodelo de
agente
modelo de organización
modelo de objetivos/tareasmodelo de
objetivos/tareasmodelo de objetivos/tareas
modelo de entorno
modelo de interaccionesmodelo de interaccionesmodelo de interacciones
Plataforma de ejecución de agentes
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 42
modelo SMAmodelo SMAmodelo
SMA (XML)
Específicos de una plataforma(deben reunir los elementos de los metamodelos)
Generación de código
plantilla de códigomarcado con XML
Plataforma de agentes
plantilla de códigomarcado con XML
plantilla de códigomarcado con XML
modelo SMA
Generadorcódigo
de agentecódigode agentecódigo
de agente
Completar/Revisarpor el programador
Preprocesador(dependienteplataforma)
modelo SMAmodelo SMA
22
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 43
Conclusiones
n Metodologías n Todavía son de ámbito académicon Faltan desarrollos de ámbito público
• Implementación• Especificación
n Faltan herramientas industrialesn Hay plataformas de desarrollon Hay Arquitecturas de agentesn Hay Entornos de desarrollo
• ZEUS• agentTool• IDK (Ingenias Development Kit)
n Las metodologías evolucionann Cambios en una metodología deben venir acompañados de
cambios en las herramientas de soporte• ¿Cuál es el coste de modificar una herramienta de soporte?
Solución: meta-modelado
Juan Pavón MestrasFacultad de Informática UCM, 2004 Metodologías de Sistemas Multi-Agente 44
Bibliografía
Bratman, M. E. (1987) Intentions, Plans, and Practical Reason. Harvard University Press.
DeLoach, S. 2001. Analysis and Design using MaSE and agentTool.. Proceedings of the 12th Midwest Artificial Intelligence and Cognitive Science Conferece (MAICS).
Ferber, J., 1999. Multi-Agent System: An Introduction to Distributed Artificial Intelligence. Addison Wesley Longman.
Iglesias, C. (1998). Definición de una metodología para el desarrollo de sistemas multiagente, TesisDoctoral, UPM.
Jennings, N.R., On agent-based software engineering. Artificial Intelligence, 117, 2000.
Juan, T., Pearce, A. y Sterling, L. (2002). ROADMAP: Extending the Gaia Methodology for Complex Open Systems. Proceedings of the first international joint conference on Autonomous agents and multiagent systems (AAMAS2002), Bologna, Italia, 3-10.
Kinny, D., Georgeff, M. y Rao, A. (1996). A methodology and modelling technique for systems of BDI agents. En Agents Breaking Away: Proceedings of the Seventh European Workshop on Modelling Autonomous Agents in a Multi-Agent World, LNAI 1038, 56–71.
Nwana, H. S. et al. (1999) ZEUS: A Toolkit for Building Distributed Multi-Agent Systems, Applied Artificial Intelligence Journal, vol. 1, no. 13, pp. 129-185.
Rosenschein, S. J. y Kaelbling, L. P. (1995) A Situated View of Representation and Control. Artificial Intelligence. Vol. 73 no. 1/2, pp. 149-173
Russell, S. y Norvig, P. (1995) Artificial Intelligence: a modern approach. Prentice Hall. Shoham, Y. Agent-oriented programming. Artificial Intelligence, 60, 1993.Weiss, G. Multiagent Systems. The MIT Press, 1999.
Wooldridge, M., Jennings, N. R. y Kinny, D (2000). The Gaia Methodology for Agent-Oriented Analysis and Design, Journal of Autonomous Agents and Multi-Agent Systems, 3 (3), 285-312.
Zilouchian, A. (2000) Fundamentals of Neural Networks, en Intelligent Control Systems . CRC Press, pp. 17-38
Web sobre metodologías de agentes: http://ma.ei.uvigo.es/isoa/