• No se han encontrado resultados

Modelo de aspectos sociales para herramientas colaborativas con tecnología multi-agente

N/A
N/A
Protected

Academic year: 2020

Share "Modelo de aspectos sociales para herramientas colaborativas con tecnología multi-agente"

Copied!
75
0
0

Texto completo

(1)

Modelo de Aspectos Sociales para

Herramientas Colaborativas con

Tecnología Multi-agente

TESIS

Que para obtener el grado de:

UNIVERSIDAD VERACRUZANA

FACULTAD DE ESTADÍSTICA E INFORMÁTICA

MAESTRO EN SISTEMAS INTERACTIVOS

CENTRADOS EN EL USUARIO

PRESENTA:

ELIZABETH MARTÍNEZ LÓPEZ

DIRECTORES

:

DRA. MARÍA DEL CARMEN MEZURA GODOY

DR. LUIS GERARDO MONTANÉ JIMENEZ

(2)

Xalapa, Veracruz, a 7 de Diciembre del 2015

Coordinación de la Maestría en Sistemas

Interactivos Centrados en el Usuario

PRESENTE

En mi carácter de Director del trabajo recepcional titulado:

“Modelo de aspectos sociales

para herramientas colaborativas con tecnología Multi-agente”

que presenta la

C.

Elizabeth Martínez López

, expongo que he revisado y que a mi juicio, cumple con todos

los requisitos metodológicos y de contenido, para que pueda ser evaluado por los sinodales

asignados y posteriormente sometido al examen de grado correspondiente a la Maestría en

Sistemas Interactivos Centrados en el Usuario de la Universidad Veracruzana.

Por lo antes expuesto, me permito emitir la presente carta de liberación del trabajo

recepcional, con la finalidad de que pueda llevarse a cabo la defensa del mismo.

(3)

Xalapa, Veracruz, a 7 de Diciembre del 2015

Dra. María Del Carmen Mezura Godoy

Coordinadora Maestría en Sistemas

Interactivos Centrados en el Usuario

PRESENTE

En mi carácter de Co-Director del trabajo recepcional titulado:

“Modelo de aspectos

sociales para herramientas colaborativas con tecnología Multi-agente”

que presenta la

C.

Elizabeth Martínez López

, expongo que he revisado y que a mi juicio, cumple con todos

los requisitos metodológicos y de contenido, para que pueda ser evaluado por los sinodales

asignados y posteriormente sometido al examen de grado correspondiente a la Maestría en

Sistemas Interactivos Centrados en el Usuario de la Universidad Veracruzana.

Por lo antes expuesto, me permito emitir la presente carta de liberación del trabajo

recepcional, con la finalidad de que pueda llevarse a cabo la defensa del mismo.

(4)
(5)
(6)
(7)

Resumen

Las herramientas colaborativas apoyan a los miembros de un grupo a al-canzar sus objetivos o metas comunes. En su implementaci´on estas herramientas cuentan con una interface, un n´ucleo funcional y un componente social. Este componente social permite establecer los aspectos sociales de la actividad de grupo tales como: participantes, interacciones, roles, objetos, reglas de trabajo, guiones para la realizaci´on de las actividades. Estos sistemas por la naturaleza de las actividades y la colaboraci´on entre sus miembros son sistemas complejos en su implementaci´on.

Para su implementaci´on existen modelos de actividad que permiten re-presentar una estructura en base a las tareas que deben realizar los usuarios del sistema, sin embargo estas tareas se realizan de manera muy din´amica y cambiante. Por ello, en este trabajo mostramos nuestra propuesta de imple-mentaci´on del componente social de herramientas colaborativas haciendo uso de la tecnolog´ıa multi-agente presentando un modelo de actividad basado en esta tecnolog´ıa. Tecnolog´ıa que con la noci´on de agentes cooperantes permite la distribuci´on y autonom´ıa de componentes de implementaci´on y la simulaci´on de sistemas.

(8)
(9)

Agradecimientos

Fueron muchas las personas que apoyaron en el proceso de este proyecto y quiero dar a cada una de ellas un sincero agradecimiento. En primer lugar quiero agradecer a Dios por guiarme y darme las fuerzas necesarias para poder culminar este sue˜no. A mi familia por su apoyo incondicional.

Especialmente agradezco a mi directora de Tesis la Dra. Mar´ıa del Carmen Mezura Godoy por su tiempo, apoyo y paciencia, al Dr. Edgard Iv´an Benitez Guerrero por sus consejos, de igual manera al Dr. Alejandro Guerra Hern´andez y el Dr. Luis Gerardo Montan´e Jimenez por su apoyo y asesor´ıa,a Jose Xavier y Jorge por su participaci´on en la construcci´on de este proyecto.

Si mencionar´a a cada uno de mis amigos que estuvieron al pendiente no terminar´ıa, as´ı que de manera general agradezco a cada uno de ellos, que se preo-cupaban por mi persona y se tomaban el tiempo para animarme y motivarme a seguir.

Sin cada uno de ellos este logr´o no hubiera sido posible, de coraz´on ¡mu-chas gracias!.

Este trabajo fue desarrollado con el apoyo del Consejo Nacional de Ciencia y Tecnolog´ıa (CONACYT), gracias a una beca de maestr´ıa (No. de becario 297479) y en el marco del proyecto de C´atedras CONACYT ¨Infraestructura para Agilizar el Desarrollo de Sistemas Centrados en el Usuario”(ref. 3053).

(10)
(11)

´

Indice general

Resumen 7

Agradecimientos 9

Lista de figuras 13

Lista de tablas 15

1. Introducci´on 17

1.1. Problema . . . 18

1.2. Objetivo . . . 18

1.3. Preguntas de Investigaci´on . . . 19

2. Estado del Arte 21 2.1. Sistemas Colaborativos (Groupware) . . . 21

2.1.1. Definici´on y Caracter´ısticas . . . 22

2.1.2. Clasificaci´on . . . 22

2.1.3. Ejemplos de Groupware . . . 24

2.2. Aspectos Sociales en actividades colaborativas . . . 31

2.3. Sistemas Multi-Agentes (SMA) . . . 33

2.3.1. Definici´on y Caracter´ısticas . . . 34

2.3.2. Modelos para la construcci´on de sistemas Multi-agentes . 35 2.4. Trabajos Relacionados . . . 43

3. Modelo MARS con Agentes: MARS-a 47 3.1. MARS-a . . . 48

3.1.1. Dimensi´on Agente . . . 48

3.1.2. Dimensi´on Entorno . . . 48

3.1.3. Dimensi´on Interacciones . . . 48

3.1.4. Dimensi´on Organizaci´on . . . 49

3.2. Arquitectura de un SG con Agentes . . . 49

4. Caso de Estudio: Videojuego Colaborativo 51 4.1. Instancia del caso de estudio con MARS . . . 52

4.2. Instancia del caso de estudio con MARS-a . . . 58

(12)

12 ´INDICE GENERAL

5. Prototipo 63

5.1. AISAC . . . 63 5.2. Arquitectura . . . 65 5.3. Componente Social basado en agentes . . . 66 5.4. Ventajas e inconvenientes de la integraci´on de tecnolog´ıa

Multi-agente . . . 68

(13)

´

Indice de figuras

2.1. Matriz espacio/temporal de Johansen modificada por Grudin [12]

para elaborar una variante de clasificaci´on de Groupware . . . . 24

2.2. Etherpad [13] . . . 25

2.3. Google Drive [14] . . . 25

2.4. writeLATEX [15] . . . 26

2.5. Assault Cube [16] . . . 26

2.6. Bonderlands [17] . . . 27

2.7. Combat Arms [18] . . . 28

2.8. Stixy [19] . . . 29

2.9. Project2Manage [20] . . . 29

2.10. TeamworkPM [21] . . . 30

2.11. Vyew [22] . . . 30

2.12. Dimdim [23] . . . 31

2.13. ShowDocument [24] . . . 31

2.14. Arquitectura gen´erica de una herramienta colaborativa regulada [5] . . . 32

2.15. Arquitectura de capas del Sistema Multi-Agente en Vowel Engi-neering [36] . . . 39

2.16. Visi´on general de JaCaMo [40] . . . 42

3.1. Arquitectura funcional para MARS-a . . . 49

4.1. Artefactos de la actividad Colaborativa . . . 59

5.1. Interfaz de informaci´on general de AISAC . . . 64

5.2. Interfaz de informaci´on de usuario en AISAC . . . 64

5.3. Arquitectura Funcional . . . 65

5.4. Agentes dentro del Entorno del SMA . . . 67

5.5. Artefactos de la actividad Colaborativa . . . 67

(14)
(15)

´

Indice de cuadros

2.1. Matriz espacio / temporal de Johansen [7] . . . 23

2.2. Elementos del Modelo MARS [5] . . . 33

2.3. Modelos para la construcci´on de Sistemas Multi-agentes . . . 36

3.1. Relaci´on entre elementos de MARS y JaCaMo . . . 47

4.1. Familias de Actores y actores correspondientes . . . 53

4.2. Familias de Objetos y objetos correspondientes . . . 53

4.3. Modelo de Interacci´on Buscar bandera . . . 54

4.4. Modelo de Interacci´on Proteger Bandera . . . 55

4.5. Modelo de Interacci´on Despojar Bandera . . . 55

4.6. Modelo de Interacci´on Eliminar Enemigo . . . 56

4.7. Modelo de Interacci´on Enviar Mensaje . . . 57

4.8. Modelo de Interacci´on Mostrar Mapa . . . 57

4.9. Modelo de Interacci´on Mostrar Puntuaciones . . . 58

4.10. Roles y Grupos . . . 59

4.11. Esquema organizacional de Buscar Bandera . . . 60

4.12. Esquema organizacional de Proteger Bandera . . . 60

4.13. Esquema organizacional de Recuperar Bandera . . . 61

(16)
(17)

Cap´ıtulo 1

Introducci´

on

El trabajo colaborativo se ha dado desde la antig¨uedad, las personas han tenido la necesidad de agruparse para enfrentar los problemas de la vida dia-ria. Podemos mencionar como ejemplo a las civilizaciones de la prehistoria, al tener la necesidad de recolectar alimento llevaban a cabo la caza de anima-les peque˜nos y grandes, al tratarse de animales de gran tama˜no realizarlo de manera individual era muy riesgoso y complicado, es por ello que vieron la ne-cesidad de llevarlo a cabo entre varias personas formando grupos de trabajo, se coordinaban, comunicaban, planteaban estrategias y colaboraban para llevar a cabo la actividad, cada integrante tenia un rol diferente en la actividad, en donde mediante la interacci´on y colaboraci´on de sus participantes lograr´an sus objetivos.

En la d´ecada de los 80, surgieron nuevas formas de trabajar en grupo, donde los participantes estaban ubicados en diferentes puntos geogr´aficos, te-niendo como enlace una interfaz que intentaba dar soporte al trabajo colaborati-vo mediado por computadoras, ante esto surgi´o la disciplina llamada Computer Supported Cooperative Work (CSCW), que tiene el objetivo de estudiar las interacciones para realizar una colaboraci´on efectiva entre grupos de personas. Posteriormente, despu´es de los estudios realizados en el ´area de CSCW surgi´o la tecnolog´ıa denominada Groupware, que representa el software y la tecnolog´ıa de computadora y comunicaci´on capaz de soportar el trabajo en grupo.

En una actividad de grupo se involucran aspectos sociales para su rea-lizaci´on como lo son reglas de trabajo y mecanismos de control que operan en la ejecuci´on de interacciones, por ello se hace necesario contar con modelos de actividad que permitan la construcci´on de este tipo de software. Estos son mo-delos que expresan las intenciones de los usuarios describiendo que deber´ıan realizar para alcanzar sus objetivos, sirven como fuente b´asica para determi-nar la funcionalidad que el sistema necesita y tambi´en para determinar c´omo la actividad podr´ıa ser representada. Ejemplos de estos modelos se actividad se en-cuentran: Social Theatres model [1] , Concur- TaskTrees (CTT) [2], Groupware Task Analysis [3], CAMCOS [4] y MARS [5].

MARS es un modelo de actividad que apoya la implementaci´on de herra-mientas colaborativas o Sistemas Groupware (SG), es un modelo de regulaci´on que permite definir espacios de colaboraci´on complejos, en donde las activida-des, los participantes, las herramientas y la informaci´on pudieran extenderse hacia otros espacios.

(18)

18 CAP´ITULO 1. INTRODUCCI ´ON

Basadas en aspectos sociales, las herramientas colaborativas tienen una arquitectura gen´erica, la cual consiste en una interfaz que es el entorno com-partido entre los usuarios, un componente social que se encarga de gestionar aspectos sociales en el desarrollo de actividades, tales como: 1) q´ue actividades se realizar´an, 2) qui´en realizar´a las actividades, 3) qu´e roles o jerarqu´ıas orga-nizacionales existen, 4) qu´e objetos se manipular´an, etc. y un n´ucleo funcional que contiene todas las funciones que proporciona la aplicaci´on.

Los sistemas Groupware pueden ser clasificados seg´un el espacio y tiem-po, basado en su funcionalidad y su variante que incluye conciencia de tiempo y espacio. Entre estos un ejemplo son los videojuegos colaborativo, como lo son los videojuegos de disparos en primera persona. Estos ofrecen diferentes modalida-des de trabajo colaborativo, en donde los participantes, distribuidos en equipos, compiten para lograr su objetivo: ganar la competencia. Una modalidad de tra-bajo colaborativo en este tipo de videojuegos es la de Mantener la bandera en equipo, esta modalidad consiste en mantener el mayor tiempo posible la ban-dera por equipo, el equipo que la captura y mantenga por m´as tiempo, adem´as elimine a m´as enemigos ser´a el equipo triunfador. En el juego, los participantes colaboran, forman estrategias y se comunican para poder vencer al equipo rival, el contexto del juego es muy din´amico y las interacciones de los usuarios depen-den de est´e. Los usuarios tienen asignado un rol, dependiendo de la situaci´on en la que se encuentren, por ejemplo, explorador si se est´a en busca de la bandera, abanderado, si se tiene la bandera en posesi´on o protector si se esta protegiendo la bandera tomada por alg´un compa˜nero, en base a este rol son las interacciones que este puede realizar.

1.1.

Problema

La construcci´on de Sistemas colaborativos no es una tarea trivial. Con-lleva considerar a grupos de personas cada una con caracter´ısticas diferentes, trabajando en un mismo espacio mediante una interfaz y localizados en diferen-tes puntos geogr´aficos. Al interactuar su entorno de trabajo es muy din´amico generando muchos cambios en la informaci´on de la interfaz.

MARS es un modelo de actividad que considera aspectos sociales para la construcci´on de SG implementado mediante diversas tecnolog´ıas, sin embargo mediante ´estas no es capaz de soportar estos ambientes din´amicos y cambiantes, por lo cual se ve necesaria la b´usqueda de nuevas tecnolog´ıas que apoyen a soportar el dinamismo presentado en estos sistemas.

1.2.

Objetivo

Objetivo Principal

Identificar las ventajas e inconvenientes del uso de tecnolog´ıa multi-agente en la construcci´on de software colaborativo haciendo uso del modelo de actividad MARS.

Objetivos Espec´ıficos

(19)

1.3. PREGUNTAS DE INVESTIGACI ´ON 19

Modelar la actividad colaborativa basada en el modelo de agentes.

Validar la factibilidad del modelo de agentes mediante la implementaci´on de un prototipo.

1.3.

Preguntas de Investigaci´

on

Como preguntas de Investigaci´on se tienen:

1. ¿La tecnolog´ıa multi-agente presenta ventajas en la implementaci´on de aspectos sociales como la regulaci´on en herramientas colaborativas?

2. ¿ Cuales son los inconvenientes en el uso de la tecnolog´ıa multi-agente en la implementaci´on de MARS ?

La tecnolog´ıa multi-agente ha sido utilizada por diversas ´areas, por ejem-plo en la industria, en aplicaciones de b´usqueda de informaci´on, en el comercio electr´onico, en ambientes de aprendizaje, entre otros, generando grandes benefi-cios. En los Sistemas Groupware, se han encontrado trabajos como [44], basado en componentes que intentan imitar los mecanismos de cooperaci´on de los sis-temas multi-agentes tomando como caso de estudio un ambiente empresarial. A pesar de haber trabajos donde se integra la tecnolog´ıa multi-agente en la construcci´on de este tipo de sistemas es poco estudiado la integraci´on de es-tos en relaci´on a los modelos de actividad, particularmente en la gesti´on de aspectos sociales, este experimento es importante ya que generar´a resultados que permitir´an comprobar la factibilidad de uso de esta tecnolog´ıa en el trabajo colaborativo de los SG.

(20)
(21)

Cap´ıtulo 2

Estado del Arte

Antes de hablar sobre el modelado de aspectos sociales de herramientas colaborativas con tecnolog´ıa Multi-agente, es necesario hacer introducci´on a una serie de conceptos b´asicos que brinden una idea general del contexto de este trabajo. Iniciamos con el concepto de Sistemas Groupware (SG) proporcionando algunas definiciones, caracter´ısticas, clasificaciones y ejemplos, posteriormente se menciona sobre los aspectos sociales resaltando el Modelo de Actividad MARS utilizado para esta investigaci´on. As´ı mismo, se presenta una breve s´ıntesis sobre la tecnolog´ıa Multi-Agente, como lo son algunos modelos para la construcci´on de Sistemas Multi-agentes (SMA) y entornos para su desarrollo. Por ´ultimo se incluyen algunos trabajos relacionados con el contexto del trabajo.

2.1.

Sistemas Colaborativos (Groupware)

Los sistemas inform´aticos est´an presentes en nuestra vida cotidiana. En gran parte, se debe gracias a las posibilidades que brindan los avances en las Tecnolog´ıas de la Informaci´on y Comunicaci´on que permiten acceder y compartir recursos localizados en Sistemas de Informaci´on localizados por todo el mundo.

En la d´ecada de los 80, surgieron nuevas formas de organizar el traba-jo de grupos de personas distribuidas geogr´aficamente, pero colaborando entre s´ı para realizar tareas en com´un. Esta nueva iniciativa despert´o el inter´es de los cient´ıficos de analizar las interacciones en el trabajo colaborativo entre personas mediado por tecnolog´ıa basada en computadoras. Como resultado surgi´o la dis-ciplina cient´ıfica denominada Computer Supported Cooperative Work (CSCW), con el objetivo de estudiar las interacciones para realizar una colaboraci´on efec-tiva entre grupos de personas.

Muy ligado al ´ambito del CSCW se encuentra el t´ermino Groupware, ´este es entendido como el software y las tecnolog´ıas de computadoras y comunicaci´on capaz de soportar el trabajo en grupo. Cabe resaltar la diferencia entre CSCW y Groupware, CSCW describe la investigaci´on que hay detr´as del trabajo en grupo mientras que Groupware la tecnolog´ıa desarrollada para esto. A continuaci´on se presentan definiciones m´as amplias sobre el concepto de Groupware.

(22)

22 CAP´ITULO 2. ESTADO DEL ARTE

2.1.1.

Definici´

on y Caracter´ısticas

Existen diversas definiciones de un SG, a continuaci´on se presentan las opiniones de diferentes autores:

Un grupo de procesos calculados, m´as el software necesario para soportar-los [6].

Soporte por computadora para equipos de trabajo [7].

Un sistema de desarrollo colaborativo para la interacci´on humano compu-tadora [8].

Sistemas basados en computadoras para grupos de personas que realizan tareas comunes (o metas) y que proporcionan un interfaz para un entorno compartido [9].

Colaboraci´on guiada por computador que incrementa la productividad o funcionalidad de los procesos persona-persona [10].

La tecnolog´ıa Groupware proporciona redes de computadores que soportan la comunicaci´on, coordinaci´on y colaboraci´on a trav´es de facilidades como el intercambio de informaci´on, la compartici´on de repositorios, los foros de discusi´on y la mensajer´ıa[11].

Se entiende como un SG a un tipo de software especializado en apoyar el trabajo en grupo, cubriendo la comunicaci´on, cooperaci´on y coordinaci´on que surgen en el trabajo colaborativo, est´en o no en el mismo lugar o en el mismo tiempo, y proporcionando una interfaz com´un a un entorno compartido de trabajo.

Los SG cuentan con 3 caracter´ısticas principales: la comunicaci´on, coor-dinaci´on y colaboraci´on, tambi´en conocidas como las 3C. Un SG sin estas 3 caracter´ısticas no puede considerarse como tal.

Comunicaci´on: Los miembros de un grupo de trabajo necesitan comuni-carse para intercambiar informaci´on, es la acci´on y efecto de poner en co-nocimiento, o avisar de alguna acci´on, ´esta puede darse mediante mensajes textuales (comunicaci´on expl´ıcita) o mensajes impl´ıcitos en la herramien-ta.

Colaboraci´on: Mediante el intercambio de informaci´on los miembros del grupo pueden colaborar realizando aportaciones, combinar opiniones y generar documentaci´on de forma conjunta.

Coordinaci´on: Las tecnolog´ıas Groupware permiten la coordinaci´on de los diversos miembros del grupo para la realizaci´on de un determinado pro-yecto com´un.

2.1.2.

Clasificaci´

on

(23)

2.1. SISTEMAS COLABORATIVOS (GROUPWARE) 23

Matriz Espacio- Temporal

En la matriz espacio- temporal las herramientas se clasifican seg´un el lugar y el tiempo. La interacci´on persona-computadora-persona se puede dar en el mismo espacio f´ısico, como podr´ıa ser una sala de reuniones, el sal´on de una conferencia o un espacio de trabajo com´un; pero tambi´en se puede dar en la distancia como por ejemplo en salas de v´ıdeo conferencia, uso de editores colaborativos, videojuegos colaborativos en l´ınea o las pizarras compartidas.

La dimensi´on del tiempo de estos sistemas facilita una distinci´on entre aquellos en los que la interacci´on se da en tiempo real como los chats, videojuegos en linea, telefon´ıa IP; y aquellos en los que el tiempo no jue-ga un papel relevante, caso del correo electr´onico, control de versiones, agendas, entre otros.

Mismo Tiempo Diferente Tiempo

Mismo Lugar Interacci´on Cara a Cara Interacci´on As´ıncrona Diferente Lugar Interacci´on s´ıncrona Interacci´on as´ıncrona

distribuida distribuida

Cuadro 2.1: Matriz espacio / temporal de Johansen [7]

Clasificaci´on por funcionalidad

Esta clasificaci´on por funcionalidad fue propuesta por Ellis [9]:

• Sistemas para env´ıo de mensajes: Permite a los usuarios comunicarse a trav´es del intercambio s´ıncrono (chat) o as´ıncrono (correo electr´ oni-co) de mensajes textuales.

• Editores Multi-usuarios: Herramientas que permiten a los usuarios crear y editar documentos de manera conjunta, por ejemplo Google Docs.

• Sistemas de apoyo a decisiones en grupo y salas de juntas electr´onicas: Su prop´osito es agilizar la toma de decisiones de los grupos de trabajo y as´ı obtener mejores resultados de trabajo.

• Conferencias por Computadora: Permite a los usuarios interactuar de manera s´ıncrona.

• Sistemas de Coordinaci´on: Se integran las actividades individuales con el fin de alcanzar un objetivo general.

Matriz Espacio – Temporal m´as Conciencia de Espacio y Tiempo

(24)

24 CAP´ITULO 2. ESTADO DEL ARTE

Figura 2.1: Matriz espacio/temporal de Johansen modificada por Grudin [12] para elaborar una variante de clasificaci´on de Groupware

En esta matriz, tambi´en la actividad se puede realizar en el mismo tiempo o espacios diferentes, y en el mismo tiempo o a lo largo del tiempo. La aportaci´on est´a identificada en si el usuario conoce o no esos espacios y/o tiempos que son diferentes. Se introduce una nueva caracter´ıstica seg´un el conocimiento de los usuarios.

Por la caracter´ıstica especial que incorpora (conciencia del tiempo y espa-cio), los SG pueden ser que se realicen en el mismo sitio f´ısico, orientadas a que todos los usuarios las utilicen en el mismo lugar de trabajo. Tambi´en se puede dar en lugares diferentes pero conocidos por los participantes o que se den en lugares diferentes y adem´as desconocidos por los usuarios.

2.1.3.

Ejemplos de Groupware

Existe gran variedad de SG que permiten a los usuarios comunicarse y trabajar en grupo sin importar que est´en reunidos en un mismo lugar f´ısico o no y conectados en mismo tiempo o diferente. En general, en ellas se puede compartir informaci´on en diversos formatos como lo son audio, texto, v´ıdeo, entre otros, y en otros casos da la posibilidad de generar en conjunto nuevos materiales productos de la el trabajo colaborativo como es el caso de los editores colaborativos o simplemente pasar un tiempo de diversi´on. A continuaci´on se presentan algunos ejemplos de herramientas para trabajar colaborativamente:

Editores Colaborativos

Los editores colaborativos son un claro ejemplo de herramientas Group-ware, en estas aplicaciones se obtiene un producto final resultado de la colabo-raci´on de sus participantes. Algunos ejemplos de editores colaborativos son los siguientes:

Etherpad

(25)

2.1. SISTEMAS COLABORATIVOS (GROUPWARE) 25

dentro del documento con un color diferente, cuenta con herramientas b´asicas de formato y los cambios se guardan autom´aticamente, crea un historial de cambios con l´ınea de tiempo.

Figura 2.2: Etherpad [13]

Google Drive

Google Drive [14] es una aplicaci´on web de Google que permite crear y compartir documentos en l´ınea dando la posibilidad de colaborar en grupo. Incluye varios tipos de formatos, procesadores de texto, hojas de c´alculo, programa para crear presentaciones, dibujos y diagramas, un editor de formularios destinado para crear encuestas, entro otros. Proporciona he-rramientas colaborativas como un chat, contiene un historial de cambios pudiendo regresar a un estado anterior el documento.

Figura 2.3: Google Drive [14]

(26)

26 CAP´ITULO 2. ESTADO DEL ARTE

WriteLATEX [15] es un editor colaborativo LaTeX en la web. Permite crear y compartir documentos y presentaciones. Es posible ver los cambios que los editores van realizando en tiempo real. Fue creado en el 2011.

Figura 2.4: writeLATEX [15]

Videojuegos Colaborativos

La colaboraci´on tambi´en es posible destinarla para que los usuarios pasen momentos de diversi´on ya que existen videojuegos que de manera colaborativa los usuarios compiten para obtener el triunfo. Algunos videojuegos colaborativos se muestran a continuaci´on:

Assault Cube

AssaultCube (AC) [16] es un videojuego de colaboraci´on de disparos en primera persona, es de c´odigo abierto y puede ser ejecutado en entornos de escritorio, cuenta con un servidor para ser ejecutado en l´ınea. AC ofrece escenarios de colaboraci´on con las herramientas que los usuarios pueden utilizar para coordinarse y comunicarse (por ejemplo: mensajes privados y en grupo, mensajer´ıa de audio predeterminado).

(27)

2.1. SISTEMAS COLABORATIVOS (GROUPWARE) 27

Bonderlands 2

Bonderlansd 2 [17] es un videojuego de disparos en primera persona de ciencia ficci´on con los elementos de los videojuegos de rol. Fue desarrolla-do por Gearbox Software y PlayStation3. Los jugadesarrolla-dores realizan misiones asignadas por personajes no jugables o carteles de recompensa, ganan experiencia acabando con enemigos o completando logros del juego. Los usuarios tienen roles espec´ıficos, colaborando logran cumplir con las mi-siones.

Figura 2.6: Bonderlands [17]

Combat Arms

(28)

28 CAP´ITULO 2. ESTADO DEL ARTE

Figura 2.7: Combat Arms [18]

Management

Las aplicaciones colaborativas en las organizaciones tambi´en son muy importantes, puesto que ayudan a administrar proyectos y trabajar en l´ınea de manera colaborativa. Algunas aplicaciones disponibles para esto se mencionan a continuaci´on:

Stixy

(29)

2.1. SISTEMAS COLABORATIVOS (GROUPWARE) 29

Figura 2.8: Stixy [19]

Project2Manage

Project2Manage [20] es una herramienta gratuita de gesti´on de proyectos que ayuda a mantener proyectos organizados, permite la asignaci´on de m´ultiples niveles de autorizaci´on para diferentes clientes y usuarios que se a˜naden para realizar el proyecto en colaboraci´on, permite gestionar los proyectos desde cualquier lugar. Permite el envi´o de mensajes, notificacio-nes de usuarios y cuenta con una herramienta colaborativa de redacci´on de textos.

Figura 2.9: Project2Manage [20]

(30)

30 CAP´ITULO 2. ESTADO DEL ARTE

TeamworkPM [21] Es un software de gesti´on de proyectos online que per-mite llevar el control de los proyectos desde cualquier lugar y que mantiene tanto a clientes, equipo y dem´as involucrados del proyecto, al tanto de lo que sucede.

Figura 2.10: TeamworkPM [21] Herramientas Colaborativas de Videoconferencia

Otro ejemplo de herramientas colaborativas son las aplicaciones para rea-lizar videoconferencias, que permite a varios usuarios conectarse en tiempo real desde diferentes ubicaciones. Algunos ejemplos de estas aplicaciones son los si-guientes:Vyew

Vyew [22] es una herramienta para interaccionar en tiempo real con tu equipo de trabajo y clientes, facilitando una colaboraci´on transparente. Permite ver acciones pasadas, presentes, controlar y monitorizar las futu-ras y adem´as, se pueden crear presentaciones para compartir y visualizar.

Figura 2.11: Vyew [22]

Dimdim

(31)

2.2. ASPECTOS SOCIALES EN ACTIVIDADES COLABORATIVAS 31

usando s´olo el navegador web y Dimdim. Permite colaborar con equipos de trabajo, compartir documentos, realizar whiteboards sin necesidad de descargar alg´un software.

Figura 2.12: Dimdim [23]

Show Documents

Show Documents [24] permite realizar presentaciones, sesiones, conferen-cias online y en tiempo real con whiteboards interactivas, proporciona un editor de textos y un chat en directo.

Figura 2.13: ShowDocument [24]

2.2.

Aspectos Sociales en actividades

colabora-tivas

(32)

32 CAP´ITULO 2. ESTADO DEL ARTE

(mensajes, acciones, gestos, entre otros) entre dos o m´as individuos, si los par-ticipantes no interact´uan dif´ıcilmente lograr´an sus objetivos.

Basadas en aspectos sociales, las herramientas colaborativas tienen una arquitectura gen´erica (Ver Figura 2.14), la cu´al esta integrada por tres elemen-tos: una interfaz que es el entorno compartido entre los usuarios para lograr sus objetivos. Un componente social que es el encargado de gestionar todos los aspectos sociales en el desarrollo de actividades, tales como: 1) las actividades que se realizar´an, 2) qui´en realizar´a las actividades, 3) qu´e roles o jerarqu´ıas or-ganizacionales existen, 4) qu´e objetos se manipular´an, etc. y un n´ucleo funcional que contiene todas las funciones que proporciona la aplicaci´on.

Figura 2.14: Arquitectura gen´erica de una herramienta colaborativa regulada [5]

Particularmente, para la construcci´on de SG se hace necesario contar con modelos de actividad que permitan la integraci´on de aspectos sociales en este tipo de software. Estos modelos expresan las intenciones de los usuarios des-cribiendo que deber´ıan realizar para alcanzar sus objetivos, sirven como fuente b´asica para determinar la funcionalidad que el sistema necesita y tambi´en pa-ra determinar c´omo la actividad podr´ıa ser representada. Algunos ejemplos de estos modelos son: Social Theatres model [1] basado en la met´afora del teatro en donde un actor sigue un gui´on en donde se definen los roles y las acciones a realizar, Concur- TaskTrees (CTT) [2] es una notaci´on que permite mode-lar actividades cooperativas por cada rol presente en el sistema , Groupware Task Analysis [3] proporciona una notaci´on que permite el an´alisis de tareas que se realizan en el sistema en actividades cooperativas, CAMCOS [4] define las actividades individuales y de grupo de usuarios incluye en contexto de ejecu-ci´on de las actividades y c´omo este contexto puede afectar a otras actividades y MARS [5] permite definir espacios de colaboraci´on complejos pudiendo extender componentes hacia otros espacios involucrando aspectos sociales de actividades colaborativas como roles y reglas de trabajo.

Para el desarrollo de este trabajo de investigaci´on se hace uso de MARS, que a continuaci´on es descrito:

MARS, es un modelo de regulaci´on que permite definir espacios de cola-boraci´on complejos, en donde las actividades, los participantes, las herramientas y la informaci´on pudieran extenderse hacia otros espacios.

En el modelo se especifican los siguientes elementos [5]:

(33)

2.3. SISTEMAS MULTI-AGENTES (SMA) 33

Elemento Definici´on

Arena Espacio de trabajo en donde se definen las actividades de grupo y se realizan las interacciones.

Modelo de Interacci´on Social Describe reglas bajo las cuales se

realizar´an las interacciones o actividades en la arena.

Interacci´on Social Representa acciones en ejecuci´on

Actor Representa a una persona, a un agente de software o a un grupo que realiza interacciones al

interior de la arena, con un rol asociado.

Objetos Representa a un objeto que podr´ıa manipular un actor durante una interacci´on.

Familia de actores/objetos Agrupa actores u objetos de acuerdo a caracter´ısticas comunes.

Escenario Describe la forma en que una interacci´on se llevar´a a cabo.

Cuadro 2.2: Elementos del Modelo MARS [5]

denominada arena, aqu´ı se encuentran todas las actividades que desempe˜nar´an los participantes. Tambi´en establece actores que son los que ejecutan y realizar´an las interacciones. Estas interacciones representan las actividades que se llevan a cabo en un ´area; tal como subir un documento a un espacio de trabajo [5]. El actor puede manejar y crear objetos; como documentos. Existen grupos de actores que pueden tener las mismas caracter´ısticas, denominado familia de actores.

La definici´on y entendimiento de los aspectos sociales dentro del trabajo colaborativo en entornos virtuales es un tema abordado por otras ´areas de la computaci´on, particularmente se ha venido abordando desde una perspectiva de implementaci´on con tecnolog´ıa multi-agente o sistemas multi-agentes, mismo de lo que se hablar´a en la siguiente secci´on.

2.3.

Sistemas Multi-Agentes (SMA)

La inteligencia artificial(IA) es una disciplina reciente, es el ´area de estu-dio que tiene por objetivo resolver problemas complejos, para los cuales no se tienen o conocen soluciones algor´ıtmicas exactas computacionales en la pr´actica, ya sea por sus grandes dimensiones, su complejidad o los niveles de incertidum-bre de los datos que manejan, pero en resumen se puede decir que trata de desarrollar sistemas que piensen y act´uen racionalmente.

Una de sus ramas de estudio es la inteligencia Artificial Distribuida (IAD), surge con el fin de estudiar sistemas inteligentes formados por un conjunto de varios agentes que intentan la resoluci´on de problemas en donde una conducta colectiva es m´as eficiente que una conducta individual. Su objetivo es el estudio de modelos y t´ecnicas para la resoluci´on de problemas en los que la distribuci´on puede ser f´ısica o funcional.

La inteligencia Artificial Distribuida (IAD) es definida como aquella parte de la IA que se centra en comportamientos inteligentes colectivos que son pro-ducto de la cooperaci´on de diversos agentes [25]. Los agentes son las entidades que colaboran.

(34)

inteli-34 CAP´ITULO 2. ESTADO DEL ARTE

gente de agentes aut´onomos. Sus dominios de aplicaci´on son particularmente ri-cos, destacan cuatro categor´ıas: la resoluci´on de problemas ya sean centralizados o de manera distribuida, la rob´otica distribuida, la simulaci´on y la construcci´on de mundos hipot´eticos[26]. Seg´un Wooldrigge [27] los sistemas Multi-agentes est´an formados por la interacci´on de elementos computacionales, conocidos co-mo agentes.

Sycara [28] dice que un sistema multi-agente est´a formado por una red de agentes de software que interact´uan para resolver problemas que est´an m´as all´a de las capacidades individuales o del conocimiento de cada solucionador de problemas.

Jennins [29] lo define como un sistema inform´atico, situado en un en-torno que es capaz de realizar acciones flexibles y aut´onomas para alcanzar sus objetivos.

Ferber [26] define a un SMA como un sistema compuesto por:

1. Un entorno, es decir, un espacio generalmente con una m´etrica.

2. Un conjunto de objetos, estos se tienen para cualquier prop´osito, asociando el entorno no ellos. Estos pueden ser percibidos, creados, destruidos y alterados por los agentes.

3. Un conjunto de agentes, que son objetos espec´ıficos que representan las entidades activas del sistema.

4. Un conjunto de relaciones entre los objetos y agentes.

5. Operaciones generales de agentes permitiendo percibir, producir, consu-mir, transformar y manipular objetos.

6. Los operadores que representan la aplicaci´on de las operaciones y la reac-ci´on del mundo en el intento de cambiar, lo que se llama leyes del universo.

Actualmente los SMA constituyen un ´area de creciente inter´es dentro de la Inteligencia Artificial, entre una de las razones, por ser aplicable a la resoluci´on de problemas complejos no resueltos de manera satisfactoria mediante t´ecnicas cl´asicas. Por lo cu´al son utilizados en numerosas ´areas. Su versatilidad los hace apropiados a diversos ´ambitos de investigaci´on y de la industria.

2.3.1.

Definici´

on y Caracter´ısticas

Seg´un Wooldrigge [27] los sistemas Multi-agentes est´an formados por la interacci´on de elementos computacionales, conocidos como agentes.

Un agente puede definirse como una entidad aut´onoma, la cual act´ua racionalmente de acuerdo a sus percepciones del exterior y el estado de su co-nocimiento. Son sistemas inform´aticos que poseen dos capacidades principales: son aut´onomos, es decir, toman decisiones por si mismos basadas en la satisfac-ci´on de su objetivo y tienen la capacidad de interactuar con otros agentes en actividades cooperativas, de coordinaci´on, negociaci´on, etc.

Wooldridge y Jennings [30] clasifican la definici´on de agente dependiendo de su noci´on. Un agente con Noci´on d´ebil es aquel hardware o software compu-tacional que tiene las siguientes caracter´ısticas:

(35)

2.3. SISTEMAS MULTI-AGENTES (SMA) 35

Capacidad Social: Los agentes son capaces de interactuar con otros agen-tes.

Reactividad: los agentes perciben el entorno y responden ante los posibles cambios que pudieran suceder.

Proactividad: los agentes son proactivos, es decir toman la iniciativa de trabajo cuando es posible.

Los agentes con noci´on fuerte se definen como aquel sistema computacional que adem´as de tener las caracter´ısticas antes mencionadas, tienen atributos (estados mentales) propios de los seres humanos como conocimiento, creencias, intenciones y deseos, entre otros.

Wooldridge y Jennings [30] tambi´en definen algunas dimensiones para medir la capacidad de un agente, estas dimensiones son las siguientes:

Agencia: es el grado de autonom´ıa y autoridad establecida en el agente. Dentro de esta, se encuentran 4 dimensiones m´as impl´ıcitas:

• Movilidad: habilidad de moverse en la red.

• Veracidad: los agentes no deben comunicar informaci´on falsa

• Benevolencia: los agentes deben hacer lo que se les pide que hagan.

• Racionalidad: deben actuar en orden de lograr sus metas.

Inteligencia: grado de razonamiento y conducta aprendida para la soluci´on de problemas.

Movilidad: capacidad para moverse a trav´es de la red.

2.3.2.

Modelos para la construcci´

on de sistemas

Multi-agentes

Para el desarrollo de los sistemas Multi-agentes, se han propuesto va-rios modelos con la intenci´on de facilitar y soportar el desarrollo de sistemas distribuidos complejos. Por lo tanto, cuando se plantea la construcci´on de una aplicaci´on de agentes es importante decidir qu´e modelo se va a utilizar. Estos modelos definen elementos que sirven para agrupar las distintas funcionalidades asociadas a un agente o a un grupo de agentes.

(36)

36 CAP´ITULO 2. ESTADO DEL ARTE

Modelo Modelos Impl´ıcitos

MaSE [33] Objetivos, roles, tareas, comunicaci´on

ZEUS[34] An´alisis del dominio, Roles ada a agentes

INGENIAS [35] Organizaci´on, Tareas/objetivos

GAIAI [27] Roles, Interacci´on, dise˜no de alto nivel, agentes, servicios

Vowel Engineering (Vocales) [36] Agente, entorno, organizaci´on, interacci´on

MAS-CommonKADS [37] Agentes, tareas, experiencia, coordinaci´on, comunicaci´on, organizaci´on, dise˜no

BDI [38] Jerarqu´ıa de herencia de clases y estructura del estado de informaci´on y

motivaci´on de los agentes

JADE [39] Agentes, comportamiento y comunicaci´on

JACAMO [40] Agentes, Entorno, Interacci´on y Organizaci´on

Cuadro 2.3: Modelos para la construcci´on de Sistemas Multi-agentes

A continuaci´on se explica cada uno de los modelos de la tabla anterior de una manera m´as extensa.

MaSE

MaSE (Multi-agent system Software Engineering) [33] parte del paradig-ma orientado a objetos y asume que un agente es s´olo una especializaci´on de un objeto. La especializaci´on consiste en que los agentes se coordinan unos con otros v´ıa conversaciones y act´uan proactivamente para alcanzar metas individuales y del sistema.

En esta metodolog´ıa los agentes son s´olo una abstracci´on conveniente, que puede o no poseer inteligencia. En este sentido, los componentes inteligen-tes y no inteligeninteligen-tes se gestionan igualmente dentro del mismo armaz´on. El proceso de desarrollo de MaSE es un conjunto de pasos, la mayor´ıa de los cuales se ejecutan dentro de la herramienta de soporte MaSE, AgentTool [33].

El an´alisis en MaSE consta de tres pasos: capturar los objetivos, capturar los casos de uso y refinar roles. Como productos de estas etapas se es-peran: diagramas de objetivos, que representan los requisitos funcionales del sistema; diagramas de roles que identifican roles, tareas asociadas y comunicaciones entre roles y tareas; y casos de uso que son enumeraciones de los casos de uso considerados con la posibilidad de usar diagramas de secuencia para detallarlos.

El dise˜no consta de cuatro pasos: crear clases de agentes, construir conver-saciones, ensamblar clases de agentes y dise˜no de sistema. Como producto de estas etapas se espera: diagramas de clases de agentes, que enumeran los agentes del sistema, roles jugados e identifican conversaciones entro los mismos; descomposici´on del sistema (agente) en subsistemas (componen-tes del agente) e interconexi´on de los mismos (definici´on de la arquitectura del agente mediante componentes); diagramas UML de despliegue para in-dicar cu´antos agentes habr´a en el sistema y de qu´e tipo.

(37)

2.3. SISTEMAS MULTI-AGENTES (SMA) 37

una m´aquina de estados a otra. En el caso de las tareas, a estas m´aquinas las denominan en MaSE diagramas de tareas concurrentes.

La herramienta de soporte, agentTool [33], permite generar c´odigo au-tom´aticamente a partir de la especificaci´on del sistema, que en MaSE es el conjunto final de diagramas. La generaci´on de c´odigo es independien-te del lenguaje de programaci´on utilizado, ya que se realiza recorriendo las estructuras de datos generadas en la especificaci´on y generando texto como salida.

Dentro de la misma herramienta, MaSE incorpora utilidades para verificar la correcci´on de los protocolos que utilicen los agentes.

ZEUS

ZEUS consta de una herramienta [34] y una metodolog´ıa [41]. Desde su aparici´on, se ha convertido en referencia de c´omo debe ser una herramienta para el desarrollo multi-agente. Sobre todo, por la forma en que combinan los distintos resultados de investigaci´on en agentes en un sistema ejecu-table. De hecho, la aplicaci´on genera incluso programas para arrancar el sistema especificado e incluye herramientas de monitorizaci´on como el Vi-sor de sociedad que muestra los agentes existentes y sus relaciones, la Herramienta de Control para ver o modificar remotamente el estado de los agentes y los Generadores de Informes para obtener estad´ısticas de funcionamiento e informes de actuaci´on de la sociedad de agentes.

ZEUS propone un desarrollo en cuatro etapas [41]: el an´alisis del dominio, el dise˜no de los agentes, la realizaci´on de los agentes y el soporte en tiempo de ejecuci´on. Las etapas soportadas por la herramienta son la de realiza-ci´on de los agentes y la de soporte en tiempo de ejecuci´on. Estas etapas se basan en el uso de roles para analizar el dominio y en su asignaci´on de agentes.

Los resultados a producir a lo largo del proceso de desarrollo son los si-guientes:

• An´alisis del dominio. Se orienta a obtener el modelo de roles. El modelo de roles se compone de diagramas UML de clases para repre-sentar roles, diagramas UML de colaboraci´on para indicar qu´e men-sajes se intercambian y fichas para describir los roles.

• Dise˜no del agente. Consiste en determinar qu´e necesita cada agente para poder desempe˜nar su cometido. Esto incluye revisar las tecno-log´ıas y disciplinas relacionadas con el dise˜no de agentes.

• Implementaci´on de los agentes y soporte en tiempo de eje-cuci´on. Se trata de utilizar la herramienta ZEUS para trasladar los conceptos de dise˜no dentro de la plataforma que ZEUS tiene ya im-plementada. El resultado es un modelo ejecutable del sistema.

(38)

38 CAP´ITULO 2. ESTADO DEL ARTE

La metodolog´ıa INGENIAS [35] es la evoluci´on de la metodolog´ıa ini-cial llamada MESSAGE. INGENIAS define un conjunto de meta-modelos (una descripci´on de alto nivel de los elementos que contiene un mode-lo) con los que hay que describir el sistema. Estos meta-modelos indican qu´e hace falta para describir: agentes aislados, organizaciones de agentes, el entorno, interacciones entre agentes o roles, tareas y objetivos.

Los meta-modelos se construyen mediante un lenguaje meta-modelo lla-mado GOPRR. En la su construcci´on se integran resultados de investiga-ci´on en forma de entidades y relaciones entre entidades. Su instanciaci´on produce diagramas, los modelos similares a los que se usa en UML, con la diferencia de que estos se han creado exclusivamente para definir el sistema multi-agente.

La instanciaci´on de los meta-modelos es sencilla de identificar, existen muchas entidades y relaciones a identificar, adem´as de dependencias en-tre distintos modelos. Es por ello, que INGENIAS define un conjunto de actividades cuya ejecuci´on termina en un conjunto de modelos. A su vez, estas actividades se organizan siguiendo un paradigma el paradigma de ingenier´ıa del Software llamado Proceso Unificado.

La ejecuci´on de actividades para producir modelos se basa en la herramien-ta llamada INGENIAS IDE, esherramien-ta almacena la especificaci´on del sistema utilizando XML.

GAIA

GAIA [27] es una metodolog´ıa para el dise˜no de sistemas basados en agen-tes cuyo objetivo es obtener un sistema que maximice alguna medida de calidad global, la cual no se llega a detallar. Esta metodolog´ıa pretende ayudar al analista a ir sistem´aticamente desde unos requisitos iniciales a un dise˜no que est´e lo suficientemente detallado como para ser implementado directamente.

Aqu´ı se entiende que el objetivo del an´alisis es conseguir comprender el sistema y su estructura sin referenciar ning´un aspecto de implementaci´on. Esto lo obtiene a trav´es de la idea de organizaci´on. Una organizaci´on es una colecci´on de roles, los cuales mantienen ciertas relaciones con otros y toman parte de patrones institucionalizados de interacci´on con otros roles. Los roles agrupan cuatro aspectos: responsabilidades del agente, los recursos que se le permite utilizar, las tareas asociadas e interacciones.

GAIA propone se trabaje inicialmente con un an´alisis de alto nivel en el que se usan dos modelos, el modelo de roles para identificar los roles clave en el sistema junto con sus propiedades definitorias y el modelo de interacciones que define las interacciones mediante una referencia a un modelo institucionalizado de intercambio de mensajes.

(39)

2.3. SISTEMAS MULTI-AGENTES (SMA) 39

asociados a cada rol, y un modelo de conocidos, que define los enlaces de comunicaciones que existen entre los agentes.

Esta metodolog´ıa s´olo busca especificar c´omo una sociedad de agentes co-labora para alcanzar los objetivos del sistema, y qu´e se requiere de cada uno para lograr esto ´ultimo.

Vowel Engineering (Vocales)

El t´ermino Vowel Engineering viene de que el sistema final depende de la ordenaci´on y agrupamiento de aspectos identificados por cuatro vocales. A( por agentes), E (por entorno), I (por interacciones) y O (por organi-zaci´on). Para cada aspecto, se utilizan componentes t´ecnicas espec´ıficas. Para representar agentes se usan desde simples aut´omatas hasta comple-jos sistemas basados en conocimiento. La forma de ver las interacciones van desde modelos f´ısicos (propagaci´on de onda en el medio f´ısico) hasta los actos del habla (speech acts). Las organizaciones van desde aquellas inspiradas en modelos biol´ogicos hasta las gobernadas por leyes sociales basadas en modelos sociol´ogicos.

Figura 2.15: Arquitectura de capas del Sistema Multi-Agente en Vowel Engi-neering [36]

El prop´osito de esta metodolog´ıa es lograr librer´ıas de componentes que den soluciones al dise˜no de casa uno de estos aspectos, para que posterior-mente, el dise˜nador seleccione un modelo de agente, un modelo de entorno, un modelo de interacciones y modelos de organizaci´on a instanciar (ver Figura 2.15).

Como ejemplo, Demazeau [36] propone para aspectos de interacci´on un lenguaje para la descripci´on de protocolos de interacci´on basados en pro-cesos de comunicaci´on s´ıncronos o as´ıncronos donde la sem´antica es muy similar a la de los actos del habla. La representaci´on en s´ı se hace mediante redes de transici´on en las que los arcos se corresponden con los mensajes intercambiados y los estados reflejan la situaci´on global.

(40)

40 CAP´ITULO 2. ESTADO DEL ARTE

tipo de sistema que queramos tener. Por ejemplo, si se empieza por la vocal O, se tendr´a un sistema en el que las relaciones sociales son lo m´as importante. Si se empieza por la A, se tendr´a un sistema en el que proba-blemente la organizaci´on surja como resultado de la interacci´on de agentes aislados.

MAS-CommonKADS

MAS-CommonKADS extiende CommonKADS [42] aplicando ideas de me-todolog´ıas orientadas a objetos para su aplicaci´on a la producci´on de sis-temas multi-agentes [37]. Esta metodolog´ıa gira en torno del modelo de experiencia y est´a pensada para desarrollar sistemas expertos que inter-act´uen con el usuario. Considera s´olo dos agentes b´asicos: el usuario y el sistema. Extiende los modelos de CommonKADS para tener en cuenta la posibilidad de que dos o m´as componentes del sistema interact´uen.

Fue la primera metodolog´ıa en plantear un desarrollo de SMA integrado con un ciclo de vida de software, concretamente con el ciclo de vida espiral dirigido por riesgos.

Propone siete modelos para la definici´on del sistema: agente, tareas, ex-periencia, coordinaci´on, comunicaci´on, organizaci´on y dise˜no. El modelo parte de una descripci´on gr´afica que luego se completa con explicaciones en lenguaje natural de cada elemento. Cada modelo cuenta con una des-cripci´on de las dependencias respecto a otros modelos y de las actividades involucradas. Estos modelos se describen en lenguaje natural, comple-ment´andose con otras notaciones para describir el comportamiento de los agentes cuando interaccionan.

BDI

Las arquitecturas BDI se inspiran en un modelo cognitivo del ser humano [38]. Seg´un esta teor´ıa, los agentes utilizan un modelo del mundo, una re-presentaci´on de c´omo se les muestra el entorno. El agente recibe est´ımulos a trav´es de sensores ubicados en el mundo. Estos est´ımulos modifican el modelo del mundo que tiene el agente. Para guiar sus acciones, el agente tiene Deseos. Un deseo es un estado que el agente quiere alcanzar a trav´es de intenciones. ´Estas son acciones especiales que pueden abortarse debido a cambios en el modelo del mundo.

(41)

2.3. SISTEMAS MULTI-AGENTES (SMA) 41

que determinan a su comportamiento (creencias, objetivos y planes en este caso).

En esta metodolog´ıa la integraci´on con el ciclo de vida de software es re-ducida.

JADE

JADE implementa un modelo integrado por tres elementos principales: agentes, comportamiento y comunicaci´on.

En la secci´on de Agentes se definen aquellos agentes que integrar´an el SMA. Estos son entidades de software que est´an localizadas en una ´unica plataforma. Una plataforma de agentes es un entorno de ejecuci´on en donde los agentes est´an ejecut´andose.

El comportamiento de los agentes consiste en una asignaci´on directa de las tareas que van a realizar, indicadas de manera individual. Tambi´en ofre-ce un elemento de comunicaci´on que permite el enlace entre los diversos agentes dentro de la plataforma.

JaCaMo

El modelo utilizado por JaCaMo consiste en la integraci´on de 4 dimensio-nes: Agentes, Entorno, Interacci´on y Organizaci´on.

La dimensi´on Agente consiste en la definici´on de todos los agentes necesa-rios para el funcionamiento del SMA a implementar. Los agentes contienen planes, intenciones y creencias ´utiles para actuar y comunicarse dentro de su entorno.

La dimensi´on entorno consiste en la definici´on abstracta de la actividad realizada mediante la definici´on de artefactos que son la representaci´on de objetos utilizados desarrollo de la actividad.

Dentro de la dimensi´on de Interacci´on se definen todas las interacciones necesarias para que los agentes trabajen en conjunto, pueden darse me-diante intercambio de mensajes.

Por ´ultimo esta la dimensi´on de Organizaci´on, esta es una estructura que describe las interacciones y otras relaciones con el fin de cumplir con un objetivo en com´un entre los integrantes de la organizaci´on. Se tiene una estructura basada en roles, una definici´on funcional donde se definen las tareas que deben realizar y por ´ultimo se definen reglas que indican el funcionamiento de la actividad colaborativa entre agentes.

De los modelos anteriormente descritos se resalta JADE y JaCaMo, ya que estos proporcionan una tecnolog´ıa particular para el desarrollo de SMA.

(42)

42 CAP´ITULO 2. ESTADO DEL ARTE

agentes implementados en Java. Usa el lenguaje de comunicaci´on de agentes FIPA, haciendo uso de una combinaci´on de socket, RMI y CORBA.

Por otro lado JaCaMo [40] es un framework para la programaci´on de SMA que combina tres tecnolog´ıas:Jasonpara la programaci´on de la dimensi´on de agentes aut´onomos, CartAgo para programar la dimensi´on entorno mediante artefactos y Moise que permite la programaci´on de la dimensi´on de organizaci´on de multi-agentes. Una visi´on general de c´omo JaCaMo combina estar tecnolog´ıas en diferentes niveles de abstracci´on se puede observar en la Figura 2.16.

Figura 2.16: Visi´on general de JaCaMo [40]

Jason es una extensi´on de AgentSpeak (L) y est´a basado en la arqui-tectura BDI compuesta por una base de creencias, metas, planes y eventos. Las creencias representan el estado actual del agente y de los dem´as agentes as´ı como tambi´en la informaci´on del medio ambiente en el que se est´a situado, estas son representadas por una colecci´on de literales como en la l´ogica tradicio-nal de la programaci´on. Las metas corresponden a la tarea que el agente tiene que lograr. Los planes son cursos de acci´on, ya sean internos o externos, son desencadenados por eventos que los agentes pueden tener din´amicamente, son instanciados y ejecutados para alcanzar los objetivos de los agentes. Los eventos est´an relacionados con los cambios de la base de creencias de los agentes o sus objetivos.

(43)

2.4. TRABAJOS RELACIONADOS 43

Los agentes y artefactos se comunican por medio de acciones y percepciones. Un artefacto est´a compuesto por un conjunto de operaciones y un conjunto de propiedades observables. Las operaciones de los artefactos representan acciones externas provistas por el agente para el ambiente. Las propiedades observables y las se˜nales equivalen las percepciones del agente. Los artefactos pueden li-garse entre s´ı, de manera de que un artefacto pueda disparar la ejecuci´on de operaciones de otro artefacto .

Moisees la tecnolog´ıa que permite programar la dimensi´on para el modelo organizacional de un sistema multi-agente. Una organizaci´on se describe desde el punto de vista estructural en t´erminos de grupos y roles; desde un punto de vista funcional en t´erminos de esquema social que incluye las metas sociales que un agente debe cumplir y las misiones que agrupan las metas. Y desde el punto de vista normativo que contiene las normas, estas hacen relaci´on a las misiones que realizar´an los roles que adopten los agentes.

2.4.

Trabajos Relacionados

En la literatura actual, existen trabajos relacionados, que integran la tec-nolog´ıa Multi-agente en ambientes distribuidos como lo son las herramientas Groupware. Se rescatan tres trabajos [43],[44] y [45].A continuaci´on se mencio-nan las caracter´ısticas importantes de estos:

[43] es un Sistema Multi-agente para la gesti´on y apoyo del conocimiento en la computaci´on distribuida pensado para permitir la interoperabilidad de re-cursos distribuidos y la integraci´on de conocimiento. Propone una arquitectura que emplea sistemas multi-agentes para la gesti´on de recursos humanos y de informaci´on distribuida en entornos inform´aticos. Es basado en el uso de onto-log´ıas para almacenar y gestionar la informaci´on que circula en el entorno. La arquitectura se compone de cuatro clases principales de agentes.

1. Agentes de usuario: representan la interfaz entre el sistema y el usuario final, algunas caracter´ısticas de agentes incluidas son la semi-autonom´ıa, la cooperaci´on y el aprendizaje. Proporcionan diferentes servicios para el usuario y responden a las consultas y eventos iniciados por el usuario con la ayuda de los agentes de ontolog´ıas.

2. Agentes de Solicitud: integran herramientas heterog´eneas al hacer aplica-ci´on con informaci´on espec´ıfica disponible a nivel mundial, las propiedades de los agentes que contienen son la autonom´ıa, proactividad y cooperaci´on. Estos est´an a cargo del almacenamiento de los agentes ontol´ogicos.

3. Agentes de ontolog´ıa: gestionan los recursos de informaci´on del entorno distribuido, los agentes son aut´onomos, cooperativos, cuentan con movili-dad y pueden aprender. Proporcionan servicios de gesti´on de la ontolog´ıa en redes de comunicaci´on, son capaces de acceder, recuperar, a˜nadir, mo-dificar y suprimir informaci´on de la biblioteca de ontolog´ıas.

(44)

44 CAP´ITULO 2. ESTADO DEL ARTE

Tambi´en proporciona una biblioteca de ontolog´ıas que componen la es-tructura de la maquina habilitada para la distribuci´on y almacenamiento de la informaci´on. Su objetivo es establecer una terminolog´ıa conjunta entre los miembros del entorno distribuido por los conceptos que definen relaciones y reglas de inferencia.

AYLLU [44] es un modelo que propone que la colaboraci´on entre personas imite los mecanismos de cooperaci´on de los sistemas multi-agentes. La propuesta es hacer que los protocolos se hagan expl´ıcitos, que cada mensaje tenga una sem´antica y un prop´osito claro. Presenta una plataforma de colaboraci´on que plantea cubrir al menos tres aspectos principales: la cooperaci´on entre personas, la diversidad y el contexto, y el manejo de los recursos compartidos. Adem´as, proporcionar una comunicaci´on estructurada y sem´antica en un marco en el cual los participantes tengan conciencia de grupo, la plataforma debe personalizar y adaptar al contexto.

El modelo AYLLU propone un paradigma de comunicaci´on basado en pro-tocolos de interacci´on. En estos protocolos, los mensajes intercambiados, adem´as de tener secuencias muy bien definidas, tambi´en incluyen en forma expl´ıcita la ejecuci´on que debe realizarse, lo que facilita la compresi´on y procesamiento de los mismos.

La plataforma propuesta contiene mecanismos de adaptaci´on que facilitan la personalizaci´on y contextualizaci´on. Cuenta con 4 componentes, el componen-te MATEO se encarga de la formaci´on de grupos, los servicios de adaptaci´on est´an en manos del componente AES, AYPUY est´a a cargo del manejador de recursos y la articulaci´on de servicios cooperativos por el componente AYLLU. Tambi´en propone un framework, que se basa en la creaci´on de una serie de agentes que ayuden al usuario a seguir de manera correcta los protocolos de interacci´on que determinan un servicio cooperativo. Cuando un servicio coope-rativo es instanciado, un agente Manejador de Comunidad (CMA) se crea por medio de un agente f´abrica (FA). Los CMA se encargan de crear una serie de agentes de Comunidad (CA), uno por cada participante en un servicio coope-rativo. Los CA son los encargados de ejecutar los protocolos de interacci´on, los cuales son intercambios de mensajes estructurados entre los diferentes CA dentro de un servicio cooperativo. En el caso de requerir comunicaci´on con el usuario al que cada CA represente, se utilizan otros agentes asociados a la sesi´on del usuario. El agente Administrador (AA) se encarga de realizar acciones admi-nistrativas, tales como creaci´on, actualizaci´on, eliminaci´on, etc. de los diferentes usuarios, roles, habilidades, recursos y grupos de trabajo.

En [45] utilizan la tecnolog´ıa multi-agente para simular sistemas sociales, considera a los agentes inteligentes por que se asimilan a lo que es un sistema social, la metodolog´ıa utilizada para la construcci´on del SMA es INGENIAS debido al conjunto de herramientas que proporciona. Con ello logran eliminar la necesidad de codificar los modelos de simulaci´on social con un lenguaje de programaci´on, en vez de esto, el usuario crea sus modelos de forma gr´afica y trabaja con conceptos de un nivel de abstracci´on mayor.

La exigencia de los usuarios ante herramientas Groupware va aumentando d´ıa a d´ıa, ya que los grupos de personas, el trabajo como tal y contexto va evolucionando, es decir es cambiante.

(45)

2.4. TRABAJOS RELACIONADOS 45

un punto importante a considerar, puesto que sin estas el trabajo en grupo no podr´ıa ser realizado.

El buscar t´ecnicas que ayuden a mejorar y agilizar las tareas realizadas en el trabajo colaborativo se convierte en una tarea imprescindible, por lo que la utilizaci´on de Sistemas Multi-agentes se convierte una opci´on, est´a es una tecnolog´ıa inteligente que puede apoyar y beneficiar los procesos del trabajo colaborativo.

Es el caso de [43][44], son modelos que proponen la integraci´on de tec-nolog´ıas multi-agente, el primero preocupado por la gesti´on del conocimiento generado en el entorno para hacer m´as efectivo los entornos distribuidos ba-sado en ontolog´ıas, el segundo, adaptando protocolos de interacci´on en base a los gustos y preferencias de los usuarios participantes en entornos colaborativos basado en componentes se software.

(46)
(47)

Cap´ıtulo 3

Modelo MARS con

Agentes: MARS-a

En este Cap´ıtulo se presenta el modelo de actividad para SG dise˜nado con tecnolog´ıa multi-agente denominado MARS-a. Para ello, particularmente se hizo uso del modelo de Actividad MARS [5] y el framework JaCaMo [40].

En MARS, una actividad colaborativa se realiza dentro de un ´area de trabajo denominada arena. En una arena participan actores (Carmen, Eliza-beth, Iv´an) realizando interacciones (votar, editar articulo), manipulan objetos (documentos, mensajes) y asumen roles dependiendo de la actividad que reali-cen (editor, revisor). Asimismo, en una arena se definen reglas y condiciones m´ınimas para que la actividad se realice (limite de entre: 15 de agosto, Carmen es revisor, Elizabeth e Iv´an redactan la conclusi´on), todo esto descrito en un modelo de interacci´on.

JaCaMo es una tecnolog´ıa para la programaci´on de SMA, utiliza un mo-delo basado en cuadro dimensiones: 1)dimensi´onentorno, 2) dimensi´onagentes, 3) dimensi´oninteracciones y 4)dimensi´onOrganizaci´on.

De la integraci´on de ambos se obtuvo la siguiente tabla:

Elemento MARS Dimensi´on Elemento Jacamo

Arena Entorno entorno

Modelo de Interacci´on Organizaci´on esquema organizacional Interacci´on Social Organizaci´on esquema organizacional en ejecuci´on

Actor Agente agente

Objetos Entorno artefacto

Familia de actores Organizaci´on grupos de agentes

Escenario Agente planes

Cuadro 3.1: Relaci´on entre elementos de MARS y JaCaMo

La relaci´on entre los elementos de MARS y JaCaMo da lugar al Modelo MARS-a, mismo que es presentado a continuaci´on.

(48)

48 CAP´ITULO 3. MODELO MARS CON AGENTES: MARS-A

3.1.

MARS-a

MARS-a es un modelo de actividad multi-agente para la construcci´on de SG basado en la noci´on de aspectos sociales propios de las actividades colabo-rativas como lo son la definici´on de roles, la definici´on de tareas y la definici´on de reglas de trabajo. En donde se toma como base MARS y JaCaMo.

Esta integrado por cuatro dimensiones principales: Agentes, Entorno, In-teracci´on y Organizaci´on mismas que son descritas a continuaci´on:

3.1.1.

Dimensi´

on Agente

Un actor participante en la actividad colaborativa ser´a representado por unagente. Es decir, por cada actor ser´a creado un agente.

Los cuales est´an compuestos por:

Planes: son procedimientos que los agentes tienen para lograr un objetivo. Contienen losescenarios, es decir la manera en que una acci´on puede ser realizada para alcanzar un objetivo.

Intenciones: Es la elecci´on del plan que mas se ajuste a la necesidad del agente con el fin de satisfacer sus objetivos.

Creencias: esta relacionado con el estado actual del agente, su ambiente y los otros agentes que participan en la actividad colaborativa.

Pueden formar parte de un grupo, seg´un las caracter´ısticas en com´un que se tengan y el rol que sea asignado.

3.1.2.

Dimensi´

on Entorno

Elentorno es una capa abstracta del entorno en el que se ejecuta la acti-vidad colaborativa, en esta se definen losartefactos(objetos) que son utilizados en el desarrollo de la actividad capturando la informaci´on del entorno.

Un artefacto esta compuesto por una serie de propiedades y m´etodos, que son la base para que los agentes puedan percibir el entorno y actuar en ´el.

Los agentes podr´an crear, percibir, manipular y destruir objetos.

3.1.3.

Dimensi´

on Interacciones

Estas interacciones son dadas a nivel agente, pueden ser de dos tipos:

Agente - Agente: Son las interacciones entre los agentes del sistema, pue-den llevarse a cabo mediante intercambio de mensajes (actos de habla).

(49)

3.2. ARQUITECTURA DE UN SG CON AGENTES 49

3.1.4.

Dimensi´

on Organizaci´

on

Un modelo organizacional esta integrado uno o mas esquemas organi-zacionales que contendr´an una estructura jer´arquica conformada por roles y grupos de agentes, una definici´on funcional que define las interacciones de la actividad colaborativa as´ı como unaestructura normativa, la cual describe las reglas de trabajo para la realizar la actividad.

3.2.

Arquitectura de un SG con Agentes

Para poder hacer uno del modelo multi-agente propuesto es necesario con-tar con una arquitectura para su soporte. Para esto se defini´o una arquitectura basada en la arquitectura gen´erica de SG presentada en el Cap´ıtulo 2, haciendo la integraci´on de la tecnolog´ıa multi-agente. Esta se muestra en la Figura 3.1:

Figura 3.1: Arquitectura funcional para MARS-a

La arquitectura esta compuesta por cuatro elementos principales: 1)In-terfaz, 2) almacenamiento, 3) n´ucleo funcional y 4) componente social, descritos a continuaci´on:

1. Interfaz: Es el entorno compartido entre los usuarios para lograr sus ob-jetivos.

2. Almacenamiento: Medio que almacena la informaci´on del entorno, obte-nida del n´ucleo funcional, es decir, se almacenan todas las funciones eje-cutadas en una partida, informaci´on de la cu´al hace uso el componente social para su funcionamiento.

3. N´ucleo funcional: Contiene todas las funciones que proporciona la aplica-ci´on colaborativa.

(50)

50 CAP´ITULO 3. MODELO MARS CON AGENTES: MARS-A

acci´on en la interfaz. Este componente esta integrado por 3 dimensiones principales:

Agentes: encargada de gestionar los actores que participan en la ac-tividad colaborativa mediante un agente por cada actor. Estar´an en constante comunicaci´on con el entorno y organizaci´on.

Entorno: Abstrae el entorno de trabajo, es el que realiza la conexi´on y consulta a la base de datos para alimentar las percepciones de los Agentes e informar lo sucedido en el desarrollo de la actividad.

Organizaci´on: Esta gestiona aspectos sociales, crea una estructura jer´arquica de usuarios, una definici´on funcional de tareas y una es-tructura normativa. Los agentes consultan la dimensi´on organizaci´on para verificar los objetivos que deben alcanzar y las acciones que deben realizar para lograrlo.

(51)

Cap´ıtulo 4

Caso de Estudio:

Videojuego Colaborativo

Para el dise˜no del componente social de la arquitectura propuesta (Figura 3.1), se realizo el modelado de un caso de estudio con los modelos MARS y MARS-a.

El caso de estudio seleccionado es: un videojuego colaborativo llamado AssaultCube (AC) [16]. Este es un videojuego de colaboraci´on de disparos en primera persona, de c´odigo abierto y puede ser ejecutado en entornos de escrito-rio funciona en casi cualquier computadora y sistema operativo, necesita pocos recursos, esta creado para jugar en l´ınea por medio de servidores. AC ofrece diversas modalidades de juego, tales como:

Captura de bandera enemiga (CTF).

Combate por rondas, puede ser individual o por equipos (SURV y TSURV).

Captura de la propia bandera, individual o por equipos (KTF y TKTF).

Posesi´on de bandera (HTF).

Edici´on cooperativa de un mapa (COOP).

Funcionalidades de colaboraci´on y rendimiento

AC ofrece funcionalidades b´asicas de la actividad a desarrollar as´ı como tambi´en herramientas para la comunicaci´on y colaboraci´on las cuales tienen el objetivo de ayudar a los participantes en el desempe˜no de la actividad, estas son presentadas a continuaci´on:

Las funcionalidades b´asicas para que la actividad pueda realizarse dentro de AC son las siguientes:

Saltar: permite esquivar obst´aculos presentes en el escenario del juego.

Caminar: permite desplazarse a trav´es del mapa en donde se desarrolla la actividad.

Agacharse: permite esquivar obst´aculos y desplazarse.

Referencias

Documento similar

Reglamento (CE) nº 1069/2009 del parlamento Europeo y del Consejo de 21 de octubre de 2009 por el que se establecen las normas sanitarias apli- cables a los subproductos animales y

4.- Másteres del ámbito de la Biología Molecular y Biotecnología (9% de los títulos. Destaca el de Biotecnología Molecular de la UB con un 4% y se incluyen otros

beralidades piadosas de esta envidiable R eyna, que fué grande, no para nuestra miseria, como el insolente Difilo.. Pedro Crisd- logo que est in cwlis

BUBER'NEUaiAMN, Margarete ¡ Von Potsáam ndch Moskau. SMíionen eines Irftveges. Stuttgart, 1957; Deutsche Verlags-Anstalt, 480 págs... DAHM: Deutsches Reckt. Die geschichüichen

Debido a la calidad y el legado de nuestra compañía, los cuales se reflejan en nuestros pianos, elegir un instrumento hecho por Steinway & Sons tiende a ser una decisión

- Un curso formativo para los técnicos de laboratorio de la UPV sobre la prevención de los residuos en los laboratorios, que se llevará a cabo los días 23, 24, 25, 26 y 27

En tales circunstancias, una forma de proceder posible sería iniciar una fase preconstitucional de diálogo nacional, como sucedió en Sudáfrica, para reunir a

¿Cómo se traduce la incorporación de ésta en la idea de museo?; ¿Es útil un museo si no puede concebirse como un proyecto cultural colectivo?; ¿Cómo puede ayudar el procomún