06.09.2015 Views

Ingeniería de Software y Sistemas Basados en Agentes (SBA)

Ingenieria de Software y Sistemas Basados en Agentes

Ingenieria de Software y Sistemas Basados en Agentes

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Ing<strong>en</strong>iería</strong> <strong>de</strong> <strong>Software</strong> y<br />

<strong>Sistemas</strong> <strong>Basados</strong> <strong>en</strong> Ag<strong>en</strong>tes<br />

(<strong>SBA</strong>)<br />

Dra. Cora Beatriz Excel<strong>en</strong>te Toledo<br />

Directora <strong>de</strong>l C<strong>en</strong>tro <strong>de</strong> Investigación e Innovación<br />

Laboratorio Nacional <strong>de</strong> Informática Avanzada A.C.<br />

cora@lania.mx<br />

Séptimo Congreso Internacional "TIC's... sin límites“<br />

C<strong>en</strong>tro Universitario <strong>de</strong> Ixtlahuaca A.C.<br />

<strong>Ing<strong>en</strong>iería</strong> <strong>en</strong> Computación<br />

6 al 8 <strong>de</strong> Octubre, 2010


Cont<strong>en</strong>ido<br />

• ¿Cuál es el problema?<br />

• ¿Cuál es la solución?<br />

– <strong>Sistemas</strong> basados <strong>en</strong> ag<strong>en</strong>tes<br />

• ¿Cómo construir la solución?<br />

– <strong>Ing<strong>en</strong>iería</strong> <strong>de</strong> software para <strong>SBA</strong><br />

• ¿Con qué cu<strong>en</strong>to para construir la solución?<br />

• Conclusiones<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 2 -<br />

© CEUI, 7/Octubre/2010


El problema: necesidad <strong>de</strong><br />

construir sistemas complejos


Motivación<br />

Un sistema <strong>de</strong> control <strong>de</strong> tráfico<br />

aéreo <strong>en</strong> el aereopuerto <strong>de</strong><br />

Ruritania falla <strong>de</strong> rep<strong>en</strong>te y <strong>de</strong>ja<br />

los vuelos sin un sistema <strong>de</strong><br />

apoyo. Afortunadam<strong>en</strong>te, un<br />

sistema autónomo <strong>de</strong> control <strong>de</strong><br />

tráfico <strong>de</strong>l aereopuerto más<br />

cercano i<strong>de</strong>ntifica la falla <strong>de</strong> su<br />

igual y coopera para resolver<br />

los vuelos afectados.<br />

La situación pasa sin mayor inci<strong>de</strong>nte y se evita un total<br />

<strong>de</strong>sastre<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 4 -<br />

© CEUI, 7/Octubre/2010


Motivación<br />

Debido a una falla inesperada <strong>de</strong>l<br />

sistema, al llegar a Saturno, una<br />

sonda espacial pier<strong>de</strong> contacto<br />

con laTierra y se <strong>de</strong>sori<strong>en</strong>ta.<br />

En lugar <strong>de</strong> simplem<strong>en</strong>te<br />

<strong>de</strong>saparecer <strong>en</strong> el espacio, el<br />

artefacto reconoce que ha<br />

ocurrido una falla <strong>en</strong> su sistema,<br />

diagnostica el problema, lo<br />

resuelve y se re-ori<strong>en</strong>ta para<br />

hacer contacto con la tripulación<br />

<strong>en</strong> Tierra<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 5 -<br />

© CEUI, 7/Octubre/2010


Motivación<br />

Después <strong>de</strong> un mas crudo invierno <strong>en</strong><br />

Europa, un parisino está <strong>de</strong>sesperado por<br />

conseguir una bu<strong>en</strong>a oferta vacaciones <strong>en</strong><br />

algún lugar caluroso y soleado.<br />

Después <strong>de</strong> especificar sus requerimi<strong>en</strong>tos a<br />

su Asist<strong>en</strong>te Digital Personal (PDA), éste<br />

conversa con un número difer<strong>en</strong>te <strong>de</strong> sitios<br />

v<strong>en</strong><strong>de</strong>n paquetes turísticos (vuelos, cuartos<br />

<strong>de</strong> hotel, r<strong>en</strong>ta <strong>de</strong> autos). Después <strong>de</strong> una<br />

dura negociación repres<strong>en</strong>tando los<br />

intereses <strong>de</strong>l parisino, la PDA ofrece a su<br />

usuario una bu<strong>en</strong> rango <strong>de</strong> posibilida<strong>de</strong>s <strong>de</strong><br />

viaje.<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 6 -<br />

© CEUI, 7/Octubre/2010


CB Excel<strong>en</strong>te-Toledo<br />

- 7 -<br />

© CEUI, 7/Octubre/2010


Motivación<br />

• Actualm<strong>en</strong>te hay una creci<strong>en</strong>te necesidad <strong>de</strong><br />

at<strong>en</strong><strong>de</strong>r problemas a través <strong>de</strong> la construcción<br />

<strong>de</strong> software.<br />

• El tipo <strong>de</strong> problemas a atacar ti<strong>en</strong>e<br />

características cada vez mas complejas ya que<br />

se requiere<br />

CB Excel<strong>en</strong>te-Toledo<br />

– <strong>de</strong> la integración <strong>de</strong> sistemas a distintos niveles<br />

– <strong>de</strong> la integración <strong>de</strong> dispositivos<br />

– <strong>de</strong> sistemas que se “adapt<strong>en</strong>” a los cambios que ocurr<strong>en</strong><br />

– <strong>de</strong> sistemas que sean “flexibles”<br />

– <strong>de</strong> sistemas que requieran mant<strong>en</strong>imi<strong>en</strong>to “mínimo”<br />

– <strong>de</strong> sistemas que i<strong>de</strong>ntifiqu<strong>en</strong> sus fallas y se diagnostiqu<strong>en</strong><br />

– etc.<br />

- 8 -<br />

© CEUI, 7/Octubre/2010


Complejidad <strong>en</strong>t<strong>en</strong>dida como:<br />

• Los sistemas se integran por subsistemas que<br />

se interrelacionan.<br />

• Los subsistemas/compon<strong>en</strong>tes pue<strong>de</strong>n ser muy<br />

difer<strong>en</strong>tes (hardware, software)<br />

• Las relaciones <strong>en</strong>tre los susbsistemas se<br />

mo<strong>de</strong>lan como cli<strong>en</strong>te/servidor, formación <strong>de</strong><br />

grupos, etc.<br />

• Las relaciones pue<strong>de</strong>n tomar formas mas<br />

complejas: cooperar, negociar, etc.<br />

• Las relaciones no son estáticas sino que varían<br />

con el tiempo.<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 9 -<br />

© CEUI, 7/Octubre/2010


<strong>Sistemas</strong> Complejos<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 10 -<br />

© CEUI, 7/Octubre/2010


La solución….<br />

Los sistemas basados <strong>en</strong><br />

ag<strong>en</strong>tes (<strong>SBA</strong>)


La solución<br />

• Los <strong>SBA</strong> son una disciplina relativam<strong>en</strong>te nueva<br />

• Ha adquirido mucha popularidad (“todo<br />

actualm<strong>en</strong>te es un ag<strong>en</strong>te”)<br />

• Ha t<strong>en</strong>ido un crecimi<strong>en</strong>to importante a nivel <strong>de</strong><br />

contribuciones ci<strong>en</strong>tíficas<br />

• Exist<strong>en</strong> un número importante <strong>de</strong> aplicaciones<br />

• Se trata <strong>de</strong> un área multidisciplinaria<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 12 -<br />

© CEUI, 7/Octubre/2010


Un poquito <strong>de</strong> historia<br />

Intelig<strong>en</strong>cia<br />

Artificial<br />

Intelig<strong>en</strong>cia<br />

Artificial<br />

Distribuida<br />

(DAI)<br />

<strong>Sistemas</strong><br />

Distribuidos<br />

y paralelos<br />

• Arquitecturas <strong>de</strong><br />

pizarrón (Blackboard<br />

Systems)<br />

• Actors (Hewitt, 1977,<br />

1981)<br />

• Contract Net Protocol<br />

(Smith & Davis 1981)<br />

• …<br />

<strong>Sistemas</strong><br />

basados <strong>en</strong><br />

ag<strong>en</strong>tes<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 13 -<br />

© CEUI, 7/Octubre/2010


Disciplinas relacionadas<br />

Programación<br />

OO<br />

AOP<br />

Teorías<br />

Económicas<br />

Mercados<br />

Teoría <strong>de</strong><br />

Decisiones<br />

Autonomía<br />

<strong>Sistemas</strong><br />

Distribuidos<br />

Comunicación<br />

Mobilidad<br />

<strong>Sistemas</strong><br />

<strong>Basados</strong> <strong>en</strong><br />

Ag<strong>en</strong>tes<br />

Racionalidad<br />

Apr<strong>en</strong>dizaje<br />

Proactividad<br />

Cooperación<br />

Organizaciones<br />

Sociología<br />

Conductas<br />

Reactividad<br />

Intelig<strong>en</strong>cia Artificial<br />

e IA Distribuida<br />

Psicología<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 14 -<br />

© CEUI, 7/Octubre/2010


Pero … ¿qué es un sistema<br />

multiag<strong>en</strong>tes?


¿Qué es un Sistema Basado <strong>en</strong><br />

Ag<strong>en</strong>tes?<br />

Primero hay que <strong>de</strong>finir qué es un ag<strong>en</strong>te….<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 16 -<br />

© CEUI, 7/Octubre/2010


¿Qué es un ag<strong>en</strong>te?<br />

Un ag<strong>en</strong>te es un software (o hardware) que<br />

está situado <strong>en</strong> un ambi<strong>en</strong>te y es capaz <strong>de</strong><br />

actuar autónomam<strong>en</strong>te para cumplir los<br />

objetivos para lo que fue diseñado.<br />

Ag<strong>en</strong>te<br />

S<strong>en</strong>sor <strong>de</strong><br />

<strong>en</strong>trada<br />

Acción <strong>de</strong><br />

salida<br />

Ambi<strong>en</strong>te<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 17 -<br />

© CEUI, 7/Octubre/2010


Sistema basados <strong>en</strong> ag<strong>en</strong>tes<br />

Relaciones / integración<br />

Interacciones<br />

Un Sistema Multiag<strong>en</strong>te o Sistema Basado <strong>en</strong> Ag<strong>en</strong>tes (<strong>SBA</strong>)<br />

Ag<strong>en</strong>te<br />

se caracteriza por ser un sistema <strong>en</strong> el que hay un número <strong>de</strong><br />

ag<strong>en</strong>tes Esferas <strong>de</strong><br />

autónomos que habitan (o compart<strong>en</strong>) un medio<br />

influecia<br />

ambi<strong>en</strong>te común y que se v<strong>en</strong> <strong>en</strong> la necesidad <strong>de</strong> interactuar<br />

por una variedad <strong>de</strong> razones<br />

Ambi<strong>en</strong>te<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 18 -<br />

© CEUI, 7/Octubre/2010


Objetivo <strong>de</strong> un <strong>SBA</strong><br />

Mejorar nuestra habilidad para<br />

mo<strong>de</strong>lar, diseñar y construir<br />

sistemas complejos <strong>de</strong> software<br />

(distribuidos)<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 19 -<br />

© CEUI, 7/Octubre/2010


Sistema basados <strong>en</strong> ag<strong>en</strong>tes<br />

Un <strong>SBA</strong> se caracteriza por ser un sistema <strong>en</strong> el que hay un<br />

número <strong>de</strong> ag<strong>en</strong>tes autónomos que habitan (o compart<strong>en</strong>)<br />

un medio ambi<strong>en</strong>te común y que se v<strong>en</strong> <strong>en</strong> la necesidad <strong>de</strong><br />

interactuar por una variedad <strong>de</strong> razones<br />

Ag<strong>en</strong>tes<br />

Manejo <strong>de</strong><br />

interacciones<br />

Medio ambi<strong>en</strong>te<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 20 -<br />

© CEUI, 7/Octubre/2010


Sistema basados <strong>en</strong> ag<strong>en</strong>tes<br />

Un <strong>SBA</strong> se caracteriza por ser un sistema <strong>en</strong> el que hay un<br />

número <strong>de</strong> ag<strong>en</strong>tes autónomos que habitan (o compart<strong>en</strong>)<br />

un medio ambi<strong>en</strong>te común y que se v<strong>en</strong> <strong>en</strong> la necesidad <strong>de</strong><br />

interactuar por una variedad <strong>de</strong> razones<br />

Ag<strong>en</strong>tes<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 21 -<br />

© CEUI, 7/Octubre/2010


Ag<strong>en</strong>tes: características<br />

(Wooldridge, J<strong>en</strong>nings 1995)<br />

reactivos: respon<strong>de</strong>n a<br />

cambios que ocurr<strong>en</strong> <strong>en</strong><br />

el medio ambi<strong>en</strong>te<br />

pro-activos: ti<strong>en</strong><strong>en</strong><br />

iniciativa para satisfacer<br />

sus objetivos o actúan <strong>en</strong><br />

anticipación <strong>de</strong> sus metas<br />

futuras<br />

autónomos: actúan sin<br />

interv<strong>en</strong>ción <strong>de</strong>l usuario<br />

comunican con otros<br />

para interaccionar<br />

situados: <strong>de</strong>tectan el<br />

medio ambi<strong>en</strong>te a través<br />

<strong>de</strong> s<strong>en</strong>sores and actúan<br />

a através <strong>de</strong> efectores<br />

habilidad social:<br />

interactúan con otros<br />

para satisfacer sus<br />

objetivos y/o los <strong>de</strong><br />

una comunidad<br />

mayor<br />

• Negocia<br />

• Repres<strong>en</strong>ta humanos<br />

• Planifica<br />

• Apr<strong>en</strong><strong>de</strong>...<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 22 -<br />

© CEUI, 7/Octubre/2010


Arquitectura abstracta<br />

percibe<br />

sigui<strong>en</strong>te<br />

Sistema<br />

(Ag<strong>en</strong>te)<br />

estado<br />

acción<br />

<strong>en</strong>trada<br />

salida<br />

Medio ambi<strong>en</strong>te<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 23 -<br />

© CEUI, 7/Octubre/2010


Ag<strong>en</strong>tes: arquitecturas<br />

• Ag<strong>en</strong>tes con razonami<strong>en</strong>to práctico<br />

– Deliberan: <strong>de</strong>ci<strong>de</strong>n QUE estado quier<strong>en</strong> alcanzar<br />

– Razonan: <strong>de</strong>ci<strong>de</strong>n COMO llegar a ese estado. La salida <strong>de</strong> la actividad<br />

<strong>de</strong> <strong>de</strong>liberación son las int<strong>en</strong>ciones.<br />

– Ag<strong>en</strong>tes BDI (Beliefs-Desires-Int<strong>en</strong>tion)<br />

• B: Cre<strong>en</strong>cias<br />

• G: Deseos (metas)<br />

• I: Int<strong>en</strong>ciones (metas a cumplir)<br />

• Ag<strong>en</strong>tes Racionales (económicos)<br />

– Asociar valores a las posibles acciones a ejecutar y tomar <strong>de</strong>cisiones<br />

<strong>en</strong> base a maximizar las posibilida<strong>de</strong>s<br />

• Se maximizan las utilida<strong>de</strong>s individuales, <strong>de</strong> todo el sistema, etc.<br />

• Se analizan los protocolos <strong>de</strong> interacción<br />

• Ag<strong>en</strong>tes reactivos (puram<strong>en</strong>te reactivos)<br />

– Toman <strong>de</strong>cisiones sin refer<strong>en</strong>cia a su historia<br />

– Basan sus <strong>de</strong>cisiones totalm<strong>en</strong>te <strong>en</strong> el pres<strong>en</strong>te.<br />

– No ti<strong>en</strong><strong>en</strong> memoria.<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 24 -<br />

© CEUI, 7/Octubre/2010


• Simbólicas/lógicas<br />

Ag<strong>en</strong>tes: arquitecturas<br />

– Básicam<strong>en</strong>te Intelig<strong>en</strong>cia Artificial, repres<strong>en</strong>tación e<br />

infer<strong>en</strong>cia<br />

– Se mo<strong>de</strong>la la búsqueda <strong>en</strong> el posible espacio <strong>de</strong><br />

acciones para <strong>en</strong>contrar la secu<strong>en</strong>cia <strong>de</strong> aquellas que<br />

satisfac<strong>en</strong> la meta<br />

• Reactivas<br />

– <strong>Sistemas</strong> <strong>en</strong> ambi<strong>en</strong>tes altam<strong>en</strong>te dinámicos<br />

• Híbridas<br />

– Lo mejor <strong>de</strong> dos mundos pero… ¿qué tanto tomo <strong>de</strong><br />

cada lado?<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 25 -<br />

© CEUI, 7/Octubre/2010


Sistema basados <strong>en</strong> ag<strong>en</strong>tes<br />

Un <strong>SBA</strong> se caracteriza por ser un sistema <strong>en</strong> el que hay un<br />

número <strong>de</strong> ag<strong>en</strong>tes autónomos que habitan (o compart<strong>en</strong>)<br />

un medio ambi<strong>en</strong>te común y que se v<strong>en</strong> <strong>en</strong> la necesidad <strong>de</strong><br />

interactuar por una variedad <strong>de</strong> razones<br />

Manejo <strong>de</strong><br />

interacciones<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 26 -<br />

© CEUI, 7/Octubre/2010


Interaciones<br />

• Leyes Sociales<br />

• Estructura Organizacional<br />

• Negociación<br />

• Planificación multiag<strong>en</strong>te<br />

• Subastas electrónicas<br />

• etc<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 27 -<br />

© CEUI, 7/Octubre/2010


Leyes sociales<br />

Coordinación se obti<strong>en</strong>e al obe<strong>de</strong>cer reglas o<br />

conv<strong>en</strong>ciones sociales.<br />

Ejemplo: Manejar sigui<strong>en</strong>do las reglas <strong>de</strong><br />

tránsito<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 28 -<br />

© CEUI, 7/Octubre/2010


Estructura Organizacional<br />

Coordinación se logra a través <strong>de</strong> la<br />

distribución funcional, espacial, la<br />

especilización y división <strong>de</strong> tareas, <strong>de</strong><br />

responsabilida<strong>de</strong>s, etc.<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 29 -<br />

© CEUI, 7/Octubre/2010


Negociación<br />

Coordinación consiste<br />

<strong>de</strong> llegar un acuerdo a<br />

través <strong>de</strong>l ofertas y<br />

contraofertas,<br />

argum<strong>en</strong>tación, etc.<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 30 -<br />

© CEUI, 7/Octubre/2010


Subastas electrónicas<br />

• Difer<strong>en</strong>tes tipos <strong>de</strong> subastas:<br />

– Cerradas (licitaciones): don<strong>de</strong><br />

nadie sabe el monto <strong>de</strong> la<br />

propuesta.<br />

– A la baja. Las ofertas van<br />

disminuy<strong>en</strong>do porque el bi<strong>en</strong> a<br />

subastar se inicia a un precio muy<br />

alto<br />

Coordinación consiste <strong>de</strong> llegar a un<br />

acuerdo <strong>en</strong>tre compradores y<br />

v<strong>en</strong><strong>de</strong>dores <strong>en</strong> el precio <strong>de</strong> un bi<strong>en</strong>.<br />

– A la alta. Las ofertas validas son<br />

aquellas que increm<strong>en</strong>tan el valor<br />

<strong>de</strong>l bi<strong>en</strong>.<br />

– Doble. Es permitido comprar y<br />

v<strong>en</strong><strong>de</strong>r.<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 31 -<br />

© CEUI, 7/Octubre/2010


Sistema basados <strong>en</strong> ag<strong>en</strong>tes<br />

Un <strong>SBA</strong> se caracteriza por ser un sistema <strong>en</strong> el que hay un<br />

número <strong>de</strong> ag<strong>en</strong>tes autónomos que habitan (o compart<strong>en</strong>)<br />

un medio ambi<strong>en</strong>te común y que se v<strong>en</strong> <strong>en</strong> la necesidad <strong>de</strong><br />

interactuar por una variedad <strong>de</strong> razones<br />

Medio ambi<strong>en</strong>te<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 32 -<br />

© CEUI, 7/Octubre/2010


Características <strong>de</strong>l medio ambi<strong>en</strong>te<br />

• No se ti<strong>en</strong>e una visión global (común) <strong>de</strong>l mismo<br />

• No son diseñados <strong>de</strong>s<strong>de</strong> un mismo punto <strong>de</strong><br />

vista<br />

• Hetereog<strong>en</strong>eidad <strong>de</strong> ag<strong>en</strong>tes<br />

CB Excel<strong>en</strong>te-Toledo<br />

– arquitecturas,<br />

– toma <strong>de</strong> <strong>de</strong>cisiones,<br />

– interesados <strong>en</strong> si mismos o b<strong>en</strong>évolos (o ambos),<br />

– Etc<br />

• Dinamicidad<br />

– Debido al medio ambi<strong>en</strong>te<br />

– Como resultado <strong>de</strong> los otros ag<strong>en</strong>tes<br />

– Etc.<br />

- 33 -<br />

© CEUI, 7/Octubre/2010


Propieda<strong>de</strong>s <strong>de</strong>l medio ambi<strong>en</strong>te<br />

• Observable: ¿qué aspectos <strong>de</strong>l ambi<strong>en</strong>te son<br />

accesibles a través <strong>de</strong> los s<strong>en</strong>sores <strong>de</strong>l ag<strong>en</strong>te?<br />

• Controlable: ¿<strong>en</strong> qué medida y <strong>de</strong> qué forma el<br />

ag<strong>en</strong>te contrala el ambi<strong>en</strong>te <strong>en</strong> el que está<br />

inmerso?<br />

• Por su propósito: ¿Hay otros ag<strong>en</strong>tes <strong>en</strong> el<br />

ambi<strong>en</strong>te?<br />

• Es pre<strong>de</strong>cible, Determinista, Estocástico,<br />

pre<strong>de</strong>cible, caótico… etc<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 34 -<br />

© CEUI, 7/Octubre/2010


Tipos <strong>de</strong> medios ambi<strong>en</strong>tes<br />

• Accesible vs inaccesible<br />

• Determinista vs no <strong>de</strong>terminista<br />

• Episódico vs no episódico<br />

• Estático vs dinámico<br />

• Discreto vs continuo<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 35 -<br />

© CEUI, 7/Octubre/2010


Medio ambi<strong>en</strong>te<br />

• Dep<strong>en</strong>di<strong>en</strong>do <strong>de</strong>l tipo <strong>de</strong> medio ambi<strong>en</strong>te <strong>de</strong>l<br />

problema se requiere <strong>de</strong> difer<strong>en</strong>tes<br />

características <strong>de</strong> ag<strong>en</strong>tes para tratar con ellos.<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 36 -<br />

© CEUI, 7/Octubre/2010


Pero, ¿cómo construyo un<br />

<strong>SBA</strong>?<br />

<strong>Ing<strong>en</strong>iería</strong> <strong>de</strong> <strong>Software</strong> para<br />

<strong>SBA</strong><br />

(Ag<strong>en</strong>t Ori<strong>en</strong>ted <strong>Software</strong> Engineering AOSE)


<strong>Ing<strong>en</strong>iería</strong> <strong>de</strong> software y<br />

Metodología<br />

• La ing<strong>en</strong>iería <strong>de</strong> software es "la aplicación <strong>de</strong> un<br />

método sistemático, disciplinado y cuantificable<br />

al <strong>de</strong>sarrollo, operación y mant<strong>en</strong>imi<strong>en</strong>to <strong>de</strong><br />

software“<br />

• Metodología es:<br />

» IEEE Std 610.12. IEEE Standard Glossary of <strong>Software</strong><br />

Engineering Terminology, 1990.<br />

– (i) el conjunto <strong>de</strong> conceptos <strong>de</strong> una teoría,<br />

– (ii) las notaciones para mo<strong>de</strong>lar aspectos <strong>de</strong><br />

ing<strong>en</strong>iería <strong>de</strong> software (requerimi<strong>en</strong>tos, análisis<br />

diseño, implem<strong>en</strong>tación), y<br />

– (iii) el proceso que se sigue para producir software<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 38 -<br />

© CEUI, 7/Octubre/2010


Ag<strong>en</strong>t Ori<strong>en</strong>ted <strong>Software</strong><br />

Engineering, AOSE<br />

AOSE es la aplicación <strong>de</strong> la teoría <strong>de</strong> ag<strong>en</strong>tes a<br />

la ing<strong>en</strong>iería <strong>de</strong> software, es <strong>de</strong>cir, proporciona<br />

los medios para analizar, diseñar, y construir<br />

sistemas <strong>de</strong> basados <strong>en</strong> ag<strong>en</strong>tes.<br />

J<strong>en</strong>nings N.R. , Woooldridge M.. “Ag<strong>en</strong>t-Ori<strong>en</strong>ted <strong>Software</strong> Engineering”.<br />

Proceedings of the 9th European Workshop on Mo<strong>de</strong>lling Autonomous<br />

Ag<strong>en</strong>ts in a Multi-Ag<strong>en</strong>t World: Multi-Ag<strong>en</strong>t System Engineering (MAAMAW-<br />

99), volume 1647, pages 1-7. Springer-Verlag: Hei<strong>de</strong>lberg, Germany, 30-2<br />

1999.<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 39 -<br />

© CEUI, 7/Octubre/2010


• GAIA:<br />

Metodologías<br />

– Metodología para análisis y diseño don<strong>de</strong> no importa<br />

la arquitectura a usar <strong>en</strong> la implem<strong>en</strong>tación<br />

• Tropos:<br />

– Metodología <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> software basado <strong>en</strong><br />

ag<strong>en</strong>tes mediante ext<strong>en</strong>siones <strong>de</strong> UML. El concepto<br />

principal <strong>en</strong> el análisis y mo<strong>de</strong>lado es ACTORs<br />

• MaSE (Multiag<strong>en</strong>t System Engineering).<br />

– Metodología que trata <strong>de</strong> cubrir todas la etapas <strong>en</strong> el<br />

proceso <strong>de</strong> construcción <strong>de</strong> un sistema multiag<strong>en</strong>te.<br />

Dispone <strong>de</strong> un l<strong>en</strong>guaje <strong>de</strong> especificación y una<br />

herrami<strong>en</strong>ta <strong>de</strong> <strong>de</strong>sarrollo<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 40 -<br />

© CEUI, 7/Octubre/2010


Ejemplos <strong>de</strong> AOSE:<br />

PROMETHEUS


Metodología Prometheus<br />

• Apoya <strong>de</strong>s<strong>de</strong> “principio a fin” el <strong>de</strong>sarrollo <strong>de</strong> un<br />

sistema basado <strong>en</strong> ag<strong>en</strong>tes<br />

• Cubre todas las etapas <strong>de</strong>l <strong>de</strong>sarrollo <strong>de</strong><br />

software (<strong>de</strong>s<strong>de</strong> especificación a diseño<br />

<strong>de</strong>tallado, implem<strong>en</strong>tación y pruebas)<br />

• Apoya el <strong>de</strong>sarrollo <strong>de</strong> “ag<strong>en</strong>tes intelig<strong>en</strong>tes”<br />

(basados <strong>en</strong> arquitectura BDI (Beliefs–Desires-<br />

Int<strong>en</strong>tions)<br />

• Incluye un proceso <strong>de</strong>tallado para la<br />

construcción y diseño <strong>de</strong> artefactos por etapa.<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 42 -<br />

© CEUI, 7/Octubre/2010


Prometheus<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 43 -<br />

© CEUI, 7/Octubre/2010


• Especificación <strong>de</strong>l sistema:<br />

Prometheus<br />

– I<strong>de</strong>ntificar las metas y submetas <strong>de</strong>l sistema<br />

– Desarrollar esc<strong>en</strong>arios <strong>de</strong> caso<br />

– I<strong>de</strong>ntificar la interfase <strong>de</strong>l ag<strong>en</strong>te con el medio<br />

ambi<strong>en</strong>te (acciones, percepciones y datos externos)<br />

– I<strong>de</strong>ntificar funcionalida<strong>de</strong>s y datos asociados<br />

– Preparar esquemas <strong>de</strong> funcionalidad : nombre,<br />

<strong>de</strong>scripción, acciones, percepciones, datos,<br />

interacciones (con otras funcionalida<strong>de</strong>s) y metas<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 44 -<br />

© CEUI, 7/Octubre/2010


• Diseño arquitectónico:<br />

Prometheus<br />

– Agrupar funcionalida<strong>de</strong>s para <strong>de</strong>terminar los tipos <strong>de</strong><br />

ag<strong>en</strong>te tomando <strong>en</strong> cu<strong>en</strong>ta uso <strong>de</strong> datos y diagramas<br />

para evaluar distintas alternativas <strong>de</strong> agrupami<strong>en</strong>to.<br />

– Definir tipos <strong>de</strong> ag<strong>en</strong>tes (número y ciclo <strong>de</strong> vista <strong>de</strong><br />

los ag<strong>en</strong>tes)<br />

– Obt<strong>en</strong>er diagrama a nivel <strong>de</strong>l sistema que <strong>de</strong>scribe la<br />

estructura g<strong>en</strong>eral<br />

– Desarrollar protocolos <strong>de</strong> interacción a partir <strong>de</strong> lo<br />

esc<strong>en</strong>arios <strong>de</strong> casos (diagramas <strong>de</strong> interacción)<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 45 -<br />

© CEUI, 7/Octubre/2010


Prometheus<br />

• Diseño Detallado:<br />

– Obt<strong>en</strong>er diagramas <strong>de</strong> procesos<br />

– Obt<strong>en</strong>er diagramas <strong>de</strong> ag<strong>en</strong>tes que muestras sus<br />

capacida<strong>de</strong>s, ev<strong>en</strong>tos, datos y planes<br />

– Refinar las capacida<strong>de</strong>s internas <strong>de</strong> los ag<strong>en</strong>tes<br />

– Incluir planes para manejar ev<strong>en</strong>tos<br />

– Definir <strong>de</strong>talles<br />

• <strong>de</strong> ev<strong>en</strong>tos (externos, <strong>en</strong>tre ag<strong>en</strong>tes y capacida<strong>de</strong>s)<br />

• <strong>de</strong> planes (relevancia, contexto, submetas)<br />

• <strong>de</strong> cre<strong>en</strong>cias y datos<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 46 -<br />

© CEUI, 7/Octubre/2010


Prometheus: Design Tool (PDT)<br />

Vista <strong>de</strong>l Sistema<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 47 -<br />

© CEUI, 7/Octubre/2010


Prometheus: Design Tool (PDT)<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 48 -<br />

© CEUI, 7/Octubre/2010


Prometheus Design Tool (PDT)<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 49 -<br />

© CEUI, 7/Octubre/2010


Otras metodologías…<br />

Hay muchas otras<br />

metodologías…<br />

Mas <strong>de</strong> 20 metodologías …<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 50 -<br />

© CEUI, 7/Octubre/2010


Otras metodologías …<br />

• Solución: evaluación y comparación <strong>en</strong>tre<br />

metodologías…<br />

• Evaluaciones bajo distintos <strong>en</strong>foques:<br />

– <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong> las etapas <strong>de</strong> la ing<strong>en</strong>iería<br />

<strong>de</strong> software<br />

– <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong> la teoría <strong>de</strong> ag<strong>en</strong>tes<br />

(arquitecturas) y sistemas basados <strong>en</strong> ag<strong>en</strong>tes<br />

– <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong> herrami<strong>en</strong>tas <strong>de</strong> apoyo: <strong>de</strong><br />

mo<strong>de</strong>lado, <strong>de</strong> chequeo, etc.<br />

– Etc.<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 51 -<br />

© CEUI, 7/Octubre/2010


Otras metodologías…<br />

• Sin embargo…<br />

• Muchas evaluaciones también…<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 52 -<br />

© CEUI, 7/Octubre/2010


AOSE: problema<br />

“One of the most fundam<strong>en</strong>tal obstacles to<br />

large-scale take-up of ag<strong>en</strong>t technology is the<br />

lack of mature software <strong>de</strong>velopm<strong>en</strong>t<br />

methodologies for ag<strong>en</strong>t-based systems.”<br />

Luck, M., McBurney, P., & Preist, C. (Eds.). (2003). Ag<strong>en</strong>t<br />

Technology: Enabling Next G<strong>en</strong>eration Computing. A Roadmap<br />

for Ag<strong>en</strong>t Based Computing. http://www.ag<strong>en</strong>tlink.org/.<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 53 -<br />

© CEUI, 7/Octubre/2010


AOSE: estado actual<br />

• Se está realizando mucho trabajo asociado a<br />

contar con herrami<strong>en</strong>tas, mo<strong>de</strong>los, medios <strong>de</strong><br />

verificación, etc. que facilit<strong>en</strong> la creación y<br />

<strong>de</strong>sarrollo <strong>de</strong> software….<br />

• Pero ¡<strong>de</strong> software basado <strong>en</strong> ag<strong>en</strong>tes!<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 54 -<br />

© CEUI, 7/Octubre/2010


Aspectos tecnológicos para<br />

construir una solución


• Uso <strong>de</strong> estándares <strong>en</strong> l<strong>en</strong>guajes <strong>de</strong><br />

comunicación (ACL): KQML y FIPA-ACL<br />

• Protocolos <strong>de</strong> interacción<br />

• Repres<strong>en</strong>tación <strong>de</strong> conocimi<strong>en</strong>to<br />

Estándares<br />

– Manejo <strong>de</strong> ontologías, l<strong>en</strong>guajes <strong>de</strong> repres<strong>en</strong>tación<br />

RDF (Resource Description Framework),<br />

– DAML+OIL (DARPA´s Ag<strong>en</strong>t Markup language+<br />

Ontology Infer<strong>en</strong>ce Layer)<br />

– Etc.<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 56 -<br />

© CEUI, 7/Octubre/2010


Tecnologías<br />

• Exist<strong>en</strong> metodologías <strong>de</strong> diseño<br />

– AUML, GAIA, Casiopea, Vowels, etc.<br />

• Herrami<strong>en</strong>tas <strong>de</strong> <strong>de</strong>sarrollo<br />

– JADE, ZEUS, FIPA OS, etc.<br />

– Incluy<strong>en</strong> mecanismos <strong>de</strong> interacción<br />

• L<strong>en</strong>guajes Ori<strong>en</strong>tados a Ag<strong>en</strong>tes<br />

– Ag<strong>en</strong>t-0, Ag<strong>en</strong>t-K, dMARS, etc.<br />

• Estándares <strong>de</strong> comunicación<br />

– KQML, KIF, FIPA<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 57 -<br />

© CEUI, 7/Octubre/2010


Conclusiones


Los <strong>Sistemas</strong> <strong>Basados</strong> <strong>en</strong> Ag<strong>en</strong>tes<br />

están aquí para quedarse y hay<br />

mucho que Conclusiones<br />

hacer con ellos….


Gracias por su at<strong>en</strong>ción


Refer<strong>en</strong>cias<br />

• AOSE Libros:<br />

– Padgham L., Winikoff M. “Developing Intellig<strong>en</strong>t Ag<strong>en</strong>t Systems: A Practical Gui<strong>de</strong>”. June<br />

2004, John Wiley and Sons.<br />

– Sellers H., Giorgini P. (Editors) “Ag<strong>en</strong>t-Ori<strong>en</strong>ted Methodologies”, edited by, I<strong>de</strong>a Group,<br />

2005.<br />

• Workshops<br />

– Ag<strong>en</strong>t Ori<strong>en</strong>ted <strong>Software</strong> Engineering Workshop (<strong>de</strong>s<strong>de</strong> 2000)<br />

– Ag<strong>en</strong>t-Ori<strong>en</strong>ted Information Systems (AOIS.org, <strong>de</strong>s<strong>de</strong> 1999)<br />

• Artículos<br />

– J<strong>en</strong>nings N.R., "Ag<strong>en</strong>t-Ori<strong>en</strong>ted <strong>Software</strong> Engineering" Proc. 12th Int Conf on Industrial and<br />

Engineering Applications of AI, Cairo, Egypt, 4-10. (Invited paper) [Also appearing in Proc.<br />

9th European Workshop on Mo<strong>de</strong>lling Autonomous Ag<strong>en</strong>ts in a Multi-Ag<strong>en</strong>t World<br />

(MAAMAW-99), Val<strong>en</strong>cia , Spain 1-7 (Invited paper), 1999.<br />

– Zambonelli F., J<strong>en</strong>nings N.R., Omicini A., Wooldridge M. "Ag<strong>en</strong>t-Ori<strong>en</strong>ted <strong>Software</strong><br />

Engineering for Internet Applications" in Coordination of Internet Ag<strong>en</strong>ts (eds. A. Omicini, F.<br />

Zambonelli, M. Klusch and R. Tolksdorf) Springer Verlag, 326-346. 2001.<br />

– Chor<strong>en</strong> R., Garcia A., Luc<strong>en</strong>a C.,Ramonovsky A. (editors) “<strong>Software</strong> Engineering for Multi-<br />

Ag<strong>en</strong>t Systems III: Research Issues and Practical Applications, Springer Verlag, 213-235.<br />

2005<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 61 -<br />

© CEUI, 7/Octubre/2010


Refer<strong>en</strong>cias<br />

• PROMETHEUS<br />

– Padgham L., Winikoff M., Prometheus: A Pragmatic Methodology for Engineering<br />

Intellig<strong>en</strong>t Ag<strong>en</strong>ts In the proceedings of the workshop on Ag<strong>en</strong>t-ori<strong>en</strong>ted<br />

methodologies at OOPSLA 2002. November 4, 2002, Seattle.<br />

– Padgham L., Winikoff M., “Prometheus: A Practical Ag<strong>en</strong>t-Ori<strong>en</strong>ted<br />

Methodology”. Chapter 5 in Ag<strong>en</strong>t-Ori<strong>en</strong>ted Methodologies, edited by B.<br />

H<strong>en</strong><strong>de</strong>rson-Sellers and P.Giorgini, I<strong>de</strong>a Group, 2005.<br />

• Evaluaciones <strong>de</strong> AOSE<br />

– Hoa-Dam K. “Evaluating and Comparing Ag<strong>en</strong>t-Ori<strong>en</strong>ted <strong>Software</strong> Engineering<br />

Methodologies”. Master of Applied Sci<strong>en</strong>ce in Information Technology, RMIT<br />

University, Australia, 2003.<br />

– Sturm A., Shehory O. “A framework for Evaluating Ag<strong>en</strong>t-Ori<strong>en</strong>ted<br />

Methodologies” Workshop on Ag<strong>en</strong>t-Ori<strong>en</strong>ted Information System (AOIS),<br />

Melbourne, Australia, July 14, 2003<br />

– Comparing Ag<strong>en</strong>t-Ori<strong>en</strong>ted Methodologies, Lecture Notes in Computer Sci<strong>en</strong>ce,<br />

Springer, 2004<br />

– Giorgini P., Kolp M., Mylopoulos J. “Multi-Ag<strong>en</strong>t and <strong>Software</strong> Architectures: A<br />

Comparative Case Study”. In the 1st International Confer<strong>en</strong>ce on Autonomous<br />

Ag<strong>en</strong>t and Multi Ag<strong>en</strong>t Systems (AAMAS'02). Bologna, Italy, July 2002.<br />

– Bernon C., Coss<strong>en</strong>tino M., Gleizes M., Turci P., Zambonelli F. "A study of some<br />

multi-ag<strong>en</strong>t metamo<strong>de</strong>ls", In: Ag<strong>en</strong>t-Ori<strong>en</strong>ted <strong>Software</strong> Engineering Workshop<br />

(AOSE'04), New York (USA) (2004) 12", year = "2004",<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 62 -<br />

© CEUI, 7/Octubre/2010


Refer<strong>en</strong>cias<br />

• Clásicos y obligados<br />

– Bond, A. H., & Gasser, L. (Eds.). (1988b). Readings in Distributed Arti¯ cial<br />

Intellig<strong>en</strong>ce. Morgan Kaufmann Publishers: San Mateo, CA.<br />

– Durfee, E. H., Lesser, V. R., & Corkill, D. D. (1989). Tr<strong>en</strong>ds in cooperative<br />

distributed problem solvers. IEEE Transactions on Knowledge and Data<br />

Engineering, 1, 63-83.<br />

– Huhns, M., & Singh, M. P. (Eds.). (1997). Readings in Ag<strong>en</strong>ts. Morgan Kaufmann<br />

Publishers: San Mateo, CA.<br />

– Moulin, B., & Chaib-Draa, B. (1996). An overview of distributed artitificial<br />

intellig<strong>en</strong>ce. In O'Hare, & J<strong>en</strong>nings (O'Hare & J<strong>en</strong>nings, 1996), Chapter 1, pp. 3-<br />

55.<br />

– Wooldridge, M., & J<strong>en</strong>nings, N. R. (1995). Intellig<strong>en</strong>t ag<strong>en</strong>ts: Theory and<br />

practice. The Knowledge Engineering Review, 10 (2), 114-152.<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 63 -<br />

© CEUI, 7/Octubre/2010


Refer<strong>en</strong>cias<br />

• Libros <strong>de</strong>l área<br />

– O'Hare, G. M. P., & J<strong>en</strong>nings, N. R. (Eds.). (1996). Foundations of Distributed Artificial<br />

Intellig<strong>en</strong>ce. John Wiley & Son, Inc. New York, NY.<br />

– Weiss, G. (Ed.). (1999). Multiag<strong>en</strong>t Systems: A Mo<strong>de</strong>rn Approach To Distributed<br />

Artificial Intellig<strong>en</strong>ce. The MIT Press: Cambridge, MA.<br />

– Wooldridge, M. (2001). An Introduction to Multiag<strong>en</strong>t Systems. John Wiley & Sons Ltd:<br />

Chichester, England.<br />

• Artículos:<br />

– Luck, M., McBurney, P., & Preist, C. (Eds.). (2003). Ag<strong>en</strong>t Technology: Enabling Next<br />

G<strong>en</strong>eration Computing. A Roadmap for Ag<strong>en</strong>t Based Computing. (Version 1.0).<br />

http://www.ag<strong>en</strong>tlink.org/.<br />

– J<strong>en</strong>nings, N. R. (2001). An ag<strong>en</strong>t-based approach for building complex software<br />

systems. Communications of the ACM, 44 (4), 35-41.<br />

– Lesser, R. V. (1999). Cooperative multiag<strong>en</strong>t systems: a personal view of the state of<br />

the art. IEEE Transactions On Knowledge and Data Engineering, 11 (1), 133-142.<br />

– Lesser, V. R. (1998). Reflections of the nature of multi-ag<strong>en</strong>t coordination and its<br />

implications for an ag<strong>en</strong>t architecture. Autonomous Ag<strong>en</strong>ts and Multi-Ag<strong>en</strong>t Systems, 1<br />

(1), 89-111.<br />

CB Excel<strong>en</strong>te-Toledo<br />

- 64 -<br />

© CEUI, 7/Octubre/2010

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!