Anda di halaman 1dari 69

Computacin Orientada a Agentes o

Juan A. Bot a
Departamento de Ingenier de la Informacin y las Comunicaciones a o Universidad de Murcia

5o Curso, Ing. Superior en Informtica a

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

1 / 68

1 2 3 4

Introduccin o Jason JADEX INGENIAS IDK La metodolog INGENIAS a Modelado de conceptos t picos de agentes INGENIAS Meta-modelo de Tareas y Objetivos Meta-modelo de Interacciones Meta-modelo de agente Anlisis y diseo en INGENIAS a n

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

2 / 68

Computacin orientada a agentes o

Qu es AOC? e La computacin orientada a agentes comprende una losof de resolver o a problemas computacionales basados en la idea de autonom y la metfora a a de agente para modelar soluciones a problemas complejos. El concepto es tremendamente amplio por lo que vamos a ver dos losof muy similares aunque diferentes as Jason 3APL

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

3 / 68

La plataforma Jason

Qu es Jason? e Es un intrprete del lenguaje AgentSpeak, mediante el cual podemos prograe mar sistemas multi-agente y ejecutarlos en la red, de manera interpretada. Y qu es AgentSpeak? e Es un lenguaje basado en lgica y orientado a la programacin de agentes o o reactivos que hacen uso de planes y que hacen uso del modelo BDI para la arquitectura de los agentes y la lgica BDI. o

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

4 / 68

Agentes BDI de nuevo

Los agentes BDI tienen tres diferentes tipos de estados (actitudes mentales) Informativos: creencias Motivacionales: deseos (en donde los goals son deseos alcanzables) Deliberativos: intenciones (siguiendo a Bratman, las intenciones son planes parciales que el agente se ha comprometido a ejecutar) y estos son cr ticos para un correcto funcionamiento en condiciones de recursos limitados

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

5 / 68

Por qu esta aproximacin al desarrollo de sistemas e o software?


Las siguientes condiciones las exhiben muchos sistemas complejos
1

En todo instante de tiempo, el entorno puede cambiar de muchas formas diferentes (indeterminismo) En cualquier instante de tiempo, el sistema puede tomar diferentes actuaciones (indeterminismo en el sistema) En cualquier instante de tiempo, el sistema puede tener mltiples u objetivos que cumplir Las acciones que el sistema debe seleccionar para ejecutar dependen solamente del entorno y no del estado del propio sistema La frecuencia a la que el entorno cambia es comparable a la que se usa para realizar clculos o ejecutar acciones (i.e. es posible que a mientras se delibera, el entorno cambie)

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

6 / 68

Cmo instrumentar un mecanismo de decisin apropiado o o para estas condiciones?


La base fundamental es la lgica modal o Estudia el comportamiento deductivo de expresiones que incluyen necesariamente y posiblemente. Ejemplo [?]: mientras escrib la tesis el partido que gobernaba en a Espaa era el PP n se reere a una sentencia con una verdad circunstancial que, en otro momento, podr ser perfectamente falsa. Por otro lado a la raiz cuadrada de 2 no es un nmero racional u es una verdad necesaria, en el pasado, presente o futuro.

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

7 / 68

Una breve introduccin a lgica modal o o


Articulada mediante la teor de los mundos posibles a El juego de las siete y media
Si nuestro agente tiene un Aa (i.e. el agente tiene esto como creencia), cmo podr o amos deducir qu cartas tiene el otro agente? e
Podr amos escribir cada combinacin de cartas posible en un trozo de o papel Usando la informacin de que dispone el agente, eliminar aquellas en o a las que aparece el As que ya tiene Si llamamos mundo a cada uno de esos trozos de papel, cada uno es un posible estado de las cosas, dadas las creencias del agente

Algo que es verdad en cada uno de los mundos posibles, entonces forma parte de las creencias del agente (i.e. que tiene un As) Algo que es posible (i.e. solo se encuentra en alguno de los mundos) se dice que es probable

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

8 / 68

Una breve introduccin a lgica modal (y II) o o


La lgica modal de Kripke o Los s mbolos incluyen para la negacin, para la implicacin, o o para el operador de necesidad y para el de posibilidad Una lgica modal est asociada con valores de verdad en los mundos o a posibles
Si algo ocurren en todos los mundos, es necesario (e.g. Siempre habr a cielo y tierra) Si algo ocurre en alguno, es posible (e.g. Es posible que volemos a Jpiter) u

Para interpretar frmulas necesitamos o


un conjunto de mundos W y una relacin binaria RW W que indica los o mundos que son posibles a partir de otros mundos y que se denomina de accesibilidad. una interpretacin que asigne signicados a proposiciones y predicados o bsicos a

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

9 / 68

Un ejemplo
Sea W = {m1 , m2 , m3 , m4 , m5 , m6 } y las proposiciones bsicas p, q, r , s a con los signicados y la funcin de accesibilidad representada en el grafo o

Mundo m1 m2 m3 m4 m5 m6

p v f v f v v

q v v f v v f

r f v f v v v

s v f f f v v

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

10 / 68

Un ejemplo (y II)
Ahora, si se tienen las siguientes frmulas o A: p (q r ), (p r )

B : q s En m1

p es falsa ya que lo es en m2 , accesible desde m1 . Por tanto, A es verdadera q es verdadera ya que q es verdadera en alguno de los mundos de W accesibles desde m1 con lo que q s tambin lo es e Como p s es falsa en m1 , el consecuente es falso con lo que B es falsa.

En m6 , como solo m6 es accesible, la interpretacin se realiza como o en clculo proposicional a


p es verdadera, q r tambin, por tanto A tambin e e Similar para B
Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y SMASA 11 / 68

Un ejemplo (y III)

Finalmente tenemos que

Mundo m1 m2 m3 m4 m5 m6

p f f v f v v

q v v f v v f

s f f f f f v

(q r ) v v v v v v

(p r ) f f f v v v

A v v v v v v

B f f v v v v

Ver ejemplo en el libro de Cuena [1]

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

12 / 68

Cmo modelar los m1 , m2 , . . . , mn ? o


Vamos a usar rboles temporales, en donde cada nodo es un instante de a tiempo (i.e. una situacin) que puede desdoblarse en el instante de tiempo o siguiente mediante ramas a ms nodos a
Dado un nodo, una accin ejecutada por o el agente transformar una situacin en a o otra Las ramicaciones en un nodo equivalen a posibles opciones del agente a ejecutar en ese instante Ejemplo p: es posible que Juan visite Londrs e eventualmente, i.e. p r : es posible que Sonia siempre viva en Madrid, i.e. r q: es inevitable que el Madrid eventualmente ganar la dcima, i.e. a e q s: es inevitable que dos y dos sern a siempre 4, i.e. s
SMASA 13 / 68

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

Tres tipos de mundos para tres nociones mentales


Modelado de Creencias (B) A cada situacin se asocia un o conjunto de mundos accesibles mediante creencias (i.e. mundos que el agente cree que pueden ser posibles) Modelado de Deseso (D) en forma de goals A cada situacin se asocia un o conjunto de mundos accesibles mediante objetivos Representan objetivos alcanzables y consistentes entre s Se exige que por cada mundo posible accesible mediante creencias, exista uno contenido en l accesible mediante objetivos e
SMASA 14 / 68

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

Tres tipos de mundos para tres nociones mentales (y II)

Modelado de Intenciones (I) Las intenciones son objetivos que el agente se ha comprometido a intentar cumplir Al igual que ocurren con creencias y goals, para cada mundo posible accesible mediante objetivos w en el instante t, existe un submundo de w en ese mismo instante, accesible por intenciones (i.e. el agente se compromete a ejecutar un curso de acciones) OJO: en la relacin submundo, tanto los objetivos como las o intenciones deben ser consistentes, sin embargo, no tienen por qu e ajustarse exactamente a las creencias del mundo posible alcanzable por creencias del que derivan

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

15 / 68

Tres tipos de mundos para tres nociones mentales (y III)


Recibir un empaste f , duele siempre, p. As si se quiere empastar una , muela en un dentista d1 u otro d2 , se experimente dolor (tambin e podemos ir de compras, b). Aunque no necesariamente vamos a ir al dentista con la intencin de sufrir dolor (ver [3]). o

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

16 / 68

Cmo habilitar mecanismos de decisin? o o


Supongamos un ejemplo (un senador debe decidir si realizar consulta popular para dejar su ayuntamiento, Rep, y pasar a optar al senado, Sen o bien retirarse, Ret1 ) Cada nodo reeja un estado del mundo y cada arco una accin o tomada por el agente o un evento ocurrido Nodos de decisin: aquellos de o los que parten arcos con acciones Nodos de posibilidad: aquellos de los que parten arcos de eventos
1 Aunque retirarse no lo considera seriamente ya que conf en conservar su puesto a (i.e. retirarse es una opcin pero no tiene intencin de hacerlo) o o SMASA 17 / 68

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

Cmo habilitar mecanismos de decisin? o o


Deber amos transforma ese rbol en una representacin equivalente que a o Tuviera en cuenta, por separado, creencias, deseos e intenciones
Creencias: mediante un conjunto de mundos posibles que el agente cree posibles (se asocia una distribucin de probabilidad al conjunto) o Deseos: mediante un conjunto de mundos posibles que el agente desear alcanzar (se asocia un benecio a cada opcin) a o Intenciones: mediante un conjunto de mundos posibles que el agente se compromete a alcanzar (se escogen aquellos cjtos. de acciones ms a prometedores)

Para B, D e I, deberiamos poder representar relaciones de accesibilidad entre los mundos posibles Si es posible, tenga en cuenta las condiciones (1) y (2) del entorno Procedimiento (consultar [2, 4])

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

18 / 68

Mundos posibles para D

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

19 / 68

Mundos posibles para B, D e I

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

20 / 68

Cmo enlazar esto con la lgica modal? o o

Depender de la plataforma! a

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

21 / 68

Modelo de agente en Jason

Para el programador, est compuesto de a Un conjunto de creencias


Hechos bsicos (i.e. ground facts) expresados en lgica de predicados a o de primer orden

Un conjunto de objetivos (de cumplimiento, ! y de test, ?) Una librer de planes a Un conjunto de eventos (reejan cambios en las creencias o disparan un determinado plan) Un conjunto de intenciones Los tres ultimos gestionados mediante funciones de seleccin, SO , SE SI o

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

22 / 68

La arquitectura de un agente Jason

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

23 / 68

Algunas nociones sobre la semntica formal del lenguaje de a programacin o


Est expresada mediante semntica operacional a a Usada en el contexto de los intrpretes (vs. traductores) e Basada en reglas que traducen unas expresiones del lenguaje en otras ms sencillas (en Jason, se pasa de una conguracin a otra) a o Una conguracin es una qu o ntupla ag , C , M, T , s donde ag es un agente compuesto por un cjto. de creencias y planes C es la circunstancia del agente, estructurado en I , E , A
I es un cjto. de intenciones {i, i , . . .} en donde cada i es una pila de planes a ejecutar E es un cjto. de eventos {(te, i), (te , i ), . . .} que se generan como resultado de las operaciones que la funcin de revisin de creencias o o realiza (aadir o quitar eventos, i para evento interno, para externo) n A es un conjunto de acciones a ejecutar en el entorno

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

24 / 68

Algunas nociones sobre la semntica formal del lenguaje de a programacin (y II) o


Seguimos con la denicin de ag , C , M, T , s o M es In, Out, SI donde
In incluye todos los mensajes mid, id, ilf , cnt enviados a este agente Out incluye todos los mensajes mid, id, ilf , cnt listos para enviar a otros agentes SI almacena las intenciones suspendidas a la espera de contestacin o

T es la tupla R, Ap, i, , donde


R es un conjunto de planes relevantes para el evento actual Ap es el conjunto de planes aplicables en ese momento i, y almacenan la intencin, evento y plan actuales o

s es el paso de ejecucin actual, uno entre: procesar mensaje del o buzn (ProcMsg ), seleccionar evento (SelEv ), recuperar planes o relevantes (RelPl), chequear cules son aplicables (AppPl), a seleccionar un plan aplicable (SelAppl), aadirlo al conjunto de n intenciones (AddIM), seleccionar una intencin (SelInt), ejecutarla o (ExecInt) y eliminar la intencin cumplida (ClrInt) o
SMASA 25 / 68

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

El ciclo de razonamiento de un agente Jason

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

26 / 68

Seleccionar intenciones
Si existen intenciones Ci = {} SI (CI ) = i ag , C , M, T , SelInt ag , C , M, T , ExecInt en dondeTi = i, y hacemos uso de SI para seleccionar la siguiente intencin. o Si no existen intenciones que acometer Ci = {} , ag , C , M, T , SelInt ag , C , M, T , ProcMsg con lo que se reinicia el ciclo de razonamiento.

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

27 / 68

Ejecucin del cuerpo de un plan o

Existen varias formas de ejecutar planes. El plan a ejecutar siempre est en a la cima de la pila de la intencin actual o Un goal de cumplimiento Ti = i[head !at; h] ag , C , M, T , ExecInt ag , C , M, T , ProcMsg

donde CE CI

= CE { +!at, i[head h] } = CI {Ti }

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

28 / 68

Ejecucin del cuerpo de un plan (y II) o

Actualizacin de una creencia o Ti = i[head +b; h] ag , C , M, T , ExecInt ag , C , M, T , s

donde agbs CE CI s

= agbs + b[source(self )] = CE { +b[source(self )], } = (CI {Ti }) {i[head h]} ClrInt if h = = ProcMsg sino

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

29 / 68

Qu es JADEX e

JADEX Es un motor de razonamiento automtico orientado a agentes, el cual se a programa usando Java y XML y se asienta sobre middlewares como pueden ser J2EE o JADE. Caracter sticias principales Los agentes son BDI Utiliza razonamiento prctico (means-ends reasoning) para actuar a frente a mensajes entrantes, eventos internos y objetivos En paralelo, lleva a cabo un proceso deliberativo cont nuo sobre sus deseos para generar intenciones

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

30 / 68

Arquitectura abstracta de un agente JADEX

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

31 / 68

La base de creencias

La base de datos de creencias es el elemento que almacena las creencias del agente y a travs del cual se acceden a las mismas e Las creencias del agente se acceden mediante strings, i.e. claves primarias en una base de datos relacionas Cada creencia es un hecho, que al nal se convierte en un objeto Java Hay dos tipos de creencias: hechos simples y cjtos. de hechos Sobre la base de creencias existen facilidades de consulta (OQL like) Es posible denir triggers para activar planes u objetivos cuando una creencia cambia

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

32 / 68

Objetivos en JADEX

En JADEX, los goals son elementos principales. Para cada objetivo, el agente ejecutar acciones apropiadas, a orientadas a su consecucin y solo dejar de hacerlo cuando bien se o a ha cumplido bien se detecta que no puede cumplirse o bien cuando se pierde el inters e Cuatro tipos de goals
Perform goal: algo que debe hacerse, sin resultado necesario Achieve goal: descrita mediante un estado a alcanzar sin decir cmo o (un procedo deliberativo lo decidir) a Query goal: usada para adquirir informacin necesaria o Maintain goal: un estado que deber mantenerse una vez que se llega a a l e

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

33 / 68

Ciclo de vida de los objetivos

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

34 / 68

Planes en JADEX

Los planes en JADEX se usan para responder a eventos y cumplir objetivos. Compuestos por Head: el conjunto de expresiones que se han de hacer ciertas para ejecutar el plan Body: las acciones que el plan ha de ejecutar. 100% Java
Puede lanzar ms objetivos a cumplir a Esperar a que ocurra determinado evento

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

35 / 68

Modelo de ejecucin de agente (ver [?]) o

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

36 / 68

Modos de funcionamiento

JADEX puede funcionar con varios middlewares. En su versin 0.96, puede o funcionar De manera independiente (i.e. standalone)
Ejecucin rpida o a Uso de memoria optimizado Cdigo 100% + JADEX o

Haciendo uso de JADE para las comunicaciones y servicios bsicos a (i.e. a modo de middleware)
Agentes FIPA podemos reusar cdigo existente o Uso de ontolog mediante Protg as e e Lenguajes de contenido

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

37 / 68

Herramientas disponibles

JADEX viene con varias herramientas que ayudarn en el desarrollo a

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

38 / 68

Conclusiones iniciales

Hasta ahora, hemos visto como construir sistemas de agentes artesanalmente


Poca productividad Curva de aprendizaje muy elevada

Podemos poner el nfasis en la productividad manteniendo la e metfora? a


Podemos hacer uso de metodolog as Podemos disear con meta-modelos n Hasta disponemos de IDEs con esos meta-modelos integrados (IDK)

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

39 / 68

Construyendo sistemas multi-agente

Una metodolog de desarrollo de software est compuesta de a a Un lenguaje de modelado para realizar el diseo n Un proceso software que dene las actividades de desarrollo y sus interrelaciones Qu podemos encontrar para desarrollo de SMA? e Metodolog de anlisis y diseo (e.g. GAIA) as a n Metodolog de anlisis, diseo e implementacin (Tropos, MASE, as a n o INGENIAS, MAS-CommonKADS) Lenguajes de modelado per se (AUML, UML 2.0)

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

40 / 68

INGENIAS

INGENIAS extiende la ingenier OO con conceptos del rea de los agentes a a software Diseo basado en la especicacin de models n o
1 2 3 4 5

Agente Organizacin o Dominio Tareas & objetivos Interacciones

Mtodo de desarrollo: RUP (Rational Unied Process) e

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

41 / 68

Recordatorio sobre RUP2

Los principales objetivos que se pretend conseguir al crear el RUP eran an Adaptar el proceso de desarrollo (i.e. se introducen plantillas) Colaboracin entre diferentes equipos o Medir el progreso en cada release (i.e. demonstrar el valor en cada iteracin) o Elevar el nivel de abstraccin (de el cdigo propio a los patrones de o o software) Tener en cuenta la calidad durante todo el proyecto (i.e. testing)

www.wikipedia.org
SMASA 42 / 68

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

Recordatorio sobre RUP (y II)

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

43 / 68

INGENIAS, metamodelado
En INGENIAS, SMA = Magente + Minteraccion + Mentorno + Mobjetivos + Morganizacion

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

44 / 68

Meta-modelo de Tareas y Objetivos3


Este modelo expresa la motivacin tras las tareas y qu alternativas de o e actuacin tiene cada agente o Las organizaciones y los agentes, como entidades autnomas, o persiguen objetivos Los roles tambin, aunque mediante e otro tipo de relacin derivada de los o ujos de trabajo (WF) Las tareas afectan a entidades mentales (del agente que ejecuta la tarea) luego pueden hacer ciertos a los objetivos
3

http://grasia.fdi.ucm.es/ingenias/Spain/lenguaje/mtareas.htm
SMASA 45 / 68

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

Las tareas y los objetivos se descomponen

Tanto los objetivos como las tareas se descomponen en subobjetivos y subtareas, respectivamente Las relaciones de dependencia entre objetivos forman rboles Y/O a

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

46 / 68

Descripcin de tareas o

Las tareas se describen mediante precondiciones (i.e. WFConsume, WFUsa, GTAfecta) y postcondiciones (i.e. WFProduce, GTAfecta) No se ejecutarn aquellas tareas que a no satisfagan las precondiciones

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

47 / 68

Un ejemplo
El ejemplo utilizado es el modelado de un agente planicador de tareas. El agente sabe ejecutar dos tipos de tareas: tarea A y tarea B. De la utilizacin de stas depende que se alcance el objetivo O o e

Modelo de agente

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

48 / 68

Un ejemplo (y II)
Las tareas simplemente generan hechos nuevos

Modelo de tareas

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

49 / 68

Para alcanzar el objetivo O, se ejecutan A y B

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

50 / 68

Interdependencias con otros modelos

Todas las tareas que aparecen en un modelo de tareas y objetivos tambin deben aparecer en algn modelo de e u agente o en algn modelo de organizacin. u o Todo objetivo que aparezca en un modelo de tareas y objetivos debe aparecer en un modelo de agente o en un modelo de organizacin. o Si una tarea produce una interaccin, debe existir un o modelo de organizacin donde se enmarque esta tarea o dentro de un ujo de trabajo Cuando los resultados de una tarea se necesiten en otra, se entiende que se tiene un ujo de trabajo. Por lo tanto, debe crearse una nueva entidad ujo de trabajo en un modelo de organizacin y especicar all cmo se o o conectan las tareas. Todo recurso que aparece en este modelo debe aparecer en un modelo de entorno. Las entidades mentales consumidas, producidas, modicadas o destruidas deben pertenecer al estado mental del agente ejecutor

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

51 / 68

Las Interacciones en INGENIAS


Qu es una interaccin? e o Es una especicacin sobre conversaciones que pueden mantener un grupo o de agentes o un agente con un elemento del entorno, destinada a la realizacin de una tarea concreta. o A destacar sobre las interacciones No se tratan de la misma forma en todas las metodolog (GAIA, as MAS-CommonKADS, etc) Independientemente de la metodolog disponemos de estndares a, a tipo KQML o ACL-FIPA INGENIAS modela las interacciones a ms alto nivel, pudindose a e instanciar posteriormente a ACLs concretos

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

52 / 68

La especicacin de una interaccin debe cubrir o o


las siguientes informaciones Los actores que participan (mostrar por qu est participando en la e a interaccin, i.e. agente racional) o La denicin de unidades de interaccin (e.g. puede ser tan simple o o como un paso de mensaje o tan compleja como un mensaje activo) Un orden sobre las unidades de interaccin (i.e. un protocolo o estndar) a Acciones ejecutadas en la interaccin mediante o
Criterios para decidir cundo ejecutar una tarea (no es suciente con a que alguien lo solicite) Consecuencias de la ejecucin de una tarea (se esperan cambios en el o estado mental del agente)

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

53 / 68

Materializacin de interacciones dependiendo de la o tecnolog subyacente a


Al denir las unidades de interaccin o Si usamos mensajes, se denen el nmero y contenido de sus u parmetros a Si usamos objetos, denimos tipo y valor de los argumentos de la llamada Si tenemos un espacio de tuplas (e.g. Linda), qu informacin se e o debe dejar en el espacio compartido y cmo esta informacin debe ser o o le por los colaboradores da Al construir los protocolos Arquitectura de pizarra En la prctica se usa ms el modelo FIPA (paso as a a ncrono de mensajes ACL) Paradigmas cliente servidor (CORBA, DCOM o RMI)
Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y SMASA 54 / 68

Panorama general
Se construye sobre agentes, roles, objetivos, interacciones y unidades de interaccin o Los agentes y roles son los actores de las interacciones En las interacciones se ejecutan unidades de interaccin (pasos o de mensaje, lectura y escritura en un espacio de tuplas) Hay un iniciador y colaboradores La participacin de los actores o en la interaccin y la existencia o de la interaccin en s se o justica mediante objetivos
SMASA 55 / 68

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

Naturaleza de las interacciones

La naturaleza de la interaccin o dene qu proceso coordinador e se est llevando a cabo entre los a agentes participantes Segn su naturaleza, debern u a aparecer unos elementos u otros en el modelo (e.g. si se est a negociando, el bien sobre el que se negocia)

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

56 / 68

Meta-modelo de interaccin o

La relacin IPersigue o representa la motivacin de la o interaccin o Los actores se indican mediante WFPersigue y GTPersigue La naturaleza se incluye como una propiedad y la especicacin o es un conjunto de relaciones, objetos y roles (i.e. tipo Graph)

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

57 / 68

Anlisis en INGENIAS a
Un ejemplo ilustrativo basado en un sistema recomendador de documentos Los documentos se evalan segn los gustos de los usuarios u u Los documentos llegan a la comunidad de usuarios desde fuera y se evalan u En una primera tarea de anlisis identicaremos requisitos mediante casos a de uso y luego pasamos al diseo de n Objetivos, identicados por los requisitos Tareas, que son procedimientos para satisfacer objetivos Roles, que denen servicios determinados por las tareas y responsabilidades Asignamos objetivos de la organizacin a los roles denidos o Denimos workows: relaciones entre tareas, roles y recursos Interacciones, para modelar cmo se comunican los roles o Agentes, que desempean unos roles determinados n
Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y SMASA 58 / 68

De los casos de uso a los objetivos en la organizacin o

Los casos de uso se emplean como usualmente, los actores sern roles posteriormente a El sistema multi-agente es una organizacin o Por cada caso de uso se organizan objetivos a cumplir en la organizacin que es el SMA o

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

59 / 68

Modelado de objetivos jerrquicamente a

Los objetivos se descomponen hasta que son realizables mediante una tarea As cada objetivo ms pequeo , a n tendr una tarea asociada a dentro del modelo (o un ujo de tareas como en este caso)

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

60 / 68

Modelo de objetivos para satisfacer tareas

Un objetivo se puede satisfacer mediante un ujo de tareas complejo, o bien directamente por una tarea Un workow no es ms que la a descomposicin de una tarea en o tareas ms simples a En el workow se deber indicar a cmo se van modicando los o datos de tarea en tarea

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

61 / 68

Asignacin de roles a las tareas o

Un rol puede verse como un conjunto de servicios relacionados, junto con un conjunto de responsibilidades Indicamos los servicios de esta forma

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

62 / 68

Asignacin de roles a objetivos, dentro de la organizacin o o

En el modelado puede resultar util crear grupos dentro de la organizacin o Luego los grupos tendrn sus a respectivos roles Tambin los roles perseguirn e a objetivos, mediante el desempeo de tareas n

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

63 / 68

Workows

Denen relaciones entre tareas, roles y recursos En este ejemplo tenemos un recursos y varias tareas que se disponen a modo de ujo Tambin podemos indicar cmo e o evolucionan los datos de una tarea a otra, qu genera y e consume cada tarea

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

64 / 68

Las interacciones en el ejemplo


En un modelo INGENIAS, las interacciones denen el procedimiento mediante el cual los roles interaccionan (i.e. negocian, cooperan, etc.) Uno de los roles inicia la conversacin (IInitiates) y el otro u otros o responden (IColaborates) y siguen interaccionando (si procede) La naturaleza se incluye como una propiedad y la especicacin es un o conjunto de relaciones, objetos y roles (i.e. tipo Graph)

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

65 / 68

Luego hay que denir cada interaccion por separado

Una unidad de interaccin es o una comunicacin puntual o dentro del dilogo (i.e. en FIPA a es un acto comunicativo) Cada unidad de interaccin es o generada por un rol, recibida por otro y quizs, motivada por a una tarea Adems, existe un orden a (UIPrecedes) entre las unidades de interaccin o Podemos usar modelado AUML

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

66 / 68

Un modelo de agente simple

Los agentes aglutinan roles que desempean concurrentemente n Con el IDK veremos que hay varias maneras de implementar agentes Cada uno de ellos puede tener un conjunto de creencias inicial

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

67 / 68

En este caso, el diseo era dirigido por objetivos n

Hay otras posibilidades, dependiendo del problema Centrarse y comenzar con los workows
Cuando la organizacin est orientada a procesos o a

Centrarse en la coordinacin y las interacciones o


Cuando el problema es la denicin de un algoritmo distribuido o Sistemas cooperativos

Centrarse en el entorno
Sistemas empotrados Robtica o

Centrarse en los actores


Simulacin social o

Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y

SMASA

68 / 68

Jose Cuena. Lgica Informtica. o a Alianza Editorial, 1985. A. Rao and M. George. Deliberation and intentions. In Proceedings of 7th Conference on Uncertainity in Articial Intelligence, Los Angeles, 1991. Anand S. Rao and Michael P. George. Modeling rational agents within a BDI-architecture. In James Allen, Richard Fikes, and Erik Sandewall, editors, Proceedings of the 2nd International Conference on Principles of Knowledge Representation and Reasoning (KR91), pages 473484. Morgan Kaufmann publishers Inc.: San Mateo, CA, USA, 1991. Anand S. Rao and Michael P. George. Decision procedures for bdi logics. Journal of Logic and Computation 1998 8(3):293-343, 8(3):293343, 1998.
Juan A. Bot (Departamento de Ingenier de la Informacin on las Comunicaciones Universidad de Murcia) a a Computaci Orientada a Agentes o y SMASA 68 / 68