57
Programa de doctorado Informática Industrial 2009-2010 Departamento de Tecnología Electrónica – Universidad de Sevilla Programa de doctorado Informática Industrial 2009-2010 Departamento de Tecnología Electrónica – Universidad de Sevilla 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

Sistemas MultiAgente (MAS) - Departamento de …€¦ · Delegación: El juicio de los sistemas computacionales es aceptado frecuentemente. ... Agentes Sistemas Expertos Interactúan

Embed Size (px)

Citation preview

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

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

ÍndiceÍndiceÍndiceÍndiceParte 1: Fundamentos de los Agentes y Sistemas MultiagenteParte 1: Fundamentos de los Agentes y Sistemas MultiagenteParte 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 agentes

Parte 1: Fundamentos de los Agentes y Sistemas Multiagente1. 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 agentes

5. Sistema multiagente6. Arquitecturas7. Agentes vs. sistemas expertos

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

FIPA-ACLKQML

4. Semántica de los mensajes: Ontologías

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

FIPA-ACLKQML

4. Semántica de los mensajes: Ontologías4. 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 Desarrollo

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 DesarrolloParte 3: Metodologías y Herramientas de Desarrollo1. Modelo de programación2. Ingeniería de Software Orientada a Agentes3. El desarrollo con agentes4. Agentes vs. objetos

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. objetos

03.02.10

5. Herramientas de desarrollo6. Metodologías de desarrollo

Parte 4: Más sobre agentes

5. Herramientas de desarrollo6. Metodologías de desarrollo

Parte 4: Más sobre agentes

Tecnología de agentesTecnología de agentesTecnologí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 algo nuevoNo se trata de una tecnología cerrada (corrientes tecnológicas de la IS la IA y las telecomunicaciones)de la IS, la IA, y las telecomunicaciones)No es la panaceaVentajas del desarrollo con agentes:

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

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

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

− La funcionalidad puede extenderse incluyendo nuevos agentes, nuevo conocimiento y nuevos objetivos en cada agenteconocimiento 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

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

03.02.10

Simplifica labor de ingenieros, utilizando patrones de agente para concentrar los esfuerzos en la definición del comportamiento.Simplifica labor de ingenieros, utilizando patrones de agente para concentrar los esfuerzos en la definición del comportamiento.

Introducción: OrígenesIntroducción: OrígenesIntroducció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

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

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

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

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

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

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

grandes sistemas distribuidos.

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

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

delegarse a los ordenadores.

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

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

frecuentemente.

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

03.02.10

cómo entendemos el mundo.cómo entendemos el mundo.

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

Grandes desafíos para desarrolladores de software:Delegación – actuar de modo independiente.I li i d l d j

Grandes desafíos para desarrolladores de software:Delegación – actuar de modo independiente.I li i d l d jInteligencia – actuar del modo que represente nuestros mejores intereses mientras se interactúa con otros humanos o sistemas.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.

Si t h bilid d d ió d l

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

Si t h bilid d d ió d lSistemas con habilidad de cooperación y capaces de alcanzar consensos con otros sistemas.Sistemas con habilidad de cooperación y capaces de alcanzar consensos con otros sistemas.

Sistemas Multiagente

03.02.10

Introducción: UsosIntroducción: UsosIntroducción: UsosIntroducción: Usos

Servicios de información en InternetRecuperación y extracción de informaciónComercio Electrónico

Servicios de información en InternetRecuperación y extracción de informaciónComercio ElectrónicoPersonalización de serviciosPersonalización de serviciosMercado de servicios electrónicoNegociaciónEquipos móviles y PCs domésticos

Mercado de servicios electrónicoNegociaciónEquipos móviles y PCs domésticos

Personalización de serviciosPersonalización de servicios

Redes públicas de telecomunicacionesProvisión de servicios bajo demandaDescentralización del control y gestión de redes

ó f

Redes públicas de telecomunicacionesProvisión de servicios bajo demandaDescentralización del control y gestión de redes

ó f

Flexibilidad de la distribuciónFlexibilidad de la distribución

Gestión de procesos (workflow)Simulación de sistemas dinámicosJuegosR bóti

Gestión de procesos (workflow)Simulación de sistemas dinámicosJuegosR bóti

Delegación de tareasDelegación de tareas

Robótica…Robótica…

03.02.10

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

Sistemas cooperativosRecuperación de la

información

RobóticaSistemas cooperativosRecuperación de la

información

Robótica

Sistemas de información

Sistemas distribuidos

información Sistemas de información

Sistemas distribuidos

información

Comercio electrónico

Internet Inteligencia

Gestión del conocimiento

Comercio electrónico

Internet Inteligencia

Gestión del conocimiento

Interfaces de usuario

Internet Inteligencia artificial

Interfaces de usuario

Internet Inteligencia artificial

03.02.10

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

I li iI li i

PsicologíaPsicologíaSociologíaSociologíaC á tC á tInteligencia Inteligencia

artificial e IADartificial e IADSociologíaSociología

MovilidadMovilidad

OrganizacionesOrganizacionesCarácterCarácter

ReactividadReactividad

CooperaciónCooperaciónSistemas Sistemas distribuidosdistribuidos

ProactividadProactividad

dd

ComunicacionesComunicaciones

MovilidadMovilidadCooperaciónCooperación

MASMAS

P ió OOP ió OO

AprendizajeAprendizaje

RacionalidadRacionalidadProgramación OAProgramación OA

Programación OOProgramación OO

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

AutonomíaAutonomíaMercadosMercados

03.02.10

Teorías económicasTeorías económicas

Una primera aproximaciónUna primera aproximaciónUna primera aproximaciónUna primera aproximación

Un agente es un sistema capaz de actuar independientemente a favor de su usuario oUn agente es un sistema capaz de actuar independientemente a favor de su usuario oindependientemente a favor de su usuario o propietario.Un sistema multiagente es un sistema

independientemente a favor de su usuario o propietario.Un sistema multiagente es un sistemaUn sistema multiagente es un sistema constituido por un número de agentes que interactúan entre sí

Un sistema multiagente es un sistema constituido por un número de agentes que interactúan entre síinteractúan entre sí.Para interactuar satisfactoriamente, los agentes necesitan las habilidades de

interactúan entre sí.Para interactuar satisfactoriamente, los agentes necesitan las habilidades deagentes necesitan las habilidades de cooperación, coordinación y negociación.agentes necesitan las habilidades de cooperación, coordinación y negociación.

03.02.10

Características (básicas) de los Características (básicas) de los ( )agentes

( )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 en

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 eny jentornos interactivos, donde responde a órdenes directas del usuario.

Reactividad:Percibe el entorno en el que está inmerso y responde de manera oportuna a cambios que

y jentornos interactivos, donde responde a órdenes directas del usuario.

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

Iniciativa (proactividad):

q y p p qtienen lugar en él (para actuar adecuadamente un agente debe poder conocer en todomomento el “mundo” que le rodea).

Iniciativa (proactividad):pTiene 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 acciones

l d d d

pTiene 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 acciones

l d d dcomo resultado de sus decisiones.

Sociabilidad:Capacidad de interaccionar con otros agentes (incluso humanos) utilizando alguna clased l j d i ió d t L t l b t í l j ió

como resultado de sus decisiones.

Sociabilidad:Capacidad de interaccionar con otros agentes (incluso humanos) utilizando alguna clased l j d i ió d t L t l b t í l j ió

03.02.10

de lenguaje de comunicación de agentes. Los agentes colaboran entre sí para la ejecuciónde tareas (MAS).de lenguaje de comunicación de agentes. Los agentes colaboran entre sí para la ejecuciónde tareas (MAS).

El agente y su mundoEl agente y su mundoEl agente y su mundoEl agente y su mundo

PERCEPCIÓNSENSORES(entrada)

AGENTE ENTORNOAGENTE ENTORNO

ACCIÓN(salida)

ACTUADORES

03.02.10

¿Cómo influye el entorno en el agente?¿Cómo influye el entorno en el agente?¿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.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 ocasiones diferentes puede tener efectos muy distintos (entornos no deterministas)

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

Un agente debe estar preparado para fallar o para la incertidumbre de no saber si ha tenido éxito o 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.Un agente dispone de un repertorio de acciones disponibles con sus correspondientes precondiciones.

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

03.02.10

Características (complementarias) Características (complementarias) ( p )de los agentes

( p )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

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

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

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

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

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.

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

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

03.02.10

complejas y difíciles de llevar a cabo.complejas y difíciles de llevar a cabo.

Clasificación de agentesClasificación de agentesClasificación de agentesClasificación de agentesAgentesAgentes

Agentes humanos Agentes hardware Agentes software

Agentes de información Agentes de transacción

([21] Brenner 1998)

Agentes cooperativos

([21] Brenner, 1998)

03.02.10 ([22] Nwana, 1996)

Clasificación de agentes (II)Clasificación de agentes (II)Clasificación de agentes (II)Clasificación de agentes (II)Nº tNº agentes

multiagente

Sociabilidad

Grado de inteligencia

inmóvil

agente único

C i ió

Colaboración/negociación

Movilidad

simple complejo móvil

InteligenciaInteracción con usuario

Comunicación

([4] Wooldridge, 2001)Ejecución remota

MigraciónPreferencias

RazonamientoPlanificación (pro-activo)

03.02.10 MovilidadAprendizaje (adaptativo)

Multi Agent SystemMulti Agent SystemMulti-Agent SystemMulti-Agent System

03.02.10 ([4] Wooldridge, 2001)

Características de los MASCaracterísticas de los MASCaracterísticas de los MASCaracterísticas de los MAS

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

03.02.10

ModelosModelosModelosModelos

03.02.10 ([16] Bradshaw, 1997)

Arquitecturas de agentesArquitecturas de agentesArquitecturas de agentesArquitecturas de agentes

Basadas en la lógicaD li tiBasadas en la lógicaD li tiDeliverativasReactivasDeliverativasReactivasHíbridasHíbridas

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

Arquitectura BDI Arquitectura BDI q(Belief, Desire, Intention)

q(Belief, Desire, Intention)

Cómo es el mundo en este

momentoEntrada de eventos

procedentes del entorno

CREENCIAS(Experiencias

pasadas)

ENTORNODESEOS(Cómo quiero que quede el

entorno en un futuro próximo)

Acciones a realizar para alcanzar un

entorno en un futuro próximo)

para alcanzar un deseo. Qué acción

debe emprender en este momento

INTENCIONES

03.02.10 ([1] ANA MAS, 2005)

Ejemplos de agentes BDIEjemplos de agentes BDIEjemplos de agentes BDIEjemplos de agentes BDI

JadexJJadexJ

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

JasonSPARKJasonSPARK

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

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

JACKJAM UM PRSJACKJAM UM PRS

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

JAM y UM-PRSJAM y UM-PRS (http://www.marcush.net/IRS/irs_downloads.html)

03.02.10

Arquitectura reactiva EjemploArquitectura reactiva EjemploArquitectura reactiva - EjemploArquitectura reactiva - Ejemplo

Distanciaángulo

SEGUIR UNOBJETO

…Fuerza a la salida a elegir

entre una de las dos acciones

SENSORES

ángulo OBJETO

Distancia aobstáculos

EVITAROBSTÁCULOS

03.02.10

MAS vs Sistemas ExpertosMAS vs Sistemas ExpertosMAS vs. Sistemas Expertos MAS vs. Sistemas Expertos

Agentes Sistemas ExpertosInteractúan con elInteractúan con el

entorno Sistemas cerrados

Distribución de la toma de decisiones

Sistemas de decisión centralizados

Mayor grado de interacción con usuario Interacción con elInteracción con el

usuario bajo peticiónInteracción con otros agentes

03.02.10

agentes

Comunicación entre agentesComunicación entre agentesComunicación entre agentesComunicación entre agentes

Distintas formas de interaccionar:Comunicación mediante el entorno.Si d i

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

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)S áti O t li (d fi i ió d t l í )

KSE (Knowledge Sharing Effort, ARPA 1990)Sintaxis: KIF (Knowledge Interchange Format)S áti O t li (d fi i ió d t l í )Semática: Ontolingua (definición de ontologías)Pragmática: KQML (Knowledge Query Manipulation Language)

FIPA (Foundation for Intelligence Physical Agents, 1996)

Semática: Ontolingua (definición de ontologías)Pragmática: KQML (Knowledge Query Manipulation Language)

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

Basado en la teoría de actos del hablaPerformativas

( g y g , )FIPA ACL

Basado en la teoría de actos del hablaPerformativas

03.02.10

e o at as

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

e o at as

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

Requisitos para un lenguaje de Requisitos para un lenguaje de q p g jcomunicación de agentesq p g jcomunicación de agentes

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

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

Semántica

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

SemánticaSemántica

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

Semántica

Implementación: transparente a las capas inferiores y debe permitir 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.

E t iti h t id d di i

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

E t iti h t id d di iEntorno: permitir heterogeneidad y dinamismo.

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

Entorno: permitir heterogeneidad y dinamismo.

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

03.02.10

entre los agentes.entre los agentes.

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

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

protocolos de transporte (TCP/IP, HTTP, ...),sintaxis de contexto,

l í

KQML es independiente de protocolos de transporte (TCP/IP, HTTP, ...),sintaxis de contexto,

l íontologías yprotocolos de alto nivel (contract net, subasta, ...).ontologías yprotocolos de alto nivel (contract net, subasta, ...).

Objetivo

Intención

Acto de habla

Mensaje

03.02.10Prepara para el transporte Recupera de transporte

Servicio de transporte de mensajes

KQML MensajesKQML MensajesKQML – MensajesKQML – Mensajes

Mensajes KQMLRepresentan un acto de habla o performativas

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

03.02.10 ([3] Pavón, 2003)

KQML PerformativasKQML PerformativasKQML – PerformativasKQML – Performativas

03.02.10 ([3] Pavón, 2003)

FIPA ACLFIPA ACLFIPA ACLFIPA ACL

Arquitectura abstracta

Mensajería Directorio ACL

Implementación concreta: C++ & SMTP

Implementación concreta: C++ & SMTP

Servicios de directorio LDAP

Servicios de directorio LDAP

Mensajería ACLImplementación concreta:

Elementos JavaImplementación concreta:

Elementos Java

Mensajería ACL

Mensaje de transporteEmisor: descriptor de transporteR t d i t d t t

j

Mensaje Carga útil

Receptor: descriptor de transporteOtros atributos: seguridad…

DIRECCIONAMIENTOY OTROS ATRIBUTOS

Carga útilMensaje

Expresado en un ACL

Emisor: nombre de agenteReceptor: nombre de agente

Contenido del mensaje

Carga útil

Mensaje

EmisorReceptor

Mensaje

EmisorReceptor

03.02.10

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

ContenidoCODIFICACIÓN Contenido

FIPA ACL MensajesFIPA ACL MensajesFIPA ACL - MensajesFIPA ACL - Mensajes(i f(i f(inform

:sender agente1:receiver agente2

(inform:sender agente1:receiver agente2

Parámetros de los mensajes::sender :language

:content(precio libro 50)

:in-reply-to round 4

:content(precio libro 50)

:in-reply-to round 4

:sender :language:receiver :ontology:content :reply-by:reply-with :protocoli l t ti id

p y:reply-with bi04:language sl:ontology ontolibro

p y:reply-with bi04:language sl:ontology ontolibro

:in-reply-to :conversation-id:envelope

:ontology ontolibro)

:ontology ontolibro)

EjemploEjemplo Tipos de mensajes:accept-proposal inform refuseagree inform if reject proposalagree inform-if reject-proposalcancel inform-refrequestcfp not-understood request-whenconfirm propose request-whenever

03.02.10

p p qdisconfirm query-if subscribeFailure query-ref

Funcionamiento de un MASFuncionamiento de un MASFuncionamiento de un MASFuncionamiento de un MAS1. El agente monitoriza la actividad del usuario

Lee/escucha la conversación del usuarioReconoce patrones en la conversación

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 decisiones

Deduce información y objetivos en función de experiencia pasada2. El agente persigue lograr sus objetivos

Toma decisionesPuede descomponer objetivos en sub-objetivosEjecuta tareas

3. Para cumplir objetivos necesita colaboración con otros agentesN i ió

Puede descomponer objetivos en sub-objetivosEjecuta tareas

3. Para cumplir objetivos necesita colaboración con otros agentesN i ióNegociaciónDelegaciónCoordinación

4 Los agentes necesitan servicios de localización de agentes

NegociaciónDelegaciónCoordinación

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

5. Comunicación con el usuarioInterfaces avanzadas

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

5. Comunicación con el usuarioInterfaces avanzadas

03.02.10

Interfaces avanzadasInformación implícita a partir de experiencia pasada o preferencias del usuarioGestión de diálogos

Interfaces avanzadasInformación implícita a partir de experiencia pasada o preferencias del usuarioGestión de diálogos

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

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

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

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

p pDiferentes sistemas de clases.

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

OILOntolingua

Implementaciones:OILOntolinguagKIFRDF / Esquemas XML / DTDOWL

gKIFRDF / Esquemas XML / DTDOWL

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

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

03.02.10

Tecnologías para interacción en Tecnologías para interacción en g pentornos abiertosg pentornos abiertos

XMLEstructuración de la información.

XMLEstructuración de la información.

Java y RMIDesarrollo de MAS e interoperabilidad entre

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

CORBA

pagentes heterogéneos (pero desarrollados en Java).

CORBACORBAIndependencia de las plataformas; permite intercambio de mensajes XML entre agentes

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

intercambio de mensajes XML entre agentes desarrollados en cualquier lenguaje de programación para el que se haya definido una

03.02.10correspondencia con el IDL.correspondencia con el IDL.

Modelos de programaciónModelos de programaciónModelos de programaciónModelos de programación

Sistemas multiagente

Sistemas basados en componentes

Programación orientada a objetos

Programación modular

Programación estructurada

03.02.10Programación máquina

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

Objeto Componente Agente MAS

EstadoComportamiento

ReflexiónEmpaquetado

ACLRazonamiento

Estructuras organizativasRoles en la organizaciónp

InterfazHerencia

p qSerializaciónRepositorioSeguridad

PlanificaciónMovilidadReglas de decisión

NormasRecursosObjetivos comunes

...Objetivos y tareasAprendizajeOntologíasColaboraciónRoles

Chips Componentes Procesadores Redes03.02.10 ([1] ANA MAS, 2005)

Chips Componentes Procesadores Redes

Ingeniería del Software OAIngeniería del Software OAIngeniería del Software OAIngeniería del Software OA

Definición del problema

Representación delconocimiento

Diseño de agentes

Implantación de agentesde agentes g

P bPruebas agentes

03.02.10

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

Definición del problema

Representación delconocimientodel problema conocimiento

Diseño de agentes

Implantación de agentes

Diseño de la base de conocimientoDiseño de la máquina de inferenciaDiseño de la base de conocimientoDiseño de la máquina de inferencia Pruebas

agentesDiseño del interfazDiseño del lenguaje de comunicaciónDiseño del interfazDiseño del lenguaje de comunicación

agentes

03.02.10

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

Definición del problema

Representación delconocimientodel problema conocimiento

Diseño de agentes

Implantación de agentes

Análisis y selección de herramientasImplantación de la base de conocimientoAnálisis y selección de herramientasImplantación de la base de conocimiento Pruebas

agentesImplantación de la máquina de inferenciaImplantación del interfazImplantación de la comunicación

Implantación de la máquina de inferenciaImplantación del interfazImplantación de la comunicación

agentes

03.02.10

Implantación de la comunicaciónImplantación de la comunicación

Agente vs ObjetoAgente vs ObjetoAgente vs. ObjetoAgente vs. Objeto

Agente Objeto

Autonomía de decisión Ejecuta métodos invocados

Flujo de control propio Flujo de control del llamante

Encapsula activación del comportamiento Encapsula estado y comportamiento

Estado mental: objetivos, creencias… Estado: valor de variables

Comportamiento: cómo decidir lo que hacer

Comportamiento: salida a partir de una entradahacer entrada

Interacciones: actos de habla (intencionalidad) Mensajes invocan procedimiento

03.02.10Organización: relaciones sociales entre

agentes Asociaciones entre objetos

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

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

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

Parunak (1999):

j , g y

Parunak (1999): ( )Un agente es:

Un objeto con iniciativa.

( )Un agente es:

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

03.02.10

POA vs POOPOA vs POOPOA vs. POOPOA vs. POO

Aspecto POA POO

d d bá bUnidad básica Agente Objeto

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

Creencias, obligaciones, capacidades selecciones Sin restriccionesestado de la unidad básica capacidades, selecciones

Proceso de cómputo Métodos de paso de mensajes y de respuestas

Tipos de mensajes Informes, requerimientos, ofertas, promesas… Sin restricciones

Restricciones sobre los métodos Honestidad, consistencia… Ninguno

03.02.10

Estructura de un agenteEstructura de un agenteEstructura de un agenteEstructura de un agente

ProgramaFunción AGENTE ESQUELETO ()

ProgramaFunción AGENTE ESQUELETO ()Función AGENTE-ESQUELETO ()

estática: memoria;Función AGENTE-ESQUELETO ()

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

( )memoria ← ACTUALIZA (memoria, acción)devuelve (acción)devuelve (acción)

Fin AGENTE-ESQUELETO()devuelve (acción)

Fin AGENTE-ESQUELETO()

03.02.10

Herramientas AOPHerramientas AOPHerramientas AOPHerramientas AOP

Lenguajes de programaciónJava

J l ( ió ló i )

Lenguajes de programaciónJava

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

Plataformas de desarrollo

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

Plataformas de desarrolloata o as de desa o oJADE (Java Agent DEvelopment Framework)FIPA-OS (FIPA Open Source)ABLE (A t B ildi d L i E i t)

ata o as de desa o oJADE (Java Agent DEvelopment Framework)FIPA-OS (FIPA Open Source)ABLE (A t B ildi d L i E i t)ABLE (Agent Building and Learning Environment)JackalOAA (Open Agent Architecture)

ABLE (Agent Building and Learning Environment)JackalOAA (Open Agent Architecture)( p g )

Entornos de desarrolloZeus, AgentBuilder

ó

( p g )Entornos de desarrollo

Zeus, AgentBuilderó

03.02.10Lenguaje de descripción de agentes

AUMLLenguaje de descripción de agentes

AUML

¿Qué es y para qué sirve JADE?¿Qué es y para qué sirve JADE?¿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

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

Arquitectura para ejecutar agentes que

Una plataforma de agentes FIPA Compliant.Una herramienta de desarrollo de agentes Java.

Arquitectura para ejecutar agentes queArquitectura para ejecutar agentes que soporta:

Un modelo de programación de agentes asíncrono

Arquitectura para ejecutar agentes que soporta:

Un modelo de programación de agentes asíncronoUn modelo de programación de agentes asíncrono.Comunicación entre agentes: en la misma y en diferentes plataformas

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

03.02.10

Arquitectura de JADEArquitectura de JADEArquitectura de JADEArquitectura de JADE

Agente C

Agente D

A li ió MASA li ió MASAgente A

Agente B

Aplicación MASAplicación MAS

Plataforma JADEContenedor

Contenedor Contenedor

Capa homogéneaCapa homogénea

Plataforma JADE principal Contenedor Contenedor

JavaJava J2SE J2EE J2ME

03.02.10Internet

Redes inalámbricas y cableadasRedes inalámbricas y cableadas

Algunas metodologías para Algunas metodologías para desarrollo de MASdesarrollo de MAS

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

Considera 6+1 modelos: Organización, Tareas, Agente, Comunicaciones, Experiencia, Diseño, Coordinación.C KADS (1994) did OO SDL MSC

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

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

CommonKADS (1994) extendido con OO, SDL y MSC.

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

MaSE (2001)OO con conversaciones entre objetos

MAS como conjunto de entidades que interactúan.

MaSE (2001)OO con conversaciones entre objetosOO con conversaciones entre objetos.

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

OO con conversaciones entre objetos.

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

03.02.10

Meta modelos.Meta modelos.

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

MODELO DE ORGANIZACIÓN

MODELO DE

MASMODELO DE

OBJETIVOS/TAREASMODELO DE AGENTE

MODELO DE ENTORNOMODELO DE ENTORNOMODELO DE

INTERACCIONES

03.02.10([2] Pavón, 2003)

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

En el diseño de sistemas distribuidos los agentes proporcionan:Aspectos socialesLenguajes y protocolos de comunicación

En el diseño de sistemas distribuidos los agentes proporcionan:Aspectos socialesLenguajes y protocolos de comunicacióng j y pDistribució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:

g j y pDistribució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 diferentesM d l d d i t t l i l

Mayor autonomía y capacidad de decisiónVarios componentes heterogéneos que mantienen relaciones entre ellos y con escala de tiempo diferentesM d l d d i t t l i lModelado 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 trabajo

Modelado de sistemas naturales y socialesFacilitan la evolución:

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

NO son siempre la solución ideal:

Escalabilidad: añadir agentes para soportar más carga de trabajoDesarrollo incrementalSistemas abiertos: capacidad de aceptar nuevos elementos

NO son siempre la solución ideal:

03.02.10

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

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

Problemas de los MASProblemas de los MASProblemas de los MASProblemas de los MAS

Descomposición del problema.Comunicación entre agentes.Descomposición del problema.Comunicación entre agentes.Comunicación entre agentes.Coherencia en las actuaciones.Representación del conocimiento de otros

Comunicación entre agentes.Coherencia en las actuaciones.Representación del conocimiento de otrosRepresentación del conocimiento de otros agentes.Coordinación de acciones

Representación del conocimiento de otros agentes.Coordinación de accionesCoordinación de acciones.Gestionar el uso de recursos.Evitar comportamientos globales no

Coordinación de acciones.Gestionar el uso de recursos.Evitar comportamientos globales noEvitar comportamientos globales no deseados.Diseño de MAS: metodología y desarrollo

Evitar comportamientos globales no deseados.Diseño de MAS: metodología y desarrollo

03.02.10Diseño de MAS: metodología y desarrollo.Diseño de MAS: metodología y desarrollo.

Más sobre agentesMás sobre agentesMás sobre agentesMás sobre agentes

03.02.10

Agentes móvilesAgentes móvilesAgentes 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,

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,p p ,negociando y cerrando tratos en su nombre,utilizando servicios remotos.

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

p p ,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

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 servidoresPuede 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

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 ejecutarseejecutarse.ejecutarse.

03.02.10([3] Pavón, 2003)

Agentes para recuperación de Agentes para recuperación de g p pinformación

g p pinformación

Acceso a diversas fuentes de información.Capaz de agrupar y manipular la 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.Ti ( l t )

obtenida para ponerla a disposición del usuario.Usualmente a través de la Web.Ti ( l t )Tipos (no excluyentes)

Agentes de búsquedaAgentes de filtrado

Tipos (no excluyentes)Agentes de búsquedaAgentes de filtradoAgentes de filtradoAgentes de monitorización

W b á ti

Agentes de filtradoAgentes de monitorización

W b á tiWeb semánticaWeb semántica

03.02.10 ([14] Botti, 2003)

Agentes para recuperación de Agentes para recuperación de g p pinformación - Aplicacionesg p pinformación - Aplicaciones

03.02.10 ([14] Botti, 2003)

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

……

03.02.10

ReferenciasReferenciasReferenciasReferencias[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/

[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/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

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

[ ] ,[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[ ] g , p // g g[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

[ ] g , p // g g[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 [ ] ( ), g [ ], , p

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

[ ] ( ), g [ ], , pde 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

03.02.10

[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[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

Referencias (II)Referencias (II)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–85C A I l i (1998) D fi i ió d t d l í l d ll d i t

[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–85C A I l i (1998) D fi i ió d t d l í l d ll d i t[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

[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[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

[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[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,

[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, [ ] y g ( ) g pp

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/

[ ] y g ( ) g ppISBN: 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/

03.02.10

......

ReferenciasReferenciasReferenciasReferencias[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

[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[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

[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[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/

htt // / / b/ t i l ht

[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/

htt // / / b/ t i l ht[12] http://www.upv.es/sma/web/materiales.htm [13] Acl.pdf[14] 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[15] desarrolloSMA.pdf

[12] http://www.upv.es/sma/web/materiales.htm [13] Acl.pdf[14] 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[15] desarrolloSMA.pdfJenningsJennings[13] Sycara

… mirar documento soton -hiparsys

Jennings[13] Sycara

… mirar documento soton -hiparsys

[13] Sycara

mirar documento soton03.02.10

http://trevinca.ei.uvigo.es/~pcuesta/sm/enlaces.htm… mirar documento soton -hiparsys

Web sobre metologías de agentes, http://ma.ei.uvigo.es