La metodología Gaia

download La metodología Gaia

of 11

Transcript of La metodología Gaia

Metodologa GAIASistemas Multi-agentesMelissa Prez Lpez Andrs Felipe Vergara

PROFESOR: Demetrio Arturo Ovalle Universidad Nacional de Colombia 2012

INTRODUCCION La metodologa Gaia es un enfoque prctico al anlisis y diseo, implementacin y gestin de sistemas de software basados en agentes

Metodologa Gaia sugiere que la totalidad sistema multi-agente se puede definir en equipo de los roles y organizaciones del agente, una organizacin se puede definir en trminos de una serie de modelos prcticos diseables y reutilizables. Ms tarde, esos modelos son utilizados como las piedras de los cimientos para la construccin de la arquitectura del sistema. Las etapas bsicas de la metodologa GAIA son: anlisis y diseo FASE DE ANALISIS Los aspectos de macro nivel son abordados por el modelo de interaccin y los aspectos de micro-nivel son abordados por el modelo de rol. Se enfoca en los aspectos organizacionales de los agentes tanto en conceptos de equipo (roles, responsabilidades, tipos de agentes, protocolos) como en equipos de diseo del dominio de la organizacin (servicios, interacciones, conocidos, actividades). En esta fase las principales tareas son definir una coleccin de roles de los agentes y definir las relaciones entre los agentes. Entonces, los roles pueden ser vistos como la base del diseo de sistemas de agentes. Cada rol tiene cuatro atributos: responsabilidades, permisos, actividades y protocolos, los cuales son usados para describir la funcin y los estados de los agentes. FASE DE DISENO Estos dos modelos se irn perfeccionando en tres modelos de Gaia: agente modelo, diagrama de servicio y el modelo conocido. El modelo agente es un refinamiento del modelo de rol. El modelo de servicios tambin se especifican las funciones y servicios prestados por el agente individual. El modelo de conocimiento es un refinamiento del modelo de interaccin, que define adems los enlaces de comunicacin entre los agentes.

DISENO ORIENTADO A AGENTES Y PROCESO DE DESARROLLO EN LA METODOLOGIA GAIA Los principales conceptos que aparecen en GAIA son dos: concretos y abstractos. Las entidades abstractas son las usadas durante el anlisis para la conceptualizacin del sistema, mientras que las entidades concretas son empleadas en el proceso de diseo [2]

Figura 1 Entorno de desarrollo y procesamiento de prototipos de diagramas de agentes basados en Gaia [1]

El diagrama [Figura 1] muestra el modelo de Gaia desde el anlisis de requisitos conceptuales para la creacin de roles y modelos, pasando al diseo de la arquitectura y la aplicacin prctica de sistemas complejos mediante el uso de conceptos Gaia concretos. En la fase de anlisis, es decir, nivel de conceptos abstractos, el objetivo es producir abstracciones y especificaciones orientadas al agente (funciones, modelos de interaccin). Esta es una interpretacin y descomposicin del problema complejo a resolver. El modelo se utiliza para aclarar la funcin y la formalizacin de las habilidades (competencias, las actividades de los agentes). Con el fin de compartir recursos, conocimientos, problemas y tareas, y facilitar el diseo de la solucin.

El modelo de interaccin se utiliza para aclarar las relaciones entre las funciones, y para vincular a los agentes de cooperacin. [4,7] En la fase de diseo, es decir, el nivel de conceptos concretos, el objetivo es definir una solucin del problema. El proceso de diseo consiste en identificar los tres modelos (el modelo de agente, el modelo de servicios y el modelo conocido), indicando lo que tienen que cumplir, y la construccin y organizacin de todos los componentes en la arquitectura de agente. Los modelos de diseo deben proporcionar una descripcin clara de clculo del sistema, que a su vez prometa la implementacin del sistema como un refinamiento relativamente sencillo. En la Figura 2, se descomponen los componentes basados en agentes y servicios, desde el nivel del agente para su diseo y fabricacin en, el agente de modelos, servicio de modelo y el modelo de los conocidos.

Figura 2 Diagrama de flujo del proceso de diseo Gaia [1]

Este diagrama de flujo de diseo grfico [Figura 2] Tambin se muestra cmo una serie de instrucciones a los desarrolladores de sistemas gua a travs del procesamiento del diseo de Gaia, a partir de conceptos abstractos a conceptos concretos. Cada instruccin puede llevar a cabo una de las funciones bsicas de Gaia o abstracciones de procedimiento.

Se comienza con la iniciacin y definicin de roles y, a continuacin viene un grupo de la planificacin de los agentes de la organizacin de los roles de comportamiento, seguido por la carga de los modelos particulares (tipo de agente, el servicio y el conocimiento) de la biblioteca de agente de modelos. Otro de los beneficios de los modelos estructurados como estos, es que permiten la reutilizacin de modelos de agentes y servicios. Finalmente, se espera la construccin de una biblioteca de componentes de modelos basados en agentes, cada uno representando una aplicacin almacenado en una biblioteca, los cuales podran ser reutilizados e invocado por los desarrolladores para el sistema de mltiples agentes diseo, implementacin y mantenimiento. Cuando otra tarea necesita la misma funcionalidad, el diseador puede importar el mdulo de la biblioteca. En la fase de implementacin, el desarrollador puede fcilmente importar y organizar los mdulos basados en agentes en el agente ejecutable. GAIA DISEO BASADO EN PRCTICAS Y HERRAMIENTAS DE MODELADO Hasta el momento, no hay muchos software orientado a agentes y aplicaciones en el mercado. En parte, esto es debido a la complejidad del desarrollo del sistema de agente, la ausencia de tcnicas maduras y la escasez de herramientas de software tiles. La metodologa Gaia es un intento de definir una metodologa de alto nivel que est diseado especficamente para el anlisis y el diseo de sistemas multi-agente. Ofrece unas especificaciones de alto nivel de abstraccin y una gama de modelos estructurales capaces para el anlisis y diseo de sistemas. Sin embargo, no hay forma dada para pasar de un modelo de anlisis de Gaia a un modelo de diseo. Las Implementaciones del sistema en la mayora de los casos se siguen haciendo a travs de la extensin de tcnicas orientadas a objetos. Por otra parte, el nivel de la superestructura, es decir, el nivel de agente de modelos de dominio, no se considera en la metodologa Gaia, el modelo se ha destacado en el esquema slo textuales. Por lo tanto, la metodologa Gaia ofrece un alto nivel de abstraccin mas para describir y organizar los agentes de software, que para modelarlos e implementarlos. La filosofa de diseo para el sistema basado en agente se basa en el desarrollo progresivo y la descomposicin de la conducta objeto de un sistema, es decir, extender la metodologa Gaia y adaptar algunas tcnicas de modelado e ideas de ingeniera de software orientada a objetos (ya que las tcnicas de modelado orientado a objetos no son directamente aplicables a los sistemas de agentes, y los agentes son ms complejos que los objetos). En este caso, con el fin de simplificar y completar la metodologa Gaia, un conjunto diagramas basados en Gaia que nos permitan hacer frente a las

abstracciones de nivel de dominio se introducen como prototipo en el proyecto de atencin a la salud de la UE-INCA [2,4] de la siguiente manera: Diagrama de agente y rol: define los tipos de agentes mediante la agregacin de funciones y tambin se define el papel de cada agente y sus atributos relacionados.

Tabla 1 Plantilla para definir agentes y roles

En el nivel de anlisis de Gaia, este esquema ayuda a descubrir conceptos abstractos del agente, por ejemplo: atributos del agente, responsabilidades, permisos, actividades, vitalidad y seguridad. Esto describe principalmente las funciones de agente individual, los estados y habilidades [Tabla 1]. Diagrama de Servicio: Esto proporciona un punto de vista del dominio de los servicios y tareas de los agentes individuales. Describe los servicios y las tareas, y deben incluir informacin adicional sobre los eventos prcticos y las condiciones particulares. El servicio puede variar debido a las diferentes tareas y las condiciones aplicadas a un sistema basado en el agente. Por ejemplo, en la UE-INCA el agente coordinador de atencin en caso de que el esquema bsico propuesto para los servicios de agente de atencin al Coordinador se puede ver en [Figura 3].

Figura 3 Diagrama de servicios en Gaia

Diagrama de colaboracin e interaccin: Aqu se describe cmo un agente responde al sistema o con otros agentes. Esto se logra mediante el uso de un lenguaje de comunicacin comnmente aceptado y los protocolos. [Figura 4] muestra las rutas de comunicacin y la va entre los pacientes y el sistema de atencin de la salud. Se pone de manifiesto que despus de las solicitudes de los pacientes analizados cuidadosamente ", el Coordinador de Atencin agente pasa el caso del paciente a un sistema de servicio de salud apropiado de atencin, por ejemplo, una clnica local, consultorio dental, o en el hospital y, a continuacin esta informacin se desva a un cargo profesional de la salud, como un mdico o una enfermera.

Figura 4 Diagrama de interaccin de Gaia

Diagrama conocido: Esto define las conductas deseadas de los agentes de dominio de todos los agentes. Contiene un conjunto de casos de uso y los grficos correspondientes a la va de comunicacin entre los agentes. Por ejemplo, como muestra en [Figura 6], Coordinador de agente de atencin es la organizacin de un evento para un paciente, que podra ser para hacer una cita con el mdico o la enfermera o para recibir una receta [Figura 5].

Figura 5 Diagrama de un conocido Gaia

Diagrama de Organizacin: Este presenta la estructura general de una sociedad orientada hacia el agente, es decir, la arquitectura del sistema basado en el agente y el medio ambiente de trabajo, que incluye la forma en que la totalidad de los agentes puede ser organizados y gestionados en un nico entorno de trabajo, mientras que el acceso a bases de datos y otra compartida recursos.

Figura 7 Diagrama de organizacin Gaia

BENEFICIOS DE USAR GAIA La metodologa Gaia pretende ser un enfoque prctico para el anlisis, diseo, implementacin y gestin de los software de sistemas de agentes. Es un programa fcil de usar, orientado a agentes, con herramienta de desarrollo de software. Se ofrece apoyo prctico y orientacin, ya que actualmente slo cubre el anlisis del sistema y las fases de diseo, demostrando una serie de directrices que son directamente relevantes a los agentes en su mbito de trabajo de coordinacin. Con la ampliacin propuesta de la metodologa Gaia, basado en herramientas de modelado, el desarrollador podra fcilmente poner el anlisis de Gaia y el diseo de la descripcin de texto en un diseo grfico en directo. Las numerosas ventajas y caractersticas positivas de la aplicacin de la metodologa para el diseo agente puede ser abordado como: La estructura adaptable: el modelado de Gaia y la estructura son breves, el sistema es fcil de manejar y configurar de nuevo por el usuario final, adems, los requisitos de desarrollo pueden ser re-configurados, a fin de la reutilizacin de modelos, componentes y funciones.

Comunicacin a Bajo Precio: Gaia ofrece incorporada en el papel de agente de modelos de conversacin o de agente, las interconexiones y las interacciones en entornos de agente comn. El diseo del sistema Escalable: Gaia, con largos herramientas de diseo grfico ofrece un conjunto de mtodos de gran alcance y funcional, adems de funciones para ampliar la capacidad de apoyo y proporcionar los servicios de agente proactivo, con la arquitectura de agente altamente flexible. CASO DE ESTUDIO Los juegos modernos en su permanente bsqueda por capturar ms la atencin de sus jugadores, requieren de tcnicas de Inteligencia Artificial que les permita a los personajes asumir comportamientos ms cercanos o parecidos a la realidad. Para lograr esto, existen muchas tcnicas que se pueden utilizar, pero en los ltimos aos el uso de agentes inteligentes ha tomado gran importancia, ya que las propiedades de los personajes encajan perfectamente con la definicin de dicha tcnica. Se mostrarn los principales resultados de investigacin y la forma como se us la metodologa GAIA para el modelamiento del comportamiento de los personajes en un juego de estrategia de tiempo real llamado Independencia (basado en la Revolucin de los Comuneros de la Independencia de Colombia). Existen muchas tcnicas para el modelado del comportamiento de los personajes en los juegos modernos, destacndose las mquinas de estados finitos (MEF, permiten modelar el comportamiento de un sistema a travs de un nmero limitado de estados y un conjunto de transiciones de estado), los agentes y el scripting (lenguaje de programacin de cuarta generacin que simplifica alguna tarea compleja para un programa particular; su alcance puede variar desde un simple archivo de configuracin hasta un complejo lenguaje interpretado en tiempo de ejecucin), sin demeritar la importancia de las redes neuronales y la lgica difusa, entre otras. Sin embargo, las tres primeras se han impuesto en esta rea, debido a su fcil codificacin y a los excelentes resultados que ofrecen en el corto tiempo. Para el desarrollo de video juegos es preciso tener en cuenta varios conceptos, uno de ellos, el guin, que normalmente es desarrollado por un profesional de la comunicacin, las artes o la sociologa. Desde la perspectiva tcnica, es preciso tener en cuenta los prerrequisitos matemticos, entre ellos, la teora de vectores, matrices, rayos y rotacin de ejes, los cuales son de gran utilidad para trabajar en espacios tridimensionales. Un concepto bsico son las losas, que permiten la conformacin del terreno del juego. Teniendo definidas las losas, se debe pensar en cmo se va a hacer para desplazar a una unidad (personaje) desde un punto A hasta un punto B del mapa, y ms an, gracias a las propiedades de las losas, hay que establecer si hay obstculos que puedan alterar dicho desplazamiento. A este problema se le conoce como la bsqueda de camino. Otro tema importante, consiste en definir la API que se usar para el desarrollo del video juego, entre ellas: DirectX y OpenGL.

Teniendo en cuenta que estas APIs no ofrecen un modelo orientado objetos para su uso. Se diseo y desarrollo un motor orientado a objetos como base de la implementacin del proyecto. Teniendo en cuenta que GAIA es una metodologa orientada a desarrollar agentes que colaboran entre s para alcanzar los objetivos del sistema, pensando ms en que van a existir varios tipos de agentes cada uno desempeando un rol y que en este caso de estudio slo se identific un agente como tal, es posible que hubiera sido ms propicio trabajar con agentes autnomos en lugar de hacerlo con sistemas multiagentes, muy a pesar de los buenos resultados obtenidos. Un agente autnomo es un nico agente que incluye temas como sentido, modelado de emociones, motivacin, personalidad y acciones de seleccin y planeamiento, que fue realmente lo que se hizo con el agente AgenteUnidad definido en el juego Independencia. Sin embargo si la idea es que todo el sistema se modele con agentes, es muy probable que no se defina nicamente un agente y en ese caso si se requiera de un sistema multiagente como GAIA, MASCommonKADS u otra metodologa de este tipo. Se resalta en el videojuego la utilizacin de una metodologa de agentes para la definicin del comportamiento de los personajes del juego. En este sentido se debe considerar que GAIA ayud a definir los agentes que se utilizaran dentro del juego sin necesidad de entrar en detalles de implementacin y que los productos obtenidos gracias a esta metodologa se pudieron disear muy fcilmente usando UML. Existi, entonces, una complementariedad entre GAIA, UML y Programacin Orientada a Objetos que permiti que la definicin e implementacin del comportamiento de las unidades del juego estuviera a la altura y vanguardia de grandes ttulos de juegos en esta misma categora. Este juego muestra la capacidad de los ingenieros Colombianos, en el desarrollo de proyectos software NO tradicionales, y que pueden a futuro ser una base slida de ingresos para el Pas.

REFERENCIAS

[1] Huang, W., El-Darzi, E., Jin, L., Extending the GAIA Methodology, 31st Annual International Computer Software and Applications Conference. 07695-2870-8/07, 2007 [2] Metodologas para sistemas Multi-agentes, disponible http://www.upv.es/sma/teoria/metodologias/Metodologias.pdf en

BIBLIOGRAFIA Huang, W., El-Darzi, E., Jin, L. , Extending the GAIA Methodology, 31st Annual International Computer Software and Applications Conference. 07695-2870-8/07, 2007 Gallego, F., Llorenz, F., Rizo, R., Breve anlisis de algunas metodologas de diseo de SMA, Departamento de ciencias de la computacin e inteligencia artificial, Universidad de Alicante, DCCIA-7, 2004 Muoz, N., Cobos, C., Rivera, W., Lpez, J., Mendoza, M., Uso de la metodologa GAIA para modelar el comportamiento de personajes en un juego de estrategia en tiempo real, Universidad del Cauca, 2010

-

-