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