56
Sistemas MultiAgente (MAS) Sistemas MultiAgente (MAS) Dra. María del Carmen Romero Ternero ([email protected]) http://www.dte.us.es/personal/mcromero Dra. María del Carmen Romero Ternero ([email protected]) http://www.dte.us.es/personal/mcromero Programa de doctorado Informática Industrial 2007-2008 Departamento de Tecnología Electrónica – Universidad de Sevilla Programa de doctorado Informática Industrial 2007-2008 Departamento de Tecnología Electrónica – Universidad de Sevilla

Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

Sistemas MultiAgente (MAS)Sistemas MultiAgente (MAS)Dra. María del Carmen Romero Ternero ([email protected])http://www.dte.us.es/personal/mcromeroDra. María del Carmen Romero Ternero ([email protected])http://www.dte.us.es/personal/mcromero

Programa de doctorado Informática Industrial 2007-2008Departamento de Tecnología Electrónica – Universidad de SevillaPrograma de doctorado Informática Industrial 2007-2008Departamento de Tecnología Electrónica – Universidad de Sevilla

Page 2: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

ÍndiceÍndiceParte 1: Fundamentos de los Agentes y Sistemas Multiagente

1. Introducción: orígenes, usos y áreas de aplicación2. Definiciones de agente3. Características de los agentes4. Clasificación de los agentes5. Sistema multiagente6. Arquitecturas7. Agentes vs. sistemas expertos

Parte 2: Comunicación entre agentes1. Fundamentos2. Estructura de los mensajes

FIPA-ACLKQML

4. Semántica de los mensajes: Ontologías5. Protocolos de Interacción6. Negociación7. Tecnologías para interacción en entornos abiertos

Parte 3: Metodologías y Herramientas de Desarrollo1. Modelo de programación2. Ingeniería de Software Orientada a Agentes3. El desarrollo con agentes4. Agentes vs. objetos5. Herramientas de desarrollo6. Metodologías de desarrollo

Parte 4: Más sobre agentes

Page 3: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Tecnología de agentesTecnología de agentes

No es algo nuevoNo se trata de una tecnología cerrada (corrientes tecnológicas de la IS, la IA, y las telecomunicaciones)No es la panaceaVentajas del desarrollo con agentes:

Son amigables, flexibles, adaptables a los usuarios, robustos...Menor coste (facilitan la reutilización)Reducción del mantenimiento

− La funcionalidad puede cambiarse modificando sus conocimientos, estrategias y objetivos.

− La funcionalidad puede extenderse incluyendo nuevos agentes, nuevo conocimiento y nuevos objetivos en cada agente.

Se integran y son compatibles con otras tecnologías (web, BDs, componentes...)Simplifica labor de ingenieros, utilizando patrones de agente para concentrar los esfuerzos en la definición del comportamiento.

No es algo nuevoNo se trata de una tecnología cerrada (corrientes tecnológicas de la IS, la IA, y las telecomunicaciones)No es la panaceaVentajas del desarrollo con agentes:

Son amigables, flexibles, adaptables a los usuarios, robustos...Menor coste (facilitan la reutilización)Reducción del mantenimiento

− La funcionalidad puede cambiarse modificando sus conocimientos, estrategias y objetivos.

− La funcionalidad puede extenderse incluyendo nuevos agentes, nuevo conocimiento y nuevos objetivos en cada agente.

Se integran y son compatibles con otras tecnologías (web, BDs, componentes...)Simplifica labor de ingenieros, utilizando patrones de agente para concentrar los esfuerzos en la definición del comportamiento.

Page 4: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Introducción: OrígenesIntroducción: Orígenes

Objetivos que han marcado la historia de la computación:

Ubicuidad: Reducción del coste de la capacidad computacional.

Interconexión: Los sistemas computacionales forman redes de grandes sistemas distribuidos.

Inteligencia: La complejidad de las tareas puede automatizarse y delegarse a los ordenadores.

Delegación: El juicio de los sistemas computacionales es aceptado frecuentemente.

Orientación humana: Uso de conceptos y metáforas que reflejan cómo entendemos el mundo.

Objetivos que han marcado la historia de la computación:

Ubicuidad: Reducción del coste de la capacidad computacional.

Interconexión: Los sistemas computacionales forman redes de grandes sistemas distribuidos.

Inteligencia: La complejidad de las tareas puede automatizarse y delegarse a los ordenadores.

Delegación: El juicio de los sistemas computacionales es aceptado frecuentemente.

Orientación humana: Uso de conceptos y metáforas que reflejan cómo entendemos el mundo.

Page 5: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Introducción: Orígenes (II)Introducción: Orígenes (II)

Grandes desafíos para desarrolladores de software:Delegación – actuar de modo independiente.Inteligencia – actuar del modo que represente nuestros mejores intereses mientras se interactúa con otros humanos o sistemas.

Sistemas que actúen de un modo efectivo en nuestro nombre.

Sistemas con habilidad de cooperación y capaces de alcanzar consensos con otros sistemas.

Grandes desafíos para desarrolladores de software:Delegación – actuar de modo independiente.Inteligencia – actuar del modo que represente nuestros mejores intereses mientras se interactúa con otros humanos o sistemas.

Sistemas que actúen de un modo efectivo en nuestro nombre.

Sistemas con habilidad de cooperación y capaces de alcanzar consensos con otros sistemas.

Sistemas Multiagente

Page 6: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Introducción: UsosIntroducción: Usos

Servicios de información en InternetRecuperación y extracción de informaciónComercio ElectrónicoMercado de servicios electrónicoNegociaciónEquipos móviles y PCs domésticosRedes públicas de telecomunicacionesProvisión de servicios bajo demandaDescentralización del control y gestión de redesGestión de procesos (workflow)Simulación de sistemas dinámicosJuegosRobótica…

Servicios de información en InternetRecuperación y extracción de informaciónComercio ElectrónicoMercado de servicios electrónicoNegociaciónEquipos móviles y PCs domésticosRedes públicas de telecomunicacionesProvisión de servicios bajo demandaDescentralización del control y gestión de redesGestión de procesos (workflow)Simulación de sistemas dinámicosJuegosRobótica…

Personalización de servicios

Flexibilidad de la distribución

Delegación de tareas

Personalización de servicios

Flexibilidad de la distribución

Delegación de tareas

Page 7: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Introducción: Dominios - AgentesIntroducción: Dominios - Agentes

Interfaces de usuario

Comercio electrónico

Sistemas de información

Internet Inteligencia artificial

Sistemas cooperativos

Sistemas distribuidos

Gestión del conocimiento

Recuperación de la información

Robótica

Agentes

Page 8: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Introducción: Áreas - MultiagenteIntroducción: Áreas - Multiagente

Inteligencia Inteligencia artificial e IADartificial e IAD

PsicologíaPsicologíaSociologíaSociología

Sistemas Sistemas distribuidosdistribuidos

Programación OOProgramación OO

Teorías económicasTeorías económicasTeoría de la decisiónTeoría de la decisión

ProactividadProactividad

AprendizajeAprendizaje

RacionalidadRacionalidad

AutonomíaAutonomíaMercadosMercados

Programación OAProgramación OA

ComunicacionesComunicaciones

MovilidadMovilidad

OrganizacionesOrganizacionesCarácterCarácter

ReactividadReactividad

CooperaciónCooperación

MASMAS

Page 9: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Una primera aproximaciónUna primera aproximación

Un agente es un sistema capaz de actuar independientemente a favor de su usuario o propietario.Un sistema multiagente es un sistema constituido por un número de agentes que interactúan entre sí.Para interactuar satisfactoriamente, los agentes necesitan las habilidades de cooperación, coordinación y negociación.

Un agente es un sistema capaz de actuar independientemente a favor de su usuario o propietario.Un sistema multiagente es un sistema constituido por un número de agentes que interactúan entre sí.Para interactuar satisfactoriamente, los agentes necesitan las habilidades de cooperación, coordinación y negociación.

Page 10: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Características (básicas) de los agentes

Características (básicas) de los agentes

Autonomía:Los agentes actúan sin intervención humana directa o de otros agentes y tienen algunaclase de control sobre sus acciones y estado interno. El software tradicional se ejecuta enentornos interactivos, donde responde a órdenes directas del usuario.

Reactividad:Percibe el entorno en el que está inmerso y responde de manera oportuna a cambios quetienen lugar en él (para actuar adecuadamente un agente debe poder conocer en todomomento el “mundo” que le rodea).

Iniciativa (proactividad):Tiene que tener un carácter emprendedor y tomar la iniciativa para actuar guiado por losobjetivos que debe satisfacer. En cada momento el agente decide qué acción llevar acabo. No sólo actúa en función de los estímulos que percibe sino que realiza accionescomo resultado de sus decisiones.

Sociabilidad:Capacidad de interaccionar con otros agentes (incluso humanos) utilizando alguna clasede lenguaje de comunicación de agentes. Los agentes colaboran entre sí para la ejecuciónde tareas (MAS).

Autonomía:Los agentes actúan sin intervención humana directa o de otros agentes y tienen algunaclase de control sobre sus acciones y estado interno. El software tradicional se ejecuta enentornos interactivos, donde responde a órdenes directas del usuario.

Reactividad:Percibe el entorno en el que está inmerso y responde de manera oportuna a cambios quetienen lugar en él (para actuar adecuadamente un agente debe poder conocer en todomomento el “mundo” que le rodea).

Iniciativa (proactividad):Tiene que tener un carácter emprendedor y tomar la iniciativa para actuar guiado por losobjetivos que debe satisfacer. En cada momento el agente decide qué acción llevar acabo. No sólo actúa en función de los estímulos que percibe sino que realiza accionescomo resultado de sus decisiones.

Sociabilidad:Capacidad de interaccionar con otros agentes (incluso humanos) utilizando alguna clasede lenguaje de comunicación de agentes. Los agentes colaboran entre sí para la ejecuciónde tareas (MAS).

Page 11: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

El agente y su mundoEl agente y su mundo

AGENTEAGENTE ENTORNOENTORNO

ACCIÓN(salida)

SENSORES

PERCEPCIÓN(entrada)

ACTUADORES

Page 12: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

¿Cómo influye el entorno en el agente?¿Cómo influye el entorno en el agente?

En la mayoría de los casos el agente sólo controlará parte del entorno.

Una misma acción realizada por el mismo agente en ocasionesdiferentes puede tener efectos muy distintos (entornos no deterministas).

Un agente debe estar preparado para fallar o para la incertidumbre de no saber si ha tenido éxito o no.

Un agente dispone de un repertorio de acciones disponibles con sus correspondientes precondiciones.

El principal problema al que se enfrenta un agente es decidirqué acción realizar para alcanzar sus objetivos de diseño.

En la mayoría de los casos el agente sólo controlará parte del entorno.

Una misma acción realizada por el mismo agente en ocasionesdiferentes puede tener efectos muy distintos (entornos no deterministas).

Un agente debe estar preparado para fallar o para la incertidumbre de no saber si ha tenido éxito o no.

Un agente dispone de un repertorio de acciones disponibles con sus correspondientes precondiciones.

El principal problema al que se enfrenta un agente es decidirqué acción realizar para alcanzar sus objetivos de diseño.

Page 13: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Características (complementarias) de los agentes

Características (complementarias) de los agentes

Movilidad: habilidad para trasladarse en una red electrónica (agentes móviles).

Veracidad: se supone que un agente no comunica información falsa intencionadamente.

Benevolencia: se supone que un agente no tiene objetivos contradictorios y siempre intenta realizar la tarea que se le solicita.

Inteligencia: racional, coherente y adaptable.Racional: el agente tiene unos conocimientos de su entorno, unos objetivos y unas reglas que determinan cómo alcanzar los objetivos a partir del conocimiento que maneja.

Coherente: el conocimiento que maneja el agente (base de conocimiento) tiene un alto grado de cohesión, para que el comportamiento del agente sea el adecuado.

Adaptable: el agente es capaz de actualizar su base de conocimiento y su comportamiento (base de reglas) a partir de las percepciones que recibe del entorno y de sus comportamientos anteriores (aprender). Es una de las características más complejas y difíciles de llevar a cabo.

Movilidad: habilidad para trasladarse en una red electrónica (agentes móviles).

Veracidad: se supone que un agente no comunica información falsa intencionadamente.

Benevolencia: se supone que un agente no tiene objetivos contradictorios y siempre intenta realizar la tarea que se le solicita.

Inteligencia: racional, coherente y adaptable.Racional: el agente tiene unos conocimientos de su entorno, unos objetivos y unas reglas que determinan cómo alcanzar los objetivos a partir del conocimiento que maneja.

Coherente: el conocimiento que maneja el agente (base de conocimiento) tiene un alto grado de cohesión, para que el comportamiento del agente sea el adecuado.

Adaptable: el agente es capaz de actualizar su base de conocimiento y su comportamiento (base de reglas) a partir de las percepciones que recibe del entorno y de sus comportamientos anteriores (aprender). Es una de las características más complejas y difíciles de llevar a cabo.

Page 14: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Clasificación de agentesClasificación de agentes

([21] Brenner, 1998)

Agentes

Agentes humanos Agentes hardware Agentes software

Agentes de información

Agentes cooperativos

Agentes de transacción

([22] Nwana, 1996)

Page 15: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Clasificación de agentes (II)Clasificación de agentes (II)

Movilidad

Nº agentes

Grado de inteligencia

simple complejo móvil

inmóvil

agente único

multiagente

([4] Wooldridge, 2001)

Sociabilidad

Inteligencia

Movilidad

Ejecución remota

MigraciónPreferencias

RazonamientoPlanificación (pro-activo)

Aprendizaje (adaptativo)

Interacción con usuario

Comunicación

Colaboración/negociación

Page 16: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Multi-Agent SystemMulti-Agent System

([4] Wooldridge, 2001)

Page 17: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Características de los MASCaracterísticas de los MAS

Cada agente no tiene información completa ni capacidad para resolver el problema.Tienen puntos de vista limitados.No hay un sistema de control global.Los datos están descentralizados.Computación asíncrona.

Cada agente no tiene información completa ni capacidad para resolver el problema.Tienen puntos de vista limitados.No hay un sistema de control global.Los datos están descentralizados.Computación asíncrona.

Page 18: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

ModelosModelos

([16] Bradshaw, 1997)

Page 19: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Arquitecturas de agentesArquitecturas de agentes

Basadas en la lógicaDeliverativasReactivasHíbridas

Basadas en la lógicaDeliverativasReactivasHíbridas

(Agentes, http://www.upv.es/sma/web/agentes.htm)

Page 20: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Arquitectura BDI (Belief, Desire, Intention)

Arquitectura BDI (Belief, Desire, Intention)

([1] ANA MAS, 2005)

Entrada de eventos procedentes del

entorno

Acciones a realizar para alcanzar un

deseo. Qué acción debe emprender en

este momento

ENTORNO

CREENCIAS(Experiencias

pasadas)

DESEOS(Cómo quiero que quede el

entorno en un futuro próximo)

INTENCIONES

Cómo es el mundo en este

momento

Page 21: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Ejemplos de agentes DBIEjemplos de agentes DBI

Jadex JasonSPARKJACKJAM y UM-PRS

Jadex JasonSPARKJACKJAM y UM-PRS

(http://vsis-www.informatik.uni-hamburg.de/projects/jadex/)

(http://jason.sourceforge.net/JasonWebSite/Jason%20Home.php)

(http://www.ai.sri.com/~spark/)

(http://www.agent-software.com.au/)

(http://www.marcush.net/IRS/irs_downloads.html)

Page 22: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Arquitectura reactiva - EjemploArquitectura reactiva - Ejemplo

SENSORESSENSORES

Distanciaángulo

Distanciaángulo

Distancia aobstáculos

Distancia aobstáculos

SEGUIR UNOBJETO

SEGUIR UNOBJETO

EVITAROBSTÁCULOS

EVITAROBSTÁCULOS

…Fuerza a la salida a elegir

entre una de las dos acciones

Page 23: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

MAS vs. Sistemas Expertos MAS vs. Sistemas Expertos

Interacción con otros agentes

Interacción con el usuario bajo petición

Mayor grado de interacción con usuario

Sistemas de decisión centralizados

Distribución de la toma de decisiones

Sistemas cerradosInteractúan con el

entorno

Sistemas ExpertosAgentes

Page 24: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Comunicación entre agentesComunicación entre agentes

Distintas formas de interaccionar:Comunicación mediante el entorno.Sistemas de pizarra.Sin comunicación (inferencia; teoría de juegos).En el nivel de conocimiento.

KSE (Knowledge Sharing Effort, ARPA 1990)Sintaxis: KIF (Knowledge Interchange Format)Semática: Ontolingua (definición de ontologías)Pragmática: KQML (Knowledge Query Manipulation Language)

FIPA (Foundation for Intelligence Physical Agents, 1996)FIPA ACL

Basado en la teoría de actos del hablaPerformativas

Comunicación en el “nivel de conocimiento”SL (Semantic Language)

Distintas formas de interaccionar:Comunicación mediante el entorno.Sistemas de pizarra.Sin comunicación (inferencia; teoría de juegos).En el nivel de conocimiento.

KSE (Knowledge Sharing Effort, ARPA 1990)Sintaxis: KIF (Knowledge Interchange Format)Semática: Ontolingua (definición de ontologías)Pragmática: KQML (Knowledge Query Manipulation Language)

FIPA (Foundation for Intelligence Physical Agents, 1996)FIPA ACL

Basado en la teoría de actos del hablaPerformativas

Comunicación en el “nivel de conocimiento”SL (Semantic Language)

Page 25: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Requisitos para un lenguaje de comunicación de agentes

Requisitos para un lenguaje de comunicación de agentes

Forma: debería ser declarativa, sintácticamente simple y fácil de leer por humanos y programas.

Contenido: distinguir el lenguaje que expresa los actoscomunicativos del lenguaje que expresa el contenido del mensaje.

Semántica

Implementación: transparente a las capas inferiores y debepermitir a los agentes simples implementar subconjuntos del lenguaje.

Red: debe dar soporte a la tecnología actual y ser independiente de los mecanismos de transporte.

Entorno: permitir heterogeneidad y dinamismo.

Confiabilidad: dar soporte para una comunicación segura y fiableentre los agentes.

Forma: debería ser declarativa, sintácticamente simple y fácil de leer por humanos y programas.

Contenido: distinguir el lenguaje que expresa los actoscomunicativos del lenguaje que expresa el contenido del mensaje.

Semántica

Implementación: transparente a las capas inferiores y debepermitir a los agentes simples implementar subconjuntos del lenguaje.

Red: debe dar soporte a la tecnología actual y ser independiente de los mecanismos de transporte.

Entorno: permitir heterogeneidad y dinamismo.

Confiabilidad: dar soporte para una comunicación segura y fiableentre los agentes.

Page 26: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

KQMLKQMLEs un lenguaje de comunicación y protocolo, orientado a mensajes, para el intercambio de información.KQML es independiente de

protocolos de transporte (TCP/IP, HTTP, ...),sintaxis de contexto,ontologías yprotocolos de alto nivel (contract net, subasta, ...).

Es un lenguaje de comunicación y protocolo, orientado a mensajes, para el intercambio de información.KQML es independiente de

protocolos de transporte (TCP/IP, HTTP, ...),sintaxis de contexto,ontologías yprotocolos de alto nivel (contract net, subasta, ...).

Objetivo

Intención

Acto de habla

Mensaje

Prepara para el transporte Recupera de transporte

Servicio de transporte de mensajes

Page 27: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

KQML – MensajesKQML – Mensajes

Mensajes KQMLRepresentan un acto de habla o performativas.Consta de una lista de pares atributo-valor.

Mensajes KQMLRepresentan un acto de habla o performativas.Consta de una lista de pares atributo-valor.

([3] Pavón, 2003)

Page 28: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

KQML – PerformativasKQML – Performativas

([3] Pavón, 2003)

Page 29: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

FIPA ACLFIPA ACL

Arquitectura abstractaArquitectura abstracta

MensajeríaMensajería DirectorioDirectorio ACLACL

Implementación concreta: C++ & SMTP

Implementación concreta: C++ & SMTP

MensajeríaMensajería ACLACL

Servicios de directorio LDAP

Servicios de directorio LDAP

Implementación concreta: Elementos Java

Implementación concreta: Elementos Java

MensajeríaMensajería ACLACL

MensajeMensajeExpresado en un ACL

Emisor: nombre de agenteReceptor: nombre de agente

Contenido del mensajeEn lenguaje de contenidos.Puede referenciar una ontología.

Carga útilCarga útil

Mensaje

EmisorReceptor

EmisorReceptor

ContenidoContenidoCODIFICACIÓN

Mensaje de transporteMensaje de transporteEmisor: descriptor de transporteReceptor: descriptor de transporteOtros atributos: seguridad…

DIRECCIONAMIENTOY OTROS ATRIBUTOS

Carga útilCarga útil

Mensaje

EmisorReceptor

EmisorReceptor

ContenidoContenido

Page 30: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

FIPA ACL - MensajesFIPA ACL - Mensajes(inform

:sender agente1:receiver agente2:content

(precio libro 50):in-reply-to round 4:reply-with bi04:language sl:ontology ontolibro

)

(inform:sender agente1:receiver agente2:content

(precio libro 50):in-reply-to round 4:reply-with bi04:language sl:ontology ontolibro

)EjemploEjemplo

Parámetros de los mensajes::sender :language:receiver :ontology:content :reply-by:reply-with :protocol:in-reply-to :conversation-id:envelope

Parámetros de los mensajes::sender :language:receiver :ontology:content :reply-by:reply-with :protocol:in-reply-to :conversation-id:envelope

Tipos de mensajes:accept-proposal inform refuseagree inform-if reject-proposalcancel inform-refrequestcfp not-understood request-whenconfirm propose request-wheneverdisconfirm query-if subscribeFailure query-ref

Tipos de mensajes:accept-proposal inform refuseagree inform-if reject-proposalcancel inform-refrequestcfp not-understood request-whenconfirm propose request-wheneverdisconfirm query-if subscribeFailure query-ref

Page 31: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Funcionamiento de un MASFuncionamiento de un MAS

1. El agente monitoriza la actividad del usuarioLee/escucha la conversación del usuarioReconoce patrones en la conversaciónDeduce información y objetivos en función de experiencia pasada

2. El agente persigue lograr sus objetivosToma decisionesPuede descomponer objetivos en sub-objetivosEjecuta tareas

3. Para cumplir objetivos necesita colaboración con otros agentesNegociaciónDelegaciónCoordinación

4. Los agentes necesitan servicios de localización de agentesPáginas blancas/amarillas

5. Comunicación con el usuarioInterfaces avanzadasInformación implícita a partir de experiencia pasada o preferencias del usuarioGestión de diálogos

1. El agente monitoriza la actividad del usuarioLee/escucha la conversación del usuarioReconoce patrones en la conversaciónDeduce información y objetivos en función de experiencia pasada

2. El agente persigue lograr sus objetivosToma decisionesPuede descomponer objetivos en sub-objetivosEjecuta tareas

3. Para cumplir objetivos necesita colaboración con otros agentesNegociaciónDelegaciónCoordinación

4. Los agentes necesitan servicios de localización de agentesPáginas blancas/amarillas

5. Comunicación con el usuarioInterfaces avanzadasInformación implícita a partir de experiencia pasada o preferencias del usuarioGestión de diálogos

Page 32: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Semántica: OntologíasSemántica: Ontologías

Problemática:Diferentes términos para un mismo concepto.El mismo término para diferentes conceptos.Diferentes sistemas de clases.

Ontología común para representar el conocimiento de distintos universos de discurso.Implementaciones:

OILOntolinguaKIFRDF / Esquemas XML / DTDOWL

Sistemas gestores de ontologías:Protégé 2000(Zeus, JADE)

Problemática:Diferentes términos para un mismo concepto.El mismo término para diferentes conceptos.Diferentes sistemas de clases.

Ontología común para representar el conocimiento de distintos universos de discurso.Implementaciones:

OILOntolinguaKIFRDF / Esquemas XML / DTDOWL

Sistemas gestores de ontologías:Protégé 2000(Zeus, JADE)

Page 33: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Tecnologías para interacción en entornos abiertos

Tecnologías para interacción en entornos abiertos

XMLEstructuración de la información.

Java y RMIDesarrollo de MAS e interoperabilidad entre agentes heterogéneos (pero desarrollados en Java).

CORBAIndependencia de las plataformas; permite intercambio de mensajes XML entre agentes desarrollados en cualquier lenguaje de programación para el que se haya definido una correspondencia con el IDL.

XMLEstructuración de la información.

Java y RMIDesarrollo de MAS e interoperabilidad entre agentes heterogéneos (pero desarrollados en Java).

CORBAIndependencia de las plataformas; permite intercambio de mensajes XML entre agentes desarrollados en cualquier lenguaje de programación para el que se haya definido una correspondencia con el IDL.

Page 34: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Modelos de programaciónModelos de programación

Programación máquinaProgramación máquina

Programación estructuradaProgramación estructurada

Programación modularProgramación modular

Programación orientada a objetosProgramación orientada a objetos

Sistemas basados en componentesSistemas basados en componentes

Sistemas multiagenteSistemas multiagente

Page 35: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Materialización del concepto de agenteMaterialización del concepto de agente

([1] ANA MAS, 2005)

Objeto Componente Agente MAS

EstadoComportamientoInterfazHerencia

ReflexiónEmpaquetadoSerializaciónRepositorioSeguridad

ACLRazonamientoPlanificaciónMovilidadReglas de decisión...Objetivos y tareasAprendizajeOntologíasColaboraciónRoles

Estructuras organizativasRoles en la organizaciónNormasRecursosObjetivos comunes

Chips Componentes Procesadores Redes

Page 36: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Ingeniería del Software OAIngeniería del Software OA

Definición del problema

Representación delconocimiento

Diseño de agentes

Implantación de agentes

Pruebas agentes

Page 37: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

POA – Diseño del agentePOA – Diseño del agente

Diseño de la base de conocimientoDiseño de la máquina de inferenciaDiseño del interfazDiseño del lenguaje de comunicación

Diseño de la base de conocimientoDiseño de la máquina de inferenciaDiseño del interfazDiseño del lenguaje de comunicación

Definición del problema

Representación delconocimiento

Diseño de agentes

Implantación de agentes

Pruebas agentes

Page 38: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

POA – Implantación del agentePOA – Implantación del agente

Análisis y selección de herramientasImplantación de la base de conocimientoImplantación de la máquina de inferenciaImplantación del interfazImplantación de la comunicación

Análisis y selección de herramientasImplantación de la base de conocimientoImplantación de la máquina de inferenciaImplantación del interfazImplantación de la comunicación

Definición del problema

Representación delconocimiento

Diseño de agentes

Implantación de agentes

Pruebas agentes

Page 39: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Agente vs. ObjetoAgente vs. Objeto

Asociaciones entre objetosOrganización: relaciones sociales entre agentes

Mensajes invocan procedimientoInteracciones: actos de habla (intencionalidad)

Comportamiento: salida a partir de una entrada

Comportamiento: cómo decidir lo que hacer

Estado: valor de variablesEstado mental: objetivos, creencias…

Encapsula estado y comportamientoEncapsula activación del comportamiento

Flujo de control del llamanteFlujo de control propio

Ejecuta métodos invocadosAutonomía de decisión

ObjetoAgente

Page 40: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Agente vs. Objeto (II)Agente vs. Objeto (II)

Wooldridge (1999): “Objects do it for free, agents do it for money.”

Parunak (1999): Un agente es:

Un objeto con iniciativa.Un objeto con actitud u orientación.Un objeto que puede decir “No” (o “Adelante”).Un objeto pro-activo.

Wooldridge (1999): “Objects do it for free, agents do it for money.”

Parunak (1999): Un agente es:

Un objeto con iniciativa.Un objeto con actitud u orientación.Un objeto que puede decir “No” (o “Adelante”).Un objeto pro-activo.

Page 41: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

POA vs. POOPOA vs. POO

NingunoHonestidad, consistencia…Restricciones sobre los métodos

Sin restriccionesInformes, requerimientos, ofertas, promesas…Tipos de mensajes

Métodos de paso de mensajes y de respuestasProceso de cómputo

Sin restriccionesCreencias, obligaciones, capacidades, selecciones

Parámetros que definen el estado de la unidad básica

ObjetoAgenteUnidad básica

POOPOAAspecto

Page 42: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Estructura de un agenteEstructura de un agente

ProgramaFunción AGENTE-ESQUELETO ()

estática: memoria;memoria ← ACTUALIZA (memoria, percepción)acción ← ESCOGE-ACCIÓN (memoria)memoria ← ACTUALIZA (memoria, acción)devuelve (acción)

Fin AGENTE-ESQUELETO()

ProgramaFunción AGENTE-ESQUELETO ()

estática: memoria;memoria ← ACTUALIZA (memoria, percepción)acción ← ESCOGE-ACCIÓN (memoria)memoria ← ACTUALIZA (memoria, acción)devuelve (acción)

Fin AGENTE-ESQUELETO()

Page 43: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Herramientas AOPHerramientas AOP

Lenguajes de programaciónJava

Javalog (programación lógica)Jess (sistemas basados en reglas de producción)

Plataformas de desarrolloJADE (Java Agent DEvelopment Framework)FIPA-OS (FIPA Open Source)ABLE (Agent Building and Learning Environment)JackalOAA (Open Agent Architecture)

Entornos de desarrolloZeus, AgentBuilder

Lenguaje de descripción de agentesAUML

Lenguajes de programaciónJava

Javalog (programación lógica)Jess (sistemas basados en reglas de producción)

Plataformas de desarrolloJADE (Java Agent DEvelopment Framework)FIPA-OS (FIPA Open Source)ABLE (Agent Building and Learning Environment)JackalOAA (Open Agent Architecture)

Entornos de desarrolloZeus, AgentBuilder

Lenguaje de descripción de agentesAUML

Page 44: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

¿Qué es y para qué sirve JADE?¿Qué es y para qué sirve JADE?

Combinación de dos productos:Una plataforma de agentes FIPA-Compliant.Una herramienta de desarrollo de agentes Java.

Arquitectura para ejecutar agentes que soporta:

Un modelo de programación de agentes asíncrono.Comunicación entre agentes: en la misma y en diferentes plataformas.Movilidad, seguridad y otras utilidades.

Combinación de dos productos:Una plataforma de agentes FIPA-Compliant.Una herramienta de desarrollo de agentes Java.

Arquitectura para ejecutar agentes que soporta:

Un modelo de programación de agentes asíncrono.Comunicación entre agentes: en la misma y en diferentes plataformas.Movilidad, seguridad y otras utilidades.

Page 45: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Arquitectura de JADEArquitectura de JADE

Agente C

Agente A

Agente B

Agente D

Aplicación MASAplicación MAS

Plataforma JADE Contenedor principal Contenedor Contenedor

JavaJava

Capa homogéneaCapa homogénea

J2SE J2EE J2ME

Internet

Redes inalámbricas y cableadasRedes inalámbricas y cableadas

Page 46: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Algunas metodologías paradesarrollo de MAS

Algunas metodologías paradesarrollo de MAS

AAII (1997), basada en BDIMAS-CommonKADS (1998)

Considera 6+1 modelos: Organización, Tareas, Agente, Comunicaciones, Experiencia, Diseño, Coordinación.CommonKADS (1994) extendido con OO, SDL y MSC.

Gaia (2000)MAS como conjunto de entidades que interactúan.

MaSE (2001)OO con conversaciones entre objetos.

MESSAGE (2001), INGENIAS (2003)Meta-modelos.

AAII (1997), basada en BDIMAS-CommonKADS (1998)

Considera 6+1 modelos: Organización, Tareas, Agente, Comunicaciones, Experiencia, Diseño, Coordinación.CommonKADS (1994) extendido con OO, SDL y MSC.

Gaia (2000)MAS como conjunto de entidades que interactúan.

MaSE (2001)OO con conversaciones entre objetos.

MESSAGE (2001), INGENIAS (2003)Meta-modelos.

Page 47: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

MAS en la metodología INGENIASMAS en la metodología INGENIAS

MAS

MODELO DE ORGANIZACIÓN

MODELO DE OBJETIVOS/TAREAS

MODELO DE ENTORNOMODELO DE

INTERACCIONES

MODELO DE AGENTE

([2] Pavón, 2003)

Page 48: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

¿Cuándo usar agentes?¿Cuándo usar agentes?

En el diseño de sistemas distribuidos los agentes proporcionan:Aspectos socialesLenguajes y protocolos de comunicaciónDistribución de datos, control, conocimiento y recursos

En el análisis de un sistema los agentes tienen mayor grado de abstracción que objetos o componentes:

Mayor autonomía y capacidad de decisiónVarios componentes heterogéneos que mantienen relaciones entre ellos y con escala de tiempo diferentesModelado de sistemas naturales y sociales

Facilitan la evolución:Adaptación a modificaciones y al entornoEscalabilidad: añadir agentes para soportar más carga de trabajoDesarrollo incrementalSistemas abiertos: capacidad de aceptar nuevos elementos

NO son siempre la solución ideal: Ausencia de control/visión global del sistema

En el diseño de sistemas distribuidos los agentes proporcionan:Aspectos socialesLenguajes y protocolos de comunicaciónDistribución de datos, control, conocimiento y recursos

En el análisis de un sistema los agentes tienen mayor grado de abstracción que objetos o componentes:

Mayor autonomía y capacidad de decisiónVarios componentes heterogéneos que mantienen relaciones entre ellos y con escala de tiempo diferentesModelado de sistemas naturales y sociales

Facilitan la evolución:Adaptación a modificaciones y al entornoEscalabilidad: añadir agentes para soportar más carga de trabajoDesarrollo incrementalSistemas abiertos: capacidad de aceptar nuevos elementos

NO son siempre la solución ideal: Ausencia de control/visión global del sistema

Page 49: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Problemas de los MASProblemas de los MAS

Descomposición del problema.Comunicación entre agentes.Coherencia en las actuaciones.Representación del conocimiento de otros agentes.Coordinación de acciones.Gestionar el uso de recursos.Evitar comportamientos globales no deseados.Diseño de MAS: metodología y desarrollo.

Descomposición del problema.Comunicación entre agentes.Coherencia en las actuaciones.Representación del conocimiento de otros agentes.Coordinación de acciones.Gestionar el uso de recursos.Evitar comportamientos globales no deseados.Diseño de MAS: metodología y desarrollo.

Page 50: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Más sobre agentesMás sobre agentes

Page 51: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Agentes móvilesAgentes móviles

Agente móvil: Agente que realiza sus tareas no sólo en la computadora de su propietario, sino también en otras en la red:

buscando información en beneficio de su propietario,negociando y cerrando tratos en su nombre,utilizando servicios remotos.

Un agente móvil tiene capacidad para decidir a qué servidores moverse:

Hay instrucciones explícitas para que el agente pueda parar su ejecución, migrar a otro nodo (preservando su estado), y continuar su ejecución.

Puede moverse a uno o más servidores.Es una extensión del modelo cliente-servidor:

Los clientes envían parte de ellos al servidor (o a varios servidores) para ejecutarse.

Agente móvil: Agente que realiza sus tareas no sólo en la computadora de su propietario, sino también en otras en la red:

buscando información en beneficio de su propietario,negociando y cerrando tratos en su nombre,utilizando servicios remotos.

Un agente móvil tiene capacidad para decidir a qué servidores moverse:

Hay instrucciones explícitas para que el agente pueda parar su ejecución, migrar a otro nodo (preservando su estado), y continuar su ejecución.

Puede moverse a uno o más servidores.Es una extensión del modelo cliente-servidor:

Los clientes envían parte de ellos al servidor (o a varios servidores) para ejecutarse.

([3] Pavón, 2003)

Page 52: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Agentes para recuperación de información

Agentes para recuperación de información

Acceso a diversas fuentes de información.Capaz de agrupar y manipular la información obtenida para ponerla a disposición del usuario.Usualmente a través de la Web.Tipos (no excluyentes)

Agentes de búsquedaAgentes de filtradoAgentes de monitorización

Web semántica

Acceso a diversas fuentes de información.Capaz de agrupar y manipular la información obtenida para ponerla a disposición del usuario.Usualmente a través de la Web.Tipos (no excluyentes)

Agentes de búsquedaAgentes de filtradoAgentes de monitorización

Web semántica

([14] Botti, 2003)

Page 53: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Agentes para recuperación de información - Aplicaciones

Agentes para recuperación de información - Aplicaciones

([14] Botti, 2003)

Page 54: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Agentes para el comercio electrónicoAgentes para el comercio electrónico

……

Page 55: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

ReferenciasReferencias[1] ANA MAS (2005), Agentes software y sistemas multiagente: Conceptos, arquitecturas y

aplicaciones, Pearson – Prentice Hall, ISBN 84-205-4367-5[2] J. Pavón, J.J. Gómez-Sanz (2003), Agent Oriented Software Engineering with INGENIAS,

CEEMAS 2003, Lectures Notes in Computer Science 2691, Springer-Verlag, 394 – 403, http://ingenias.sourceforge.net/

[3] J. Pavón (2003), Agentes inteligentes - Comunicación entre agentes, Departamento de Sistemas Informáticos y Programación, UCM, http://grasia.fdi.ucm.es

[4] M. Wooldridge (2001), An introduction to MultiAgent Systems, Wiley, ISBN: 0-471-49691-X[5] Zarnekow, 1998[6] FIPA, http://www.fipa.org[7] KQML, http:// www.cs.stanford.edu/kqml[8] KIF, http:// logic.stanford.edu/kif[9] Ontologías, http:// www.ontoknowledge.org[10] Protégé, http://protege.stanford.edu/[11] Tutorial de Jade, de Juan Botía disponible en http://ants.dif.um.es/~juanbot/[12] http://www.upv.es/sma/web/materiales.htm[13] V. Botti et al. (2002), Agentes [cdrom], Universidad Politécnica de Valencia, Departamento

de Sistemas Informáticos y Computación, http://www.upv.es/sma/web/agentes.htm[14] CJ. Gómez y J. Pavón (2003), Curso de doctorado: Agentes Inteligentes - Desarrollo de

Sistemas Multi-Agente. La metodología INGENIAS, UCM, Departamento de Sistemas Informáticos y Programación, http://grasia.fdi.ucm.es

[15] P. Cuesta, Universidad de Vigo, http://trevinca.ei.uvigo.es/~pcuesta/sm/enlaces.htm[16] J.M. Bradshaw (1997), Software Agents, AAAI Press, ISBN-13: 978-0262522342

Page 56: Sistemas MultiAgente (MAS) - Universidad de Sevilla€¦ · 27.06.08 Introducción: Orígenes zObjetivos que han marcado la historia de la computación: Ubicuidad: Reducción del

27.06.08

Referencias (II)Referencias (II)[17] Agentes, Universidad Politécnica de Valencia, http://www.upv.es/sma/web/agentes.htm[18] Web sobre metologías de agentes, http://ma.ei.uvigo.es/isoa/metodologias.php#OTROS[19] P. Valckenaers et al. (2007), Applications and environments for multi-agent systems,

Autonomous Agent Multi-Agent System, 14:61–85[20] C.A. Iglesias (1998), Definición de una metodología para el desarrollo de sistemas

multiagente, Tesis doctoral, Departamento de Ingeniería de Sistemas Telemáticos, Universidad Politécnica De Madrid.

[21] W. Brenner et al. (1998), Intelligent Software Agents, Springer Verlag (Heidelberg).[22] H.S. Nwana (1996), Software Agents: An Overview, Knowledge Engineering Review,

11(3): 205-244.[23] AgentLink, European Commission's IST-funded Coordination Action for Agent-Based

Computing, http://www.agentlink.org/[24] P. Suau, Tutorial de JADE, http://www.dccia.ua.es/~pablo/tutorial_agentes/index.html[25] Jacques Ferber (1999), Multi-Agent Systems: an Introduction to Distributed Artificial

Intelligence, Addison-Wesley, ISBN: 0-201-36048-9.[26] G. Weiss (editor) (1999), Multi-Agent Systems, The MIT Press.[27] S. Russell y P. Norvig (1995), Artificial Intelligence: A Modern Approach, Prentice Hall,

ISBN: 0-13-360124-2.[28] Revista: Autonomous Agents and Multi-Agent Systems, Kluwer Academic Publishers,

http://www.kluweronline.com/issn/1387-2532[29] Revista: IEEE Intelligent Systems, http://www.computer.org/intelligent/...