Escolar Documentos
Profissional Documentos
Cultura Documentos
METODOLOGAS POA
La construccin de un Sistema MultiAgente (SMA), implica una visin diferente en
trminos del proceso de desarrollo de software requerido para su implementacin. Este
debe incluir y tener en cuenta las caractersticas intrnsecas de los agentes, un conjunto
de entidades autnomas cooperativas. Estas caractersticas permiten la resolucin de
problemas complejos, e implican adems la creacin o adecuacin de metodologas para
el desarrollo de sistemas basados en agentes, denominadas de manera genrica
Programacin Orientada a Agentes (POA). Estas metodologas deben incorporar
actividades y artefactos que permitan identificar y asociar las caractersticas esperadas
tanto de los agentes como de sus relaciones sociales, as como de la arquitectura y
estructura interna del SMA.
La POA, ha venido tomando fuerza como nuevo paradigma para el desarrollo de
aplicaciones de software complejas, donde el enfoque orientado a objetos no ofrece un
solucin que se adapte al continuo cambio de los procesos dentro de una organizacin o
cuando no se presenta un comportamiento autnomo que permita resolver problemas con
mayor facilidad, dando como resultado mayor supervisin humana. De acuerdo con
Zambonelli [ZAMB2003], las actuales aplicaciones de software estn tendiendo a ser ms
complejas, manejando aspectos como el uso de recursos de manera distribuida,
manteniendo altos estndares de disponibilidad y manejo de concurrencia, buscando la
manera de ser ms autnomas y reconfigurables en los ambientes donde se hayan
desplegado, adaptndose a de los cambios que se puedan presentar en tiempo real.
Aunque los desarrollos contemporneos basados en el paradigma orientado a objetos
pueden llegar a satisfacer las necesidades actuales de estas aplicaciones, los SMA se
perfilan como la opcin ideal para desarrollar nuevos sistemas basndose en POA y
superando en varios aspectos a las aplicaciones desarrolladas con otros paradigmas. Por
ejemplo, la autonoma de las entidades (agentes), que conforman los SMA, forman grupo
y actan proactivamente con el fin de satisfacer sus propias metas y las de todo el SMA;
al conformarse en sociedades son capaces de interactuar no solamente con otros
agentes, sino tambin con recursos externos a ellos de forma concurrente, manejando los
conflictos, distribuyendo tareas y percibiendo el ambiente donde se enmarcan los SMA.
Sin embargo, slo existe una limitante para que la POA y los SMA lleguen a ser tan
utilizados como el paradigma orientado a objetos y bsicamente se debe a que la POA no
es tan conocida y utilizada por la comunidad desarrolladora de software. El paradigma
orientado a objetos ha sido desarrollado desde hace muchos aos y ha tenido mucha
aceptacin entre diseadores y desarrolladores de software, muchas herramientas,
lenguajes de programacin y metodologas han sido desarrolladas, las cuales han
impulsado la popularizacin de ste paradigma. Segn Mouratidis, para que los SMA
empiecen a tener una mayor aceptacin y uso dentro de la comunidad diseadora y
desarrolladora de software es necesario que se desarrollen tcnicas de ingeniera de
software que sean enfocadas especialmente hacia ellos [MOUR2003].
Dentro del desarrollo de este captulo, para motivar an ms el aprendizaje y
popularizacin de POA y los SMA, se resaltarn las principales caractersticas de las
metodologas para SMA y su relacin con la disciplina de la ingeniera de software.
3.1.
Disear sistemas complejos no es una tarea fcil, los SMA son una de las principales
soluciones para realizar esta labor. Sin embargo, para desarrollar aplicaciones basadas
en agentes, es necesario tambin desarrollar mtodos prcticos, que permitan establecer
los pasos necesarios para definir correctamente un SMA.
La importancia de las metodologas para el diseo de SMA, radica en la definicin formal
de cada una de las actividades que se deben llevar a cabo dentro de un proceso
metodolgico y que permiten la difusin del paradigma POA. A continuacin se introducen
los principales lineamientos que se deben tener en cuenta en una metodologa para
desarrollar un SMA, as como tambin se resalta la relacin con la ingeniera de software
y se presenta un vistazo a los principales problemas que surgen en el momento de
modelar un SMA.
Lineamientos de las Metodologas para SMA
Segn Alonso [ALON2004], una buena metodologa para el desarrollo de SMA debe
definir un modelo genrico de anlisis independiente de la plataforma, y un modelo de
diseo que permita identificar los agentes de forma sistemtica, siguiendo un proceso
orientado por componentes que pueda identificar la estructura interna de los agentes y la
estructura social de los mismos incluyendo el entorno y los objetos contenidos en l.
Claramente al mencionar el aspecto de independencia de plataforma es relevante
mencionar que en la actualidad la mayora de las implementaciones de SMA son
realizadas usando tecnologas orientadas a objetos por medio del uso de plataformas
superpuestas al lenguaje, proporcionando un nivel de abstraccin hacia el SMA que
resulta en una mayor facilidad para la implementacin y comprensin por parte de los
desarrolladores.
Otros autores como Sudeikat [SUDE2004], proponen que en el momento de evaluar
metodologas orientadas a agentes se debe tener en cuenta la plataforma en la cual se
har la implementacin, en contra posicin con Alonso [ALON2004], puesto que dicha
plataforma implica restricciones adicionales que deben ser tenidas en cuenta en el
anlisis y diseo del SMA. Por esta razn Sudeikat, presenta una estrategia que permite
interrelacionar a las metodologas con las plataformas, mediante la evaluacin de ciertos
criterios tanto de las plataformas como de las metodologas, que simplifican este proceso
de clasificacin.
En la actualidad existen varias metodologas de desarrollo orientadas a agentes, sin
embargo, no proporcionan los mecanismos apropiados para formular un proceso natural
para desarrollar un SMA o sociedades de agentes a partir de los requerimientos iniciales
del sistema. De acuerdo lo anterior una metodologa de desarrollo orientada a agentes
debera poseer las siguientes caractersticas:
-
Cubrimiento del ciclo de vida de software deseable que abarque todas las 5 etapas
fundamentales (requerimientos, anlisis, diseo, implementacin y pruebas).
Enfoque del proceso definicin si tiene un enfoque iterativo, lineal, top-down, botomup, etc.
Pruebas de seguridad que puedan ser fcilmente definidas en el momento del diseo
y la implementacin.
UML y Extensiones
En general, cuando se habla de enfoques y metodologas, es necesario el uso de algn
tipo de notacin grfica que permita representar vistas y modelos generados durante las
etapas de anlisis y diseo. Algunas de estas metodologas orientadas a agentes usan
UML, Unified Modeling Language, en dos frentes de trabajo: Los que pretenden utilizar
UML sin modificaciones para modelar SMA, y los que proponen extensiones y
modificaciones al meta modelo UML con el fin de lograr mayor flexibilidad y precisin en el
modelo.
En el primer frente se encuentra la propuesta de Bauer y Odell [BAUE2005], que se apoya
en el amplio reconocimiento del estndar UML para proponer su utilizacin en el campo
de los agentes, fundamentando que de esta manera la transicin del diseo orientado a
objetos al diseo orientado a agentes ser mucho ms fcil.
Torres [TORR2004], propone una extensin a UML llamada MAS-ML basada en el
framework TAO (Taming Agents and Objects). Las extensiones son puramente de adicin,
y no modifican UML. Con este fin, se crean nuevas metaclases para definir agentes,
organizaciones, ambientes y roles. No se utilizan estereotipos1, pues los elementos que
se adicionan son fundamentalmente diferentes a los objetos. MAS-ML modifica tambin
los diagramas de clase para representar las relaciones entre agentes, entre agentes y
clases y entre ambientes con ambientes y clases. Otros diagramas estticos incluyen el
de Organizacin y el de Roles. En el terreno de los diagramas dinmicos, el diagrama de
secuencia es modificado. Por ltimo, MAS-ML tiene asociada la herramienta MASML2Java para transformar los diagramas y generarlos en cdigo Java. La herramienta fue
creada utilizando el lenguaje TXL.
Tambin se han propuesto lenguajes formales para la estandarizacin como AUML
[ODEL2004a], derivado de UML o los estndares propuestos por FIPA, como por ejemplo
los especificados para la interaccin entre agentes ACL, Agent Communication Language.
Muchas de las metodologas desarrollan herramientas alternas como plataformas o
herramientas CASE que ayudan a popularizar el uso de stas para el diseo de SMA y
proporcionan una base ms slida soportndose en los lineamientos propuestos por la
ingeniera de software.
En general, UML y sus extensiones ofrecen recursos exclusivamente representacionales,
que no ofrecen mecanismos para el anlisis y diseo de SMA.
Problemas en el Modelado de un SMA
1
Un tipo de dato definido para modelar caractersticas de datos de objetos del mundo real.
3.2.
Tipos de Metodologas
Existen muchas metodologas, todas ellas se enmarcan dentro del ciclo de vida del
software, la mayora de ellas abarcan las fases de anlisis y diseo, otras se extienden
hasta las etapas de implementacin y verificacin o trabajan en conjunto con alguna
plataforma desarrollada propiamente para la metodologa o con otras ms genricas. La
mayora de metodologas, proponen una serie de artefactos que formalizan el diseo de
los SMA, incluyendo diagramas y entregables que definen correctamente cada una de las
etapas que se incluyan en el proceso.
Segn Dastani [DAST2004], las metodologas para el desarrollo de SMA deberan ayudar
al desarrollador en la toma de decisiones sobre aquellos aspectos del anlisis, diseo e
implementacin que son cruciales para un SMA. Hoy en da, existe un gran nmero de
estas metodologas, las cuales difieren en muchos aspectos como por ejemplo: en las
fases de desarrollo que utilizan y cmo las utilizan, otras se enfocan en aspectos de
comunicacin entre agentes, mientras que otras lo hacen en el comportamiento interno de
cada agente; otras tienen adems en cuenta el entorno.
Alonso [ALON2004] propone una taxonoma para organizar dichas metodologas en tres
categoras: metodologas basadas en agentes; metodologas basadas en el paradigma de
orientacin a objetos y finalmente metodologas basadas en el paradigma de la ingeniera
del conocimiento.
En las siguientes subsecciones se explica brevemente esta clasificacin de las
metodologas para SMA y se enuncian algunas de las metodologas ms importantes que
Estas metodologas proponen la utilizacin del paradigma de agentes para las fases
de especificacin y diseo, pero la mayora no tienen en cuenta la utilizacin de un
modelo de anlisis genrico que pueda ser utilizado para evaluar si una aproximacin
basada en agentes es adecuada o no.
Hay tres aspectos que son especificados por las diferentes metodologas:
1. Estructura interna de los agentes
2. Estructura Intra-agentes
3. Estructura social y
4. Estructura del ambiente
3.3.
Metodologa Tropos
Dentro de las cinco etapas establecidas, Tropos entrega modelos que sirven para definir
el SMA, estos modelos son definidos desde la etapa de anlisis temprano de
requerimientos y se van refinando a medida que se va avanzando en las dems etapas de
la metodologa. Los modelos que se definen son los siguientes y pueden ser encontrados
en el trabajo de Bresciani [BRES2004]:
-
Modelo de Actores: se caracteriza por identificar y analizar a los actores del ambiente
y a los actores del sistema y los agentes; ste se encuentra presente en las 5 etapas
de la metodologa.
Modelado de Metas: construido a partir del anlisis de las metas de los actores,
usando tres tcnicas de razonamiento: means-end analysis, contribution analysis y
AND/OR decomposition. El primero identifica planes, recursos y metas suaves que
proporcionan los medios para satisfacer una meta. El segundo identifica las metas que
contribuyen positiva o negativamente a la terminacin satisfactoria de una meta por
analizar. El tercero descompone una meta raz en otras metas aplicando predicados
AND/OR.
10
Existe una brecha entre el lenguaje utilizado por los desarrolladores de software y los
especialistas en seguridad, lo cual hace que la integracin entre las disciplinas sea
ms difcil.
3.4.
Metodologa Prometheus
11
detallada y completa en el sentido que cubre las actividades requeridas para desarrollar
sistemas multiagente inteligentes, abarcando desde el anlisis de requerimientos hasta la
implementacin, donde se ha integrado el framework JACK [HOWD2001]. La metodologa
se caracteriza por asistir a los desarrolladores para disear, documentar y construir un
SMA completo.
De acuerdo con Padgham [PADG2002], Prometheus difiere de otras metodologas en las
siguientes apreciaciones:
-
Fases de la metodologa
La metodologa Prometheus consiste en tres fases. La primera es la Especificacin del
Sistema, donde se identifican las principales funcionalidades del mismo, las entradas
(percepciones), las salidas (acciones) y fuentes de datos compartidos. La segunda fase,
Diseo Arquitectnico, utiliza las salidas, especificadas anteriormente, para determinar
que agentes contendr el sistema y sus interacciones. La tercera fase, Diseo Detallado,
comprende el estudio de la arquitectura interna de los agentes y proporciona la forma
para completar las tareas de dichos agentes dentro del sistema. En la Figura 3-3, se
pueden observan todas las fases que pertenecen a la metodologa Prometheus. A
continuacin se describe en detalle cada una de las fases.
12
Especificacin del Sistema: en esta fase se inicia con la descripcin funcional del
SMA. Para definir correctamente esta funcionalidad se debe especificar el tipo de
informacin que es requerida e informacin adicional que sea producida.
Paralelamente se debe entender cmo el SMA interactuar con el ambiente. El flujo
de informacin que llega del ambiente y es captado por el agente se llama percepcin
y los mecanismos para afectar el ambiente son llamados acciones. Tambin se debe
distinguir entre eventos y percepciones. Un evento es una ocurrencia significativa para
el sistema de agentes, mientras que las percepciones son los datos en bruto
disponibles para el sistema de agentes. Algunas veces las percepciones deben ser
procesadas para identificar eventos ante los cuales unos agentes pueden reaccionar.
Dentro de esta fase se generan dos artefactos entregables de la metodologa. El
primero de ellos es el Descriptor de Funcionalidad, que contiene la informacin de
percepcin, accin e interaccin con el ambiente. El segundo artefacto utilizado para
proporcionar una visin ms holstica del sistema, son los Escenarios de Casos de
Uso.
Diseo Arquitectnico: en esta fase se definen los agentes que existirn en el SMA.
Se asignan funcionalidades en el sistema basados en los artefactos anteriores. Los
agentes son agrupados de acuerdo a las funcionalidades a las que van a responder
para ser acordes con los conceptos de bajo acoplamiento y alta coherencia.
13
Con el fin de agrupar los agentes para que cumplan los requerimientos anteriormente
descritos se utiliza un Diagrama de Agrupamiento de Agentes, que relaciona unos
agentes con otros.
Una vez definidos qu agentes estarn en el sistema se inicia una descripcin
detallada de cada uno de ellos mediante un artefacto llamado Descriptor de Agentes,
el cual contiene la informacin sobre funcionalidad, datos e interacciones.
Adicionalmente en esta fase se debe identificar que eventos sern generados como
resultado de la informacin del ambiente. Para lograr las metas del sistema los
agentes deben comunicarse enviado mensajes unos a otros, actividad que tambin
debe especificarse en esta etapa. Adems de la comunicacin entre los agentes se
debe identificar los Objetos de Datos Compartidos para relacionar a todos los agentes
que utilicen recursos y que necesiten especificar tcnicas de sincronizacin. Estos
objetos de datos compartidos, pueden ser descritos utilizando POO. En esta fase se
incluye la definicin del Diagrama de Descripcin del Sistema, que representa a los
agentes, los eventos y los objetos de datos compartidos, mostrando las relaciones en
el sistema. El ltimo paso en esta fase es representar las interacciones entre los
agentes del sistema. Para esta labor se utiliza un Diagrama de Interacciones,
heredado de la POO, en donde se toman los casos de uso diseados en la fase de
especificacin del sistema y se construyen los diagramas de interaccin.
Finalmente, para definir an ms las interacciones del sistema a partir del diagrama de
interacciones se genera el Diagrama de Interaccin de Protocolos, que describe las
secuencias de interacciones vlidas dentro del sistema.
-
3.5.
Metodologa Gaia
14
que cada agente juega un rol especfico e interacta con otros agentes de acuerdo a
protocolos determinados por los roles.
Sin embargo, esta visin debe profundizarse ms, porque se debe asumir que la
organizacin es ms que una simple coleccin de roles y para construir efectivamente un
SMA en trminos organizacionales, las abstracciones orientadas a las organizaciones
necesitan ser identificadas y ubicadas en el contexto de la metodologa. Por esta razn
los esfuerzos de Zambonelli, van encaminados a identificar esas abstracciones
organizacionales y extender la metodologa Gaia.
La Metfora Organizacional
El trabajo de Zambonelli, se concentra en desarrollar de sistemas medianos y grandes,
posiblemente divididos en ambientes abiertos y dinmicos garantizando predictibilidad y
comportamientos confiables. En este contexto define al sistema como la instancia
computacional de un grupo de individuos interactuantes y autnomos (agentes). Cada
agente juega uno o ms roles especficos, con un conjunto de responsabilidades
enmarcado en un contexto, donde ellos toman decisiones altruistas y oportunistas.
Las interacciones son vistas como el medio por el cual los agentes cumplen sus roles en
el sistema y ayudan a organizar la estructura del sistema y los agentes en ella. Esta
perspectiva se puede ver ilustrada en la Figura 3-4, en donde sistemas simples pueden
ser vistos como un sola organizacin y a medida que aumenta la complejidad se
subdividen en sistemas que dan a lugar suborganizaciones, con subconjuntos de agentes
ubicados en cada una de ellas, incluso con agentes ubicados en dos o ms. El SMA se ve
inmerso en un ambiente del cual los agentes necesitan interactuar para cumplir con su rol.
Estas interacciones con el ambiente ocurren mediante sensores y efectores, que son
mecanismos que les ayudan a los agentes a percibir y actuar con el ambiente. Con este
enfoque organizacional se promueve una visin micro y macro, para el comportamiento
de los agentes y el sistema.
Ahora bien para definir completamente el SMA con el enfoque organizacional que
propone Zambonelli [ZAMB2003], se deben identificar y contextualizar las abstracciones
organizacionales, que sern despus integradas como extensin a la metodologa Gaia.
15
stas son en su orden: el ambiente, los roles, las interacciones, las reglas
organizacionales y las estructuras organizacionales, que son presentadas a continuacin.
-
Roles e Interacciones: los roles de un agente definen lo que se espera que haga
dentro de la organizacin. Dan al agente una posicin bien definida dentro de la
organizacin con una asociacin de comportamientos esperados. Por otra parte las
interacciones organizacionales describen los protocolos que gobiernan las
interacciones entre los roles.
16
Fase de Anlisis
17
El principal objetivo de esta fase es organizar los requerimientos del sistema en el modelo
ambiental, en el modelo preliminar de roles, el modelo de interacciones y el conjunto de
reglas organizacionales para cada una de las suborganizaciones que componen todo el
sistema. A continuacin se explican los artefactos principales de esta fase:
-
18
Definicin del Modelo de Servicios: identifica los servicios principales que son
requeridos para conformar los roles de los agentes y sus propiedades. Adicionalmente
con un buen anlisis y diseo se obtienen los artefactos necesarios para pasar a la
etapa de implementacin que no es definida por la metodologa Gaia, actividad que
dependera del programador del SMA.
Finalmente, cabe anotar que Sutandiyo [SUTA2004], presenta mGaia, una extensin a la
metodologa Gaia para el diseo de SMA que tiene en cuenta la movilidad. La propuesta
presentada, modifica Gaia aadiendo un modelo a la etapa de diseo: el Modelo de
Movilidad. En este modelo, se definen ambientes, las relaciones entre agentes y los
ambientes, la cardinalidad de estas relaciones y las rutas de viaje de los agentes a travs
de los ambientes donde se despliegan. Adems, para ser coherente con el resto de la
metodologa, se adicionan caractersticas a los otros modelos, como por ejemplo la
descripcin del agente identificando si es mvil o no en el Modelo de Agentes.
3.6.
Metodologa MAS-CommonKADS
19
Modelo de Conocimiento, que describe el conocimiento que debe tener un agente para
lograr sus metas; Modelo de Diseo, que refina los modelos anteriores y determina la
arquitectura ms apropiada para cada agente as como los requerimientos para la red de
agentes; y un Modelo de Coordinacin, que describe las relaciones dinmicas entre
agentes de software [IGLE1998].
De estos siete modelos, los seis primeros pertenecen a la metodologa CommonKADS y
el ltimo es incorporado para aplicaciones multiagente. MAS-CommonKADS divide el
proceso de anlisis y diseo de la siguiente forma: primero, hay una fase
conceptualizacin, en la que se obtiene una visin preliminar del problema, una fase de
anlisis, en la que se obtienen los requerimientos y tercero una fase de diseo, en donde
se determina el conjunto inicial de agentes que se van a utilizar.
Fase de Conceptualizacin
En esta fase se obtiene una descripcin preliminar del problema y se hace un bosquejo de
las interacciones, con las cuales se har un refinamiento cuando se cree el modelo de
coordinacin. Esto se hace siguiendo una aproximacin centrada en el usuario,
determinando algunos casos de uso o escenarios, los cuales ayudan a entender algunos
requerimientos informales y a probar el sistema.
Los casos de uso son descritos utilizando la notacin OOSE y las interacciones son
formalizadas utilizando diagramas de secuencias de mensajes, MSC. En la Figura 3-6, se
puede ver un ejemplo del diagrama de casos de uso. En este caso, los agentes humanos
son los que tienen cabeza redonda y los agentes de software son los que tienen la cabeza
cuadrada.
Fase de Anlisis
El resultado de esta fase debe ser el conjunto de requerimientos que especifican el
sistema multiagente a travs de los modelos descritos anteriormente (a excepcin del
modelo de diseo). Los pasos para desarrollar dichos modelos son los siguientes:
-
20
Modelo de Coordinacin: este modelo tiene dos hitos: el primero es la definicin de los
canales de comunicacin y la construccin de un prototipo y el segundo es el anlisis
y determinacin de las interacciones complejas.
21
Fase de Diseo
Como resultado de la fase de anlisis, se ha determinado un conjunto inicial de agentes,
los cuales deben ser detallados en esta fase. En la metodologa CommonKADS, el
modelo de diseo se utiliza para describir la arquitectura y el diseo tcnico del sistema
justo antes de su implementacin. En MAS-CommonKADS, este modelo es extendido
para modelar SMA y posee los siguientes pasos [IGLE1998]:
-
3.7.
MaSE
22
En MaSE, una meta siempre est definida como un objetivo a nivel de sistema. El proceso
de capturar metas produce una jerarqua de metas, la cual, no es necesariamente
siempre un rbol, de hecho, se pueden combinar nodos entre las ramas, generando as
un grafo dirigido.
Luego de haber identificado las metas y su estructura, se deben crear los casos de uso,
los cuales son extrados del contexto inicial del problema. En este caso, se deben tener
en cuenta el flujo normal, que describe lo que pasa en condiciones normales, y el flujo
alterno, que describe como se debe comportar el sistema en caso de una falla. Una vez
se hayan identificado los casos de uso, estos son utilizados para crear los diagramas de
secuencias entre los roles identificados en ellos. El ltimo paso de la fase de anlisis,
consiste en refinar los roles encontrados, esto es, transformar los objetivos y los
diagramas de secuencias en roles y sus respectivas tareas. En MaSE, las tareas son
definidas para cada rol de modo que se ejecuten de forma concurrente. Las tareas se
utilizan para modelar el comportamiento de los agentes, estas puede ser diseadas para
ejecutarse de forma concurrente como lo describe DeLoach [DELO2001]. Aunque en un
artculo posterior, DeLoach [DELO2002], propone modelar el comportamiento utilizando
un medio hbrido de coordinacin y concurrencia.
3.8.
23
24
3.9.
25
Fase de Verificacin
Es el proceso de probar que un sistema implementado est correcto con respecto a su
especificacin. Para la metodologa se utilizan dos procesos de verificacin, el primero es
verificacin por ciclo de vida y el segundo es una verificacin formal.
-
Verificacin por Ciclo de Vida: determina el valor de satisfaccin del SMA para una
especificacin establecida, durante cada uno de las fases del desarrollo.
De acuerdo con Odell [ODEL2004a], los sistemas multiagente a gran escala contienen
mltiples agentes con distintas capacidades que en el momento de satisfacer una tarea;
deben operar como sistemas cerrados, formando grupos dinmicos para completar
satisfactoriamente una labor. Por esta razn Odell [ODEL2004a], propone la
especificacin de una superestructura, que permita definir a los agentes por medio de sus
roles y as conformarlos en grupos para satisfacer una tarea asignada. Esta especificacin
se extiende de la especificacin de UML para los diagramas de clases y se define como
se puede observar en la Figura 3-9.
27
El modelo principal se compone de tres clases principales, de las cuales se definen otras
para mayor especificacin del SMA. stas son Clasificador de Agentes, Agentes y
Grupos. A continuacin se profundiza ms sobre estos conceptos.
Clasificador de Agentes
Odell [ODEL2004a], define varias formas en las cuales un agente puede ser clasificado.
Se divide en dos subclases que son: Clasificador de Agentes Fsico y Clasificador de
Agentes por Roles.
-
Clasificador de Agentes Fsico: define las primitivas bsicas de los requerimientos que
todos los agentes deben poseer independientemente del rol que estn
desempeando. Un ejemplo es el siguiente: el agente debe poseer un nombre nico;
otras caractersticas que dependen de la implementacin son la manera como los
agentes envan y reciben mensajes, la forma en que mantienen sus atributos (estados
o creencias) y la manera como interactan con el ambiente o con otros componentes
de software.
Clasificador de Agentes por Roles: clasifica a los agentes por los varios tipos de roles
que un agente puede tomar en cierto tiempo. Los roles se definen como repertorios
normativos del comportamiento y otras caractersticas, contextualizadas dentro de un
grupo donde esos roles son desempeados. Los agentes pueden ser asociados con
ms de un Clasificador de Agentes por Roles, permitiendo una mltiple clasificacin y
puede cambiar roles en el tiempo, permitiendo una clasificacin dinmica. Los roles
proporcionan los bloques para construir un sistema social y proporcionan los
requerimientos por los cuales los agentes interactan. Un Clasificador de Agentes por
Roles debe estar asociado a uno o ms grupos, para darle un significado en un
contexto.
Agentes
Odell, define el conjunto de agentes que conforman el sistema por medio de las clases
Clasificador de Agentes y Agentes, para definir las instancias de un agente y su
clasificacin. Las instancias definen a las entidades autnomas e interactivas conocidas
como agentes y las clasificaciones proporcionan las caractersticas subyacentes para
cada agente. En otras palabras cada instancia de un Clasificador de Agentes especifica
las caractersticas que poseen sus Agentes asociados.
Para comprender an ms, a continuacin se ilustran las meta-clases que establecen
relaciones entre los Clasificadores de Agentes (y sus subclases) con los Agentes; la forma
de asociar a los Clasificadores de Agentes Fsicos con los Clasificadores de Agentes por
Roles. A partir de esta asociacin se conforman los agentes, introduciendo al Clasificador
de Agentes, y a los Agentes que definen completamente a cada uno de los agentes,
relacionndolos con los roles y con agentes fsicos que dependen de una plataforma en
particular (Figura 3-10).
28
Figura 3-10. Asociacin entre la clase Clasificador de Agentes y la clase Agentes [ODEL2004a].
Grupos de Agentes
Los grupos son un conjunto de agentes que se han colocado juntos por alguna razn.
Estn relacionados por sus roles, donde cada grupo de roles tiene un nmero de
instancias de agentes. Estos grupos son clasificados de dos formas que pueden ser un
grupo agentizado o un grupo no-agentizado.
-
Los Grupos Agentizados: poseen todas las caractersticas que un slo agente posee.
En otras palabras el grupo de agentes puede ser visto como un slo agente que
puede responder por cualquiera de los agentes que conforman su grupo.
29
3.11. SONIA
La metodologa SONIA, Set of mOdels for a Natural Identification of Agents, propuesta por
Alonso [ALON2004], permite la generacin de una arquitectura multiagente para resolver
un problema de acuerdo con un Modelo de Diseo Multiagente, que sistematiza y
automatiza las actividades para identificar los componentes del SMA. La metodologa
define una sociedad de agentes que facilita la solucin de un problema y puede ser
utilizada para integrar sistemas antiguos indispensables. A continuacion se presentan las
cuatro fases de la metodologa.
Fase de Anlisis
Basada en SETCM (Set Theory Base Conceptual Model) con lo que se genera el modelo
estructural inicial y el modelo inicial de tareas. El primero, describe la estructura general
del dominio del problema basado en conceptos, atributos de conceptos, asociaciones,
atributos de asociaciones, clasificacin de conceptos y clasificacin de asociaciones. El
segundo, describe la forma en que los problemas del dominio son solucionados (basado
en las tareas y mtodos). Luego, estos modelos son redefinidos para capturar el entorno
del sistema y las entidades externas, produciendo los siguientes modelos:
-
Modelo del Entorno: define las entidades externas al sistema y sus interacciones con
este.
Modelo Estructural: incluye estructuras del conocimiento del dominio de las entidades
externas que interactan con el sistema.
Modelo de Tareas: aade las funcionalidades requeridas para interactuar con las
entidades externas al sistema definidas en el modelo del entorno.
Fase de Diseo
Esta fase est dividida en dos etapas: sntesis y diseo arquitectnico. La primera, provee
la identificacin de agentes segn componentes. Adicionalmente, los elementos del
30
31
32
[BAUE2005] Bauer, B., Odell, J., UML 2.0 and agents: how to build agent-based systems
with the new UML Standard, Journal of Engineering Applications of Artificial
Intelligence Volume 18, Issue 2 , March 2005
[BRES2004] Bresciani, P., Perini, A., Giorgini, P., Giunchiglia, F., and Mylopoulos, J.
(2004). Tropos: An agent-oriented software development methodology.
Autonomous Agents and Multi-Agent Systems, 8(3):203236.
[CHAN2004] Chan,K.,
Sterling, L., Adapting Roles for Agent-Oriented Software
Engineering, Disponible en: http://citeseer.ist.psu.edu/chan04adapting.html
(Ultima Visita Nov. 2005)
[DAST2004] Dastani, M., Hulstijn, J., Dignum, F., and Meyer, J.-J. C. (2004). Issues in
multiagent system development. In AAMAS 04: Proceedings of the Third
International Joint Conference on Autonomous Agents and Multiagent
Systems, pages 922929, Washington, DC, USA. IEEE Computer Society.
[DELO2000] DeLoach, S. A., W. M. F. (2000). Multiagent systems engineering: the
analysis phase. Technical report, Air Force Institute of Technology.
[DELO2001]
Behavior
as
Concurrent
Tasks,
[DELO2002] DeLoach, S.A., Analysis and Design of Multiagent Systems Using Hybrid
Coordination Media, Proceedings of the World Multiconference on
Systemics, Cybernetics and Informatics, 2002.
[FUXM2001] Fuxman, A.; Pistore, M.; Mylopoulos, J.; Traverso, P., Model checking early
requirements specifications in Tropos, Proceedings. Fifth IEEE International
Symposium on Requirements Engineering, 2001
[FUXM2003] Fuxman, A., Liu, L., Pistote, M., Roveri, M., Mylopoulos, J., Specifying and
Analyzing Early Requirements: Some Experimental Results, Procedings of
ICRE'03, 2003.
[GIOR2004] Mouratidis, H.; Giorgini, P., Enhancing secure Tropos to effectively deal with
security requirements in the development of multiagent systems, :
Proceedings of the Third International Joint Conference on Autonomous
Agents and Multiagent Systems - AAMAS2004, 2004
[GIUN2002] Giunchiglia, F., Mylopoulos, J., and Perini, A. (2002). The tropos software
development methodology: Processes, models and diagrams. In
Inproceedings of AOSE02.
[IEEE2004]
[IGLE1998] Iglesias, C. A., Garijo, M., Gonzlez, J. C., and Velasco, J. R. (1998). Analysis
and design of multiagent systems using mas-commonkads. In Woldridge,
M., S. M. y. R. A., editor, INTELLIGENT AGENTS IV: Agent Theories,
Architectures and Languages, Lecture Notes in Computer Science, 1365,
pages 313 327. Springer-Verlag.
[JENN2000] Jennings N.R., On Agent-Based Software Engineering, Journal Artificial
Intelligence, volume 177, number 2, pages 277-296, 2000.
[MOUR2003] Mouratidis, H., Giorgini, P., and Manson, G. (2003). Modelling secure
multiagent systems. In AAMAS 03: Proceedings of the second international
33
34
[YU1997] Yu, E. S. (1997). Towards modelling and reasoning support for earlyphase
requirements engineering. In International Symposium on Requirements
Engineering, pages 226235, Annapolis, Maryland.
[ZAMB2003] Zambonelli, F., Jennings, N. R., and Wooldridge, M. (2003). Developing
multiagent systems: The Gaia methodology. ACM Trans. Softw. Eng.
Methodol., 12(3):317370.
35