Sie sind auf Seite 1von 25

Proyecto de Tesis: Simulacin basada en multiagentes Para la planificacin de proyectos de software

Benchmarking

BENCHMARKING DE METODOLOGAS Y TECNOLOGAS DE SIMULACIN DE SOCIEDADES HUMANAS PARA LA PLANIFICACIN 1. TECNOLOGA A APLICAR El sistema planteado en esta investigacin simular el comportamiento de una sociedad humana, especficamente en el mbito profesional de la gestin y desarrollo de proyectos de software, de modo que dicho modelamiento sirva como alternativa de planificacin para estos tipos de proyecto. Debido a esto, se debi evaluar distintas metodologas y tecnologas de software que, en general, permitan ser utilizados para modelar y/o simular el comportamiento de un sistema complejo conformado por seres humanos con conocimientos especficos y objetivos individuales que deben ser coordinados. 2.1 Propiedades Crticas Se identificaron las siguientes propiedades como las ms importantes que debe proporcionar una tecnologa o metodologa de software para poder desarrollar un sistema que simule adecuadamente una sociedad humana en un campo de conocimiento determinado. En el marco de esta investigacin, considero que todas estas propiedades tienen el mismo peso. Inteligencia: Esta propiedad est referida al nivel de complejidad en las tareas que se puede automatizar y delegar a un sistema informtico. En este sentido, para lograr el objetivo final de la presente investigacin, se requiere que el sistema a implementar pueda simular el comportamiento de una persona que cumple un rol determinado en el desarrollo de proyectos informticos. Autonoma: Capacidad de tomar decisiones, con poca o ninguna intervencin humana, con la finalidad de cumplir objetivos predefinidos. Para la simulacin de proyectos de TI, es crucial implementar entidades que puedan actuar de forma autnoma, tal como lo hara un ser humano, guiado por objetivos especficos del rol que cumple en el proyecto. Representacin de intereses humanos: Se refiere a la capacidad de un sistema para representar adecuadamente los intereses y objetivos de las personas o roles a los que deben representar, de modo que todas sus acciones y decisiones sean realizadas con el objetivo principal de cumplir, en la mayor medida posible, con estos intereses. Interaccin (cooperacin, coordinacin, negociacin):

Nathaly Milagros Arribasplata Morales

Proyecto de Tesis: Simulacin basada en multiagentes Para la planificacin de proyectos de software

Benchmarking

Es necesario que el sistema a implementar tenga la capacidad de simular entidades que puedan cooperar y realizar acuerdos o negociar con otras entidades similares. Esto debido a la propiedad anterior: cada uno de estos entes representar intereses distintos provenientes de los roles para los que estn modelados. Modelamiento y simulacin de sistemas complejos: Los procesos que estn involucrados en el desarrollo de procesos informticos conforman un gran sistema complejo, integrado por personas que cumplen roles especficos, reas, recursos, sistemas, etc. En estos tipos de proyectos, la complejidad es de tal grado que la planificacin de los tiempos y recursos necesarios para su culminacin satisfactoria devuelven, la mayora de veces, valores que estn bastante lejos de los resultados reales. Por todo esto se necesita de una tecnologa que pueda simular adecuadamente un sistema de gran nivel de complejidad. Representacin de conocimiento Para el marco de esta investigacin, es necesario que el sistema provea conocimiento explcito y emprico sobre desarrollo de proyectos de TI. Principales Metodologas y Tecnologas Dinmica de Sistemas: Metodologa creada por Forrester para el Modelamiento de sistemas socioeconmicos complejos, basados en los principios de la teora de control por retroalimentacin. Este enfoque se basa en obtener una perspectiva total de los problemas de gestin y se concentra en los aspectos humanos relacionados en el comportamiento de un sistema. La Dinmica de Sistemas puede ser til en situaciones donde actores se enfrentan a sistemas complejos, con muchas partes interactuando, de modo no-lineal y con relaciones temporales complejas y causalidades circulares. Se fundamenta en varias caractersticas de los sistemas en que actuamos y de las propias limitaciones de los seres humanos. Segn Forrester, los sistemas como empresas, organizaciones, mercados o economas son cerrados y no-lineales en su estructura. Son cerrados porque de alguna manera las decisiones de los actores causan efectos que posteriormente vuelven a influir en las decisiones: Si un gerente de marketing decide lanzar una campaa de promocin para uno de los productos de su empresa, esto puede conducir a generar una dificultad para otros productos de la misma empresa. En estas circunstancias, especialmente si 2 Nathaly Milagros Arribasplata Morales

2.2

Proyecto de Tesis: Simulacin basada en multiagentes Para la planificacin de proyectos de software

Benchmarking

algunos efectos se manifiestan con un retardo, se generan comportamientos indeseables como oscilaciones. Tambin existen efectos de reforzamiento, por ejemplo cuando una empresa llega primero en un nuevo mercado, resultado de una innovacin (una ventaja de conocimiento) y logra conservar o incluso ampliar su ventaja competitiva producto de la privilegiada relacin con sus clientes. Esto es la retroalimentacin que da un cierre a los sistemas. En general, en un mismo sistema encontramos varios bucles de retroalimentacin, con diferentes velocidades, puesto que el tiempo que pasa entre una causa y su efecto puede ser ms rpido o lento. Otra caracterstica es en muchas veces las conexiones entre las variables no son lineales, tal que los efectos muchas veces se multiplican en lugar de sumarse. Esta estructura de un sistema, explica su comportamiento, es decir la evolucin de los valores de las variables que se perciban como relevantes: la evolucin de la participacin de mercado, de la ventaja comparativa, de las relaciones con competidores y otras son causadas por las entidades estructurales y las relaciones causales entre ellas. Este comportamiento puede ser sorprendentemente complejo en su dinmica, an para estructuras aparentemente simples: crecimiento en forma de "S", crecimiento exponencial, sobre reaccin, crecimiento y derrumbe, oscilacin son comportamientos analizables desde su estructura subyacente.

Sistemas Multiagentes: La simulacin y el modelado basado en agentes es un nuevo enfoque para el modelamiento de sistemas compuestos de entes autnomos que interactan entre ellos. Esta tecnologa promete tener grandes efectos en la forma en la que las organizaciones utilizan la tecnologa informtica para dar apoyo a la toma de decisiones. Avances en computacin permiten que la tecnologa de multiagentes se aplique en un conjunto variado de campos. La caracterstica principal de un agente es la capacidad de tomar decisiones de forma independiente, lo cual requiere que dichos agentes sean entes activos. Loas agentes tienen las siguientes caractersticas principales: Identificable: Un individuo discreto con un conjunto de cualidades y reglas que gobiernan su comportamiento y su capacidad de toma de decisiones. Situado: Vive en un ambiente en el cual interacta con otros agentes. Adems usa protocolos para interactuar con ellos, como protocolos de

Nathaly Milagros Arribasplata Morales

Proyecto de Tesis: Simulacin basada en multiagentes Para la planificacin de proyectos de software

Benchmarking

comunicacin, as como la capacidad de reaccionar al entorno. Los agentes pueden reconocer y distinguir a otros agentes. Guiado por objetivos: Los agentes tiene metas que deben cumplir, para lo cual modulan su comportamiento. Autonoma: Los agentes son autnomos, pueden funcionar independientemente en su entorno y al interactuar con otros agentes, al menos en un rango limitado de situaciones. Flexibilidad: Los agentes son flexibles, tienen la capacidad de aprender y adaptar su comportamiento a travs de tiempo en base a su experiencia, lo cual requiere de memoria. Los agentes pueden tener reglas que modifiquen sus reglas de comportamiento.

Redes Neuronales Artificiales: Las redes de neuronas artificiales (denominadas habitualmente como RNA) son un paradigma de aprendizaje y procesamiento automtico inspirado en la forma en que funciona el sistema nervioso de los animales. Se trata de un sistema de interconexin de neuronas en una red que colabora para producir un estmulo de salida. Una de las misiones en una red neuronal consiste en simular las propiedades observadas en los sistemas neuronales biolgicos a travs de modelos matemticos recreados mediante mecanismos artificiales (como un circuito integrado, un ordenador o un conjunto de vlvulas). El objetivo es conseguir que las mquinas den respuestas similares a las que es capaz de dar el cerebro que se caracterizan por su generalizacin y su robustez. Con un paradigma convencional de programacin en ingeniera del software, el objetivo del programador es modelar matemticamente (con distintos grados de formalismo) el problema en cuestin y posteriormente formular una solucin (programa) mediante un algoritmo codificado que tenga una serie de propiedades que permitan resolver dicho problema. En contraposicin, la aproximacin basada en las RNA parte de un conjunto de datos de entrada suficientemente significativo y el objetivo es conseguir que la red aprenda automticamente las propiedades deseadas. En este sentido, el diseo de la red tiene menos que ver con cuestiones como los flujos de datos y la deteccin de condiciones, y ms que ver con cuestiones tales como la seleccin del modelo de red, la de las variables a incorporar y el preprocesamiento de la informacin que formar el conjunto de entrenamiento. Asimismo, el proceso por el que los parmetros de la red se adecan a la resolucin de cada problema no se denomina genricamente programacin sino que se suele denominar entrenamiento.

Nathaly Milagros Arribasplata Morales

Proyecto de Tesis: Simulacin basada en multiagentes Para la planificacin de proyectos de software

Benchmarking

Las redes neuronales artificiales (RNA) tienen muchas ventajas debido a que estn basadas en la estructura del sistema nervioso, principalmente el cerebro. Aprendizaje: Las RNA tienen la habilidad de aprender mediante una etapa que se llama etapa de aprendizaje. Esta consiste en proporcionar a la RNA datos como entrada a su vez que se le indica cul es la salida (respuesta) esperada. Auto organizacin: Una RNA crea su propia representacin de la informacin en su interior, descargando al usuario de esto. Tolerancia a fallos: Debido a que una RNA almacena la informacin de forma redundante, sta puede seguir respondiendo de manera aceptable aun si se daa parcialmente. Flexibilidad: Una RNA puede manejar cambios no importantes en la informacin de entrada, como seales con ruido u otros cambios en la entrada (ej. si la informacin de entrada es la imagen de un objeto, la respuesta correspondiente no sufre cambios si la imagen cambia un poco su brillo o el objeto cambia ligeramente) Tiempo real: La estructura de una RNA es paralela, por lo cul si esto es implementado con computadoras o en dispositivos electrnicos especiales, se pueden obtener respuestas en tiempo real.

Algoritmos genticos: Estos algoritmos hacen evolucionar una poblacin de individuos sometindola a acciones aleatorias semejantes a las que actan en la evolucin biolgica (mutaciones y recombinaciones genticas), as como tambin a una Seleccin de acuerdo con algn criterio, en funcin del cual se decide cules son los individuos ms adaptados, que sobreviven, y cules los menos aptos, que son descartados. Un algoritmo gentico es un mtodo de bsqueda dirigida basada en probabilidad. Bajo una condicin muy dbil (que el algoritmo mantenga elitismo, es decir, guarde siempre al mejor elemento de la poblacin sin hacerle ningn cambio) se puede demostrar que el algoritmo converge en probabilidad al ptimo. En otras palabras, al aumentar el nmero de iteraciones, la probabilidad de tener el ptimo en la poblacin tiende a 1. Los algoritmos genticos establecen una analoga entre el conjunto de soluciones de un problema, llamado fenotipo, y el conjunto de individuos de una poblacin natural, codificando la informacin de cada solucin en una cadena, generalmente binaria, llamada cromosoma. Los smbolos que

Nathaly Milagros Arribasplata Morales

Proyecto de Tesis: Simulacin basada en multiagentes Para la planificacin de proyectos de software

Benchmarking

forman la cadena son llamados los genes. Cuando la representacin de los cromosomas se hace con cadenas de dgitos binarios se le conoce como genotipo. Los cromosomas evolucionan a travs de iteraciones, llamadas generaciones. En cada generacin, los cromosomas son evaluados usando alguna medida de aptitud. Las siguientes generaciones (nuevos cromosomas), llamada descendencia, se forman utilizando dos operadores, de cruzamiento y de mutacin. Los algoritmos genticos son de probada eficacia en caso de querer calcular funciones no derivables (o de derivacin muy compleja) aunque su uso es posible con cualquier funcin. Deben tenerse en cuenta tambin las siguientes consideraciones: Si la funcin a optimizar tiene muchos mximos/mnimos locales se requerirn ms iteraciones del algoritmo para "asegurar" el mximo/mnimo global. Si la funcin a optimizar contiene varios puntos muy cercanos en valor al ptimo, solamente podemos "asegurar" que encontraremos uno de ellos (no necesariamente el ptimo). Sistemas expertos: Emulan el comportamiento de un experto en un dominio concreto y en ocasiones son usados por estos. Con los sistemas expertos se busca una mejor calidad y rapidez en las respuestas dando as lugar a una mejora de la productividad del experto. Estos sistemas imitan las actividades de un humano para resolver problemas de distinta ndole (no necesariamente tiene que ser de inteligencia artificial). Tambin se dice que un SE se basa en el conocimiento declarativo (hechos sobre objetos, situaciones) y el conocimiento de control (informacin sobre el seguimiento de una accin). Para que un sistema experto sea herramienta efectiva, los usuarios deben interactuar de una forma fcil, reuniendo dos capacidades para poder cumplirlo: Explicar sus razonamientos o base del conocimiento: los sistemas expertos se deben realizar siguiendo ciertas reglas o pasos comprensibles de manera que se pueda generar la explicacin para cada una de estas reglas, que a la vez se basan en hechos. Adquisicin de nuevos conocimientos o integrador del sistema: son mecanismos de razonamiento que sirven para modificar los conocimientos anteriores. Sobre la base de lo anterior se puede decir que Nathaly Milagros Arribasplata Morales

Proyecto de Tesis: Simulacin basada en multiagentes Para la planificacin de proyectos de software

Benchmarking

los sistemas expertos son el producto de investigaciones en el campo de la inteligencia artificial ya que esta no intenta sustituir a los expertos humanos, sino que se desea ayudarlos a realizar con ms rapidez y eficacia todas las tareas que realiza. Ventajas

Permanencia: A diferencia de un experto humano un SE (sistema experto) no envejece, y por tanto no sufre prdida de facultades con el paso del tiempo. Duplicacin: Una vez programado un SE lo podemos duplicar infinidad de veces. Rapidez: Un SE puede obtener informacin de una base de datos y realizar clculos numricos mucho ms rpido que cualquier ser humano. Bajo costo: A pesar de que el costo inicial pueda ser elevado, gracias a la capacidad de duplicacin el coste finalmente es bajo. Entornos peligrosos: Un SE puede trabajar en entornos peligrosos o dainos para el ser humano. Fiabilidad: Los SE no se ven afectados por condiciones externas, un humano s (cansancio, presin, etc.). Consolidar varios conocimientos.

Limitaciones

Sentido comn: Para un Sistema Experto no hay nada obvio. Por ejemplo, un sistema experto sobre medicina podra admitir que un hombre lleva 40 meses embarazado, a no ser que se especifique que esto no es posible. Lenguaje natural: Con un experto humano podemos mantener una conversacin informal mientras que con un SE no podemos. Capacidad de aprendizaje: Cualquier persona aprende con relativa facilidad de sus errores y de errores ajenos, que un SE haga esto es muy complicado. Perspectiva global: Un experto humano es capaz de distinguir cuales son las cuestiones relevantes de un problema y separarlas de cuestiones secundarias. Capacidad sensorial: Un SE carece de sentidos. Flexibilidad: Un humano es sumamente flexible a la hora de aceptar datos para la resolucin de un problema. Conocimiento no estructurado: Un SE no es capaz de manejar conocimiento poco estructurado.

Nathaly Milagros Arribasplata Morales

Proyecto de Tesis: Simulacin basada en multiagentes Para la planificacin de proyectos de software

Benchmarking

Modelo de Sistemas Viables: Modelo de Sistema Viable (MSV), concebido por el creador de la ciberntica organizacional, investigador britnico Dr. Stafford Beer, como un enfoque que tomando como smil al sistema nervioso humano, es considerado como esquema para el entendimiento del comportamiento de los sistemas sociales que el ser humano ha creado (empresas, ciudades, regiones, pases, ONGs). Posee las siguientes ventajas: No requiere la existencia de previa de la organizacin en estudio. Es una herramienta de complejidad Rompe el esquema jerrquico de entenderse dentro de la organizacin Involucra la realizacin de identidad organizacional Realiza una sinapsis entre los elementos internos y externos (adaptacin) El propsito de este modelo de sistema viable es permitir a las organizaciones obtener la flexibilidad que necesitan para sobrevivir en medios ambientes rpidamente cambiantes y complejos. Beer ha desarrollado criterios de efectividad organizacional, estos criterios son un conjunto de principios y leyes de organizacin, usando como referencia la Ley de Requisito de Variedad, que en forma general establece que, un controlador tiene un requisito de variedad, si y solo si, tiene la capacidad para mantenerse dentro de un conjunto de objetivos deseados. El mtodo de diseo consta de las siguientes etapas:
Establecer la identidad organizacional: Se determina la identidad de

clase, que da origen a la organizacin y que la distingue de los dems.


Modelamiento de los lmites organizacionales del sistema: Se deben

definir todas aquellas actividades necesarias para efectuar transformacin independiente de la organizacin a desarrollar.
Modelamiento

la

de los niveles estructurales: Reconocer aquellas actividades tecnolgicas de las cuales la organizacin tiene capacidad de hacerse cargo.

Estudio de discrecin y autonoma: Se debe realizar un cuadro donde se

relacionan las actividades primarias con las actividades de regulacin.


Estudio y diseo de los mecanismos de control: Se busca mecanismos

que reduzcan o amplen la variedad entre los diferentes niveles recursivos de la organizacin. 8 Nathaly Milagros Arribasplata Morales

Proyecto de Tesis: Simulacin basada en multiagentes Para la planificacin de proyectos de software Las cinco funciones esenciales para la viabilidad:

Benchmarking

Una unidad autnoma (o el sistema viable) tiene que tener cinco llaves sistemas en el lugar si debe funcionar con eficacia en su ambiente. Estos son: Puesta en prctica, Coordinacin, Control, Inteligencia y Poltica. 1. Implementacin: Actividades primarias, aquellas responsables de producir los productos o servicios implcitos por la identidad de la organizacin, estn en el corazn del modelo recurrente. Los productos de la organizacin y servicios son producidos en los niveles diferentes de agregacin por su integrado primario de actividades y la cadena de valor de la organizacin en total pone en prctica su objetivo total. Generalmente dejamos de revelar (desdoblar) la estructura en el punto donde un pequeo equipo de la gente es responsable de una tarea de trabajo completa (una clula de la fabricacin). Aunque en la teora una persona individual sea tambin un sistema viable, tratamos con un modelo de organizacin o el trabajo cooperativo entre individuos. Por lo tanto, nosotros esperamos ver los sistemas ms viables, independientemente del nivel estructural ellos ocurren, conteniendo subsistemas remotos como un apoyo para manejar la complejidad de sus ambientes. 2. Coordinacin: Un sistema viable tambin tiene sistemas en el lugar para coordinar los interfaces de sus funciones que aaden valor y las operaciones de sus subunidades primarias. En otras palabras, la coordinacin es necesaria entre la adicin de valor funciona as como entre las actividades integradas primarias. 'La coordinacin' lamentablemente demasiado a menudo es usada toda como un trmino de substituto para la cima - abajo la direccin y el control en el vocabulario de direccin de hoy - como si por cambiando el trmino usado, las acciones del gerente autocrtico de algn modo se harn ms sabroso. El sentido en el cual deseamos usar el trmino es ' la coordinacin por el ajuste mutuo entre funciones de apoyo y entre unidades autnomas. Esto es un rea donde los sistemas de informacin pueden ser sumamente provechosos en la evitacin de la intervencin ms directa e intrusa humana - a condicin de que ellos sean diseados con los principios correctos en mente.

Nathaly Milagros Arribasplata Morales

Proyecto de Tesis: Simulacin basada en multiagentes Para la planificacin de proyectos de software 3. Control:

Benchmarking

Ms equipos pueden compartir normas comunes, accesos y valores, mayor posibilidades que se ocurra la comunicacin, causando menos ' la nueva invencin de la rueda ' y ms posibilidad de sinergia. El ms fuerte estos eslabones laterales, que es tanto de una naturaleza tecnolgica como de humana, el menos el exigencia para direccin para intentar para imponer control desde arriba y el mayor el sentido de autonoma y fortalecimiento experimentado por las actividades subsumidas primarias. Sin embargo, otro canal importante es usado como un adjunto dirigir el control: el canal de supervisin. La funcin de control necesita el aseguramiento que la responsabilidad hace un informe ello recibe son de verdad una reflexin exacta del estado de actividades primarias. A menudo la informacin proporcionada en informes de responsabilidad tiende a reflejar tendencias personales y otros problemas de comunicacin naturales. Hay as una necesidad de corroborar esta informacin con una alternativa fuente. Esto es alcanzado por desarrollando un canal de supervisin que corre directamente entre la direccin de meta-nivel y el las operaciones de las sub unidades, por - ida de la direccin de las sub unidades. En un nivel simplista, esto es ' la direccin por andando sobre ' el principio. Para ser eficaz en trminos de viabilidad de organizacin, sin embargo, esta supervisin debe adherirse a ciertas reglas de diseo. Debe ser espordico, ms bien que una presencia (un acontecimiento) regular, esperada (prevista). Debe ser infrecuente, de otra manera esto arriesga de minar la autoridad y confianza concedida en la direccin de la subunidad. 4. Inteligencia: La funcin de Inteligencia es el eslabn de doble direccin entre la actividad primaria (esto es. Sistema Viable) y su ambiente externo. La inteligencia es fundamental en la adaptabilidad; en primer lugar, esto provee de la actividad primaria de la regeneracin continua sobre condiciones de mercado, cambios de tecnologa y todos los factores externos que son probablemente ser relevante a ello en el futuro; en segundo lugar, esto proyecta la identidad y el mensaje de la organizacin en su ambiente. Estos lazos deben funcionar en el equilibrio(saldo), evitar la una o la otra sobrecarga el sistema con un pantano de datos de investigacin externos sin la capacidad para interpretar e interpretar sobre esto datos; o el riesgo alternativo comunicacin hacia afuera en una manera fuerte, sin tener un medio correspondiente de escuchar para regeneracin del mercado. La funcin de inteligencia es fuerte el futuro enfocado (concentrado). Est preocupado con planificacin del camino delante en la luz de cambios externos ambientales y capacidades internas de organizacin de modo que el la organizacin puede inventar su propio futuro (a diferencia del control por el ambiente). Para asegurar que sus proyectos bien son conectados con

10

Nathaly Milagros Arribasplata Morales

Proyecto de Tesis: Simulacin basada en multiagentes Para la planificacin de proyectos de software

Benchmarking

tierra en una apreciacin exacta del contexto corriente de organizacin, la funcin de inteligencia tambin tiene que tener en su disposicin un modelo actualizado de la organizacin. 5. Poltica: La ltima funcin, dando al cierre al sistema en total, es la poltica haciendo la funcin. Esta funcin es por definicin la variedad baja (en comparacin con la complejidad del resto de la unidad de organizacin y la complejidad an ms grande del ambiente circundante); por lo tanto tiene que ser sumamente selectivo en la informacin que esto recibe. Esta selectividad en gran parte es alcanzada por las actividades y las interacciones de funciones de Control y la Inteligencia. Los papeles principales de Poltica deben proporcionar la claridad sobre la direccin total, valores y objetivo de la unidad de organizacin; y disear, en el nivel ms alto, las condiciones para eficacia de organizacin. Las decisiones que la funcin De poltica hace estn pocos y lejos entre y constituyen, en su mayora, una comprobacin de sanidad final contra la direccin, valores y objetivo despus de que debates extensos y decisiones han sido realizados dentro de y entre la Inteligencia y funciones de Control.

11

Nathaly Milagros Arribasplata Morales

Proyecto de Tesis: Simulacin basada en multiagentes Para la planificacin de proyectos de software

Benchmarking

2.3

Benchmarking de las Tecnologas y Metodologas consideradas

Clasificacin: 0: No aplica a dicha propiedad 1: Bajo Nivel para esa propiedad 2: Medio Nivel para esa propiedad 3: Alto Nivel para esa propiedad 4: Muy Alto Nivel para esa propiedad Grfico 1
Benchmarking Simulacin de Sociedades Humanas Para Planificacin
MSV Metodologas y Tecnologas SE GEN RNA SMA DS 3 4 3 0 4 0 2 2 4 4 4 0 2 0 1 1 5 INTEL 3 2

4 4 4 1 1 1 1 4 3 10 15 Nivel Resultante AUTON REPR INTER SIMUL CONOC 20 25 30 4 4 4 4 4

4 4 4 4

12

Nathaly Milagros Arribasplata Morales

Proyecto de Tesis: Simulacin basada en multiagentes Para la planificacin de proyectos de software

Benchmarking

Grfico 2
Benchmarking Simulacin de Sociedades Humanas Para Planificacin
5 Clasificacin 4 3 2 1 0 INTEL AUTON REPR INTER SIMUL CONOC Propiedades DS SMA RNA GEN SE MSV

De los grficos podemos observar que quien tiene mayor nivel, resultante de la suma de los niveles para cada propiedad relevante, es la tecnologa de Sistemas Multiagentes, por ello, se eligi esta tecnologa para la implementacin de un sistema de simulacin de proyectos de software para planificacin. Mediante sistemas multiagente se puede representar agentes inteligentes, que toman decisiones de forma independiente y autnoma, adems se puede modelar la interaccin entre ellos. Muchas de las metodologas permiten realizar simulaciones con esta tecnologa as como crear agentes que posean conocimiento y que acten de acuerdo a intereses humanos y objetivos para los cuales son diseados.

13

Nathaly Milagros Arribasplata Morales

Proyecto de Tesis: Simulacin basada en multiagentes Para la planificacin de proyectos de software

Benchmarking

2. METODOLOGA DE DESARROLLO DE MULTIAGENTES A APLICAR 2.1 Propiedades Crticas

Se ha elegido la tecnologa de Multiagentes para el sistema de simulacin de proyectos de software para la planificacin. Sin embargo, existen muchas metodologas de desarrollo de este tipo de sistemas. A continuacin se presentan las propiedades o caractersticas ms importantes que deben presentar dichas metodologas en el contexto del tema de esta tesis. Posteriormente se mostrar cul es el peso de cada una de estas propiedades con respecto a la otra.

Experiencias en el desarrollo: Se refiere a si ya existen implementaciones de sistemas multiagentes utilizando dicha metodologa de desarrollo, y al nmero de estas investigaciones. Documentacin: Los pasos y caractersticas de la metodologa deben estar debidamente documentados y dicha documentacin debe estar disponible de forma libre. Tambin se refiere a si la metodologa ha sido desarrollada de forma completa sin dejar vacos conceptuales o de desarrollo. Disponibilidad Herramientas de soporte: Se refiere a si existen plataformas, arquitecturas o entornos de interfaz grfica que soporten el desarrollo de dicha tecnologa, en las fases de anlisis, diseo e implementacin y generacin de cdigo. Adems toma en cuenta el que dichas herramientas sean de uso libre. Representacin conocimiento: No todas las metodologas de desarrollo de sistemas mutiagente toman en cuenta aspectos de representacin de conocimiento puesto que sta no es una caracterstica representativa de los agentes. Sin embargo, la representacin del conocimiento es una propiedad que se pueden implementar mediante agentes de manera particular, dependiendo del problema al cual se estn aplicando, como es el caso de la presente tesis. Simulacin: La simulacin es una propiedad que no toman en cuenta todas las metodologas de multiagente. Existen metodologas que solo consideran como tipos de agentes a un sistema con conocimiento centralizado y al agente humano que interacta con el a travs de una interfaz humano-mquina. Dichas metodologas no pueden ser aprovechadas para desarrollar sistemas de simulacin de ms de dos individuos con intereses encontrados que interactan.

14

Nathaly Milagros Arribasplata Morales

Proyecto de Tesis: Simulacin basada en multiagentes Para la planificacin de proyectos de software

Benchmarking

Facilidad de implementacin: Esta propiedad se refiere al grado de dificultad que implica la comprensin de la metodologa de desarrollo de sistemas multiagente, as como el nivel de dificultad de su implementacin. Esta tambin muy relacionado a las propiedades de disponibilidad de documentacin, de herramientas de soporte y experiencias de desarrollo. Representacin de Sociedades complejas: No todas las metodologas de desarrollo consideran la representacin de sistemas con mucha complejidad. Para el caso de esta tesis, sta es una de las caractersticas ms importantes ya que se trata de representar el proceso de desarrollo de proyectos de software, lo cual, como ya se ha mencionado, constituye un sistema complejo en el cual interactan seres humanos que tiene roles determinados. Organizacin: La capacidad que da una metodologa para representar un sistema como una organizacin, mediante la cual se puede abordar problemas relacionados con la inteligencia de grupo.

2.2

Principales Metodologas de Desarrollo de Sistemas Multiagente Vowel Engineering: Esta metodologa plasma los esfuerzos del grupo MAGMA por idear una formalizacin del proceso de desarrollo de sistemas multiagente. La metodologa Vowel Engineering es descrita ampliamente por (Y. Demazeau, 1995). Demazeau explica que en Vowel Engineering un sistema multiagente es la conglomeracin de cuatro conceptos identificados por las cuatro primeras vocales (de ah el nombre de Vowel: vocal): Agentes (A), Entornos (E), Interacciones (I) y Organizaciones (O).

Arquitectura de capas de Vowel Engineering (Y. Demazeau, 1995)

15

Nathaly Milagros Arribasplata Morales

Proyecto de Tesis: Simulacin basada en multiagentes Para la planificacin de proyectos de software

Benchmarking

Bsicamente esta metodologa consiste en la accin de los modelos que describen sus conceptos base: un modelo de agente, un modelo de entorno, un modelo de interacciones y modelos organizacin. El ordenamiento de estos 4 modelos da como resultado el tipo de sistema a implementar (un sistema altamente interactivo, como sera comenzar con la letra I, un sistema basado en la emergencia del comportamiento global en base a agentes aislados, como sera comenzar con la letra A, etc.). La forma de ver las interacciones van desde modelos fsicos (propagacin de onda en el medio fsico) hasta los actos del habla (speech acts). Las organizaciones van desde aquellas inspiradas en modelos biolgicos hasta las gobernadas por leyes sociales basadas en modelos sociolgicos. Aunque es prometedor, el trabajo en Vowel Engineering est incompleto ya que no termina de estabilizarse con herramientas de soporte. Adems, no existen instrucciones acerca de cmo describir cada uno de los aspectos considerados en la metodologa. La gran falencia de Vowel est en que la forma de realizar los modelos dados queda abierta; no especifica nada ms que las vocales. (J. Gmez, 2003) agrega que la forma de desarrollo de Vowel facilita la reutilizacin. Como sea esta es una de las primeras metodologas en modelar sistemas a partir de la combinacin de diferentes aspectos. A favor de esta metodologa est la visin del modelado de sistemas como composicin de elementos. Esta composicin se define con un lenguaje apropiado para el problema como es un lenguaje de descripcin de arquitecturas, Unicon en este caso. Como consecuencia de esta forma de desarrollo, hay que sealar que facilita la reutilizacin de cdigo. Metodolgicamente es mejorable. MAS-CommonKADS: MAS-CommonKADS (Iglesias, 1998) es el resultado de la adaptacin del mtodo CommonKADS, que se utilizaba para el modelado de agentes individuales. MAS-CommonKADS es una metodologa orientada fuertemente a modelar sistemas multiagentes basados en el conocimiento. Esta metodologa ha innovado con respecto a las dems, ya que incorpora por primera vez la integracin de un mtodo orientado a agentes con un ciclo de vida de software. Iglesias (1998) indica que MAS-CommonKADS puede ser utilizado para proyectos pequeos con un ciclo en cascada y para proyectos grandes con un espiral dirigido por riesgos (Pressman, 2002), bsicamente siguiendo 16 Nathaly Milagros Arribasplata Morales

Proyecto de Tesis: Simulacin basada en multiagentes Para la planificacin de proyectos de software

Benchmarking

las siguientes fases de desarrollo: conceptuacin, anlisis, diseo, codificacin y pruebas, integracin, y operacin y mantenimiento. En MAS-CommonKADS se identifican siete modelos fundamentales ((Iglesias, 1998): 1. Modelo de Agente Especifica las caractersticas de un agente (capacidades de razonamiento, habilidades, servicios, sensores, efectores, grupo al que pertenece y clase de agente). 2. Modelo de Organizacin Describe la organizacin de los agentes y su relacin con el entorno. 3. Modelo de Tareas. Describe las tareas que los agentes pueden realizar. 4. Modelo de Experiencia Describe el conocimiento necesitado por cada agente para el logro de sus objetivos. 5. Modelo de Comunicacin. Describe la interaccin entre un usuario y un agente de software. 6. Modelo de Coordinacin Describe las interacciones entre los agentes de software. 7. Modelo de Diseo Utilizado para describir la arquitectura y diseo del sistema antes de la implementacin. Cada modelo presenta una resea a la teora sobre la que se basa. El modelo en s parte de una descripcin grfica que luego se complementa con explicaciones en lenguaje natural de cada elemento. Existe por cada modelo una descripcin de las dependencias respecto de otros modelos y de las actividades involucradas. Incorpora la idea de proceso de ingeniera y describe con bastante detalle cmo se debe definir el sistema teniendo en cuenta las dependencias entre los modelos. En contra hay que decir que no tiene herramientas de soporte especficas y que presenta problemas a la hora de razonar sobre la especificacin de forma automtica. Por otro lado, se aprecia en este trabajo el esfuerzo de cubrir todo el ciclo de vida de la aplicacin, llegando hasta la implementacin del sistema, lo cual no es frecuente. La especificacin de SMA (Sistema mutliagente) que proporciona MASCommonKADS detalla la mayora de aspectos en lenguaje natural. Esta particularidad dificulta el anlisis automtico de la especificacin generada y supone una gran desventaja frente a semi-formalismos como UML, soportado por muchas herramientas y con la posibilidad de hacer chequeos para verificar el desarrollo Para lograr lo mismo en MASCommonKADS habra que restringir el uso de lenguaje natural o bien incluir formalismos que logren una definicin ms precisa y menos ambigua del SMA. 17 Nathaly Milagros Arribasplata Morales

Proyecto de Tesis: Simulacin basada en multiagentes Para la planificacin de proyectos de software

Benchmarking

La metodologa CommonKADS est pensada para desarrollar sistemas expertos que interactan con el usuario. De hecho considera slo dos agentes bsicos: el usuario y el sistema. Este hecho influye en el modelo de comunicacin que, consecuentemente, trata de interacciones hombremquina. INGENIAS INGENIAS es una metodologa que profundiza en los elementos mostrados en el mtodo de especificacin, en el proceso de desarrollo, adems de incorporar nuevas herramientas de soporte y ejemplos de desarrollo. INGENIAS, define un conjunto de meta-modelos (una descripcin de alto nivel de qu elementos tiene un modelo) con los que hay que describir el sistema. Los meta-modelos indican qu hace falta para describir: agentes aislados, organizaciones de agentes, el entorno, interacciones entre agentes o roles, tareas y objetivos. Estos metamodelos se construyen mediante un lenguaje de meta-modelado, el GOPRR (Graph, Object, Property, Relationship, and Role). En la construccin de estos meta-modelos se integran resultados de investigacin en forma de entidades y relaciones entre entidades. La instanciacin de estos meta-modelos produce diagramas, los modelos, similares a los que se usa en UML, con la diferencia de que estos diagramas se han creado exclusivamente para definir el sistema multiagente. INGENIAS incorpora cinco meta-modelos. Estos son: 1. 2. 3. 4. 5. Meta-Modelo de Agente. Meta-Modelo de Interaccin. Meta-Modelo de Objetivos y Tareas. Meta-Modelo de Organizacin. Meta-Modelo de Entorno.

Esta metodologa es integrada por (J. Gmez, 2002) al proceso unificado de desarrollo RUP (The Unified Modeling Language, 1999). Adems, Gmez incorpora una prctica notacin para la generacin de sus metamodelos. El proceso de instanciacin de los meta-modelos no es trivial. Existen muchas entidades y relaciones a identificar, adems de dependencias entre distintos modelos. Por ello, INGENIAS define un conjunto de actividades cuya ejecucin termina en un conjunto de modelos. Estas actividades a su vez se organizan siguiendo un paradigma de ingeniera del software, el Proceso Unificado.

18

Nathaly Milagros Arribasplata Morales

Proyecto de Tesis: Simulacin basada en multiagentes Para la planificacin de proyectos de software

Benchmarking

Uno de los aspectos fundamentales a destacar, es que adems cuenta con una herramienta de software de apoyo: el INGENIAS IDE, una herramienta para modelado visual. GAIA GAIA (M. Wooldridge, N. Jennings, D. Kinny, 2000) es una metodologa que se enfoca en la concepcin de sistemas multiagentes que tengan por objetivo la maximizacin de una o ms medidas de calidad globales. Plantea ofrecer al analista una forma de ir sistemticamente desde los requisitos iniciales hasta un diseo que sea lo suficientemente detallado como para ser implementado directamente. La fase de captura de requerimiento ha sido independizada de los paradigmas utilizados para el anlisis y el diseo. El analista parte con la captura de requerimientos, una vez especificados se puede ir pasando a niveles de especificidad mayor.

Relaciones entre los modelos de GAIA

GAIA pone especial nfasis en la identificacin de roles, ms que en la de los mismos agentes. (S. Bussman, N. Jennings, M. Wooldridge, 2001) defiende esta postura, agregando que una metodologa para el desarrollo de sistemas multiagente debe estar orientada a definir el comportamiento del sistema y de los agentes, y que modelar los roles da plena libertad para asignarlos y reasignarlos entre los agentes. Lamentablemente la metodologa no completa el ciclo de desarrollo del sistema. Se queda en la etapa de diseo del sistema. Adems, la falta de una herramienta informtica de apoyo al modelamiento dificulta un poco las cosas a la hora de adoptar esta metodologa. GAIA propone trabajar inicialmente con un anlisis a alto nivel. En este anlisis se usan dos modelos, el modelo de roles para identificar los roles

19

Nathaly Milagros Arribasplata Morales

Proyecto de Tesis: Simulacin basada en multiagentes Para la planificacin de proyectos de software

Benchmarking

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, como el FIPARequest. Tras esta etapa, se entrara en lo que GAIA considera diseo a alto nivel. El objetivo de este diseo es generar tres modelos: el modelo de agentes que define los tipos de agente que existen, cuntas instancias de cada tipo y qu papeles juega cada agente, el modelo de servicios que identifica los servicios (funciones del agente) asociados a cada rol, y un Modelo de conocidos, que define los enlaces de comunicaciones que existen entre los agentes. A partir de aqu, los autores de GAIA proponen aplicar tcnicas clsicas de diseo orientado a objetos. Sin embargo, GAIA declara que queda fuera de su mbito. Esta metodologa slo busca especificar cmo una sociedad de agentes colabora para alcanzar los objetivos del sistema, y qu se Requiere de cada uno para lograr esto ltimo. MaSE (S. DeLoach, 1999) MaSE (Multi-agent systems Software Engineering) se concibe como una abstraccin del paradigma orientado a objetos donde los agentes son especializaciones de objetos. En lugar de simples objetos, con mtodos que pueden invocarse desde otros objetos, los agentes se coordinan unos con otros va conversaciones y actan pro activamente para alcanzar metas individuales y del sistema.

Metodologa MaSE (S. DeLoach, 1999)

En MaSE los agentes son simplemente una abstraccin conveniente, que puede o no poseer inteligencia. En este sentido, los componentes inteligentes y no inteligentes se gestionan igualmente dentro del mismo armazn. Dado el enfoque inicial, los agentes se ven como especializaciones de objetos. De hecho, el sistema se construye sobre tecnologa orientada a objetos y su aplicacin a la especificacin y diseo de sistemas multiagente.

20

Nathaly Milagros Arribasplata Morales

Proyecto de Tesis: Simulacin basada en multiagentes Para la planificacin de proyectos de software

Benchmarking

El anlisis en MaSE consta de tres pasos: capturar los objetivos, aplicar los casos de uso y refinar roles. El diseo consta de cuatro pasos: crear clases de agentes, construir conversaciones, ensamblar clases de agentes y diseo del sistema. La mayora de estos pasos se ejecutan dentro de la herramienta que soporta MaSE, AgentTool. Como productos de estas etapas, MaSE espera: diagramas de secuencia para especificar interacciones, diagramas de estados para representar procesos internos a las tareas y modelar interacciones, descomposicin del sistema (agente) en subsistemas (componentes del agente) e interconexin de los mismos (definicin de la arquitectura del agente). Estos elementos son caractersticos del UML. Tropos Esta metodologa posee dos caractersticas principales: por un lado, la importancia del anlisis de requisitos tempranos; por otra parte, la nocin de agente y todas las nociones mentales relacionadas son usadas en la fase de desarrollo de software, desde el anlisis temprano hasta la implementacin. Tropos utiliza el diagrama de clases de UML con algunos estereotipos para representar los diferentes actores, el diagrama de secuencia para representar la interaccin entre actores, y un diagrama de plan que representa los planes. Su fortaleza radica en el fuerte uso de los conceptos relativos a agentes: las metas, los planes y las capacidades que exigen tales metas y planes. Parte de un modelado del sistema desde los requerimientos mismos incluyendo a los actores y refinando el modelo separando actores y trasladando funcionalidades al sistema. Luego de tener definido lo que el sistema debe hacer con base en los requerimientos capturados, se hallan las capacidades necesarias para llevar a cabo los planes exigidos por las metas y luego agrupar dichas capacidades para generar los tipos de agentes necesarios para implementar el sistema. Tropos es independiente de la plataforma, es decir, que en la fase final de diseo los constructores siempre se corresponden con estructuras de cualquier plataforma que adopte BDI (Arquitectura BDI: Creencias, Deseos, Intenciones) como marco terico, ya que sus elementos son elementos BDI. Tropos fue tomado como base para construir una plataforma comercial cuyos constructores de implementacin (sentencias en un lenguaje especial extendido de Java) se corresponden directamente con los elementos de un modelo final de Tropos, de tal manera que un diseo de Tropos se puede pasar directamente a un programa para esta plataforma. La plataforma mencionada se llama Jack y es una marca registrada de la empresa Agent-Software.

21

Nathaly Milagros Arribasplata Morales

Proyecto de Tesis: Simulacin basada en multiagentes Para la planificacin de proyectos de software 2.3

Benchmarking

Benchmarking de las Tecnologas y Metodologas consideradas

Clasificacin ( Niveles ): 0: No aplica a dicha propiedad 1: Bajo Nivel para esa propiedad 2: Medio Nivel para esa propiedad 3: Alto Nivel para esa propiedad 4: Muy Alto Nivel para esa propiedad

22

Nathaly Milagros Arribasplata Morales

Proyecto de Tesis: Simulacin basada en multiagentes Para la planificacin de proyectos de software

Benchmarking

0.4 5

0.1 2

0.4 5

0.3 2

0 .6

0 .2

0 .6

0 .3

GAIA

0 .45

0 .05

0 .45

0 .12

0 .15

0 .15 0 .3 2 0 .2 4 0 .3 2 0.3 2

0 .08 0

0.6

Vowel Engineering

0 .1 5

0 .1 2

0 .4 5

0 .3

0 .3

0 .3

0 .6

MASE

0 .4 5

0 .4 5

0 .1 5

0 .1 2

0 .3

0 .3

0 .6

TROPOS

0 .1 5

0 .0 5

0 .4 8

0 .1 5

0 .6

0 .3

0 .6

MASCommon KADS

0.2 4

0 .6

0 .6

0 .1

0 .6

0 .6

0 .6

INGENIAS

0.5

1.5

2.5

3.5

Experiencias en el desarrollo Documentacion Disponibilidad Herramientas de soporte Representacion conocimiento Simulacion Facilidad de implementacion Representacion de Sociedades complejas Organizacion

Benchmarking Metodologas de Desarrollo de SMA

23

Nathaly Milagros Arribasplata Morales

Proyecto de Tesis: Simulacin basada en multiagentes Para la planificacin de proyectos de software

Benchmarking

Del grfico podemos observar que quien tiene mayor nivel, resultante de la suma de los niveles para cada propiedad relevante, es la metodologa INGENIAS, por ello se eligi esta metodologa de desarrollo de sistemas multiagente para la implementacin de un sistema de simulacin de proyectos de software para planificacin. Mediante la metodologa INGENIAS se puede representar agentes inteligentes, que toman decisiones de forma independiente y autnoma, adems se puede modelar la interaccin entre ellos. Muchas de las metodologas permiten realizar simulaciones con esta tecnologa as como crear agentes que posean conocimiento y que acten de acuerdo a intereses humanos y objetivos para los cuales son diseados.

24

Nathaly Milagros Arribasplata Morales

Proyecto de Tesis: Simulacin basada en multiagentes Para la planificacin de proyectos de software

Benchmarking

3. REFERENCIAS Y. Demazeau. From interactions to collective behaviour in agent-based systems. First European Conference on Cognitive Science. France. 1995 J. Gmez. Modelado de Sistemas Multi-Agente. Tesis Doctoral. Madrid, Universidad Complutense de Madrid, Facultad de Informtica. 2002 J. Gmez. Metodologas para el desarrollo de sistemas multi-agente. Iberoamericana de Inteligencia Artificial. 2003 Revista

C. Iglesias. Definicin de una metodologa para el desarrollo de sistemas multiagente. Tesis Doctoral. Universidad Politcnica de Madrid. 1998 R. Pressman. Ingeniera del Software. Un enfoque prctico. Madrid, McGrawHill. 2002 M. Wooldridge, N. Jennings, D. Kinny. The Gaia Methodology for Agent-Oriented Analysis and Design. Journal of Autonomous Agents and MultiAgent Systems. 2000 S. Bussman, N. Jennings, M. Wooldridge. On the Identification of Agents in the Design of Production Control Systems. 2001 C. Iglesias , M. Garijo, J. Gonzales, J. Velsquez. Analysis and Design of Multiagent Systems using MAS-CommonKADS S. DeLoach. Multiagent Systems Engineering: A Methodology And Language for Designing Agent Systems. 1999 P. Giorgini., M. Kolp., J. Mylopoulos. M. Pistore. The Tropos Methodology: an overview. Kluwer Academic Publishing, 2004.

25

Nathaly Milagros Arribasplata Morales

Das könnte Ihnen auch gefallen