SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
1	
  
	
  
Aproximación Organizacional para Programación Orientada a Agentes:
Introducción y Aspectos Generales
John Sprockel
Maestría de Ingeniería de Sistemas y Computación, Universidad Javeriana
jsprockel@javeriana.edu.co
Resumen. La Aproximación Organizacional para Programación Orientada a Agentes (AOPOA) es una
metodología para lo construcción de sistemas multi-agentes (SMA) mediante una descomposición de un
problema complejo de manera iterativa, recursiva, basado en el concepto de metas y el de identificación de tareas
de manera estructurada con un enfoque organizacional. En el presente artículo se realiza una descripción de la
definición, aspectos históricos, conceptos importantes, fases y por último la presentación de un artículo en el que
se expone la puesta en práctica de la metodología.
Palabras Clave: sistemas multi-agentes, metodología, programación orientada a agentes.
1 Introducción
La Aproximación Organizacional para Programación Orientada a Agentes (AOPOA) es una metodología para lo
construcción de sistemas multi-agentes (SMA) en la que se aborda el diseño de sistemas complejos mediante su
descomposición en sistemas más simples con un enfoque organizacional. La base de dicha descomposición se lleva
a cabo de manera iterativa, recursiva, teniendo en cuenta el concepto de metas y el de la identificación de tareas [1].
El proceso de análisis y diseño se lleva a cabo con un enfoque distinto al de las otras metodologías ya que además de
la asignación de responsabilidades de manera estructurada y progresiva, se efectúa una identificación y
caracterización de las interacciones de manera automática. En AOPOA, cada conjunto mayor de actividades está
formado por un conjunto de procesos iterativos, cada uno de los cuales genera un conjunto de artefactos que
incluyen tablas y diagramas que definen un SMA genérico [2].
En los apartes que se desarrollan a continuación, se hace la descripción de los conceptos básicos y pasos para el
desarrollo de la metodología incluyendo los aspectos históricos, marco conceptual, fases y por último la
presentación de un artículo en el que se expone la puesta en práctica de la metodología.
2 Historia
La metodología se ha venido desarrollando desde el inicio de la maestría en ingeniería de sistemas y computación de
la Pontificia Universidad Javeriana en el 2001, dentro del grupo de investigación SIDRe. Surgió partir del proyecto
marco ASMA (Arquitectura para Sistemas Multi Agentes), dentro del cual se desarrolló la plataforma de desarrollo
BESA (Behavior-oriented Event-driven Social-based Agents). Su desarrollo ha sido compartido desde el área de los
sistemas distribuidos e inteligentes.
2	
  
	
  
3 Marco Conceptual: Enfoque Organizacional
El análisis de una organización nos muestra como típicamente se encuentra dividida en un conjunto de entidades
autónomas que actúan de manera proactiva pata alcanzar un objetivo. En la figura 1 se observa como se genera una
jerarquía organizacional modelada como un arbol (A) o un diagrama de conjuntos (B).
A. B.
Figura 1. Descomposición recursiva de una organización (tomado sin modificar de [3]).
La definición de Rol para AOPOA implica la representación de una entidad abstracta para alcanzar un conjunto de
objetivos aprovechamiento de habilidades usando los recursos del entorno [2]. Es así como un SMA puede ser
diseñado como una jerarquía de roles, los cuales pueden obtenerse mediante la descomposición basada en objetivos.
La selección del orden en que se descomponen los roles puede desarrollarse en un recorrido por amplitud o en
profundidad a partir de la imagen del árbol. En AOPOA se lleva a cabo la descomposición de los roles de manera
recursiva, partiendo de los de mayor complejidad (Figura 2).
Figura 2. Descomposición recursiva de los roles como un proceso iterativo, recursivo por amplitud (tomado de [6]).
La interacción surge, en condiciones típicas, cuándo varios roles aportan a la consecución de un objetivo o bien
cuando se comprten los recursos. La figura 3 muestra los niveles de interacción que pueden surgir.
stemas e Informática, Vol.4 No. 2, Septiembre de 2007
Congreso Colombiano de Computación - CCC 2007
Programación
ología para el
MA). En ella,
mado por un
esos procesos
yen tablas y
dología fueron
embargo, con
MA el término
a meta.
los conceptos
e el uso de la
ésta puede ser
da una de las
ón a las metas
los diferentes
operar en el
n una gestión
e que estos
la gestión de
que soportan
encuentra que
utónomas, que
jetivos de la
agrupadas en
ez pueden ser
percibir a toda
compuesto de
ismo proceso,
intetizar una
recursiva. En
abstractas de
ecursiva hasta
n.
uede observar
ual puede ser
equiere que el
abstracta que
mediante el
o los recursos
n SMA puede
cuales pueden
osición basado
ta la jerarquía
es formas, la
nen los roles
amplitud ó en
e, puede ser
Figura 1. Descomposición recursiva de una organización.
En el proceso de análisis o el de síntesis, para lograr un
adecuado funcionamiento es imperativo que las entidades
interactúen entre si. En muy pocos contextos podría ser de
verdadera utilidad tener una organización compuesta por
entidades independientes y separadas. Una característica muy
importante de las interacciones es que éstas surgen en
situaciones típicas, cuándo varios roles aportan a la
consecución de un objetivo. Primero, se requiere establecer
qué tarea va a cumplir cada uno de los roles involucrados; en
este contexto, aparecen interacciones para realizar el manejo
de la asignación de tareas. Segundo, se precisa coordinar el
accionar de los participantes, pues el orden en que se realizan
las acciones puede ser importante para obtener el resultado
deseado; en este caso, emergen interacciones para lograr la
planificación y la ejecución sincronizada de las acciones.
Tercero, se deben detectar y resolver los conflictos que
puedan aparecer en el acceso a los recursos compartidos; en
estas situaciones, se generan interacciones para realizar un
acceso controlado a los recursos. Nótese que al analizar estos
tres casos, los vínculos de cooperación aparecen siempre que
hay un objetivo compartido por varios, ó cuando hay recursos
en común. En AOPOA, se aprovecha está característica
implícita de las interacciones para detectar en forma
automática los potenciales vínculos de cooperación entre roles
que pueden ser requeridos para alcanzar los objetivos del
sistema.
Los dos conceptos anteriormente analizados, la
descomposición organizacional y la detección de vínculos de
cooperación, están fuertemente ligados. En efecto, AOPOA
propone realizar una descomposición gradual en roles; tomar
un rol muy complejo y dividirlo en varios más simples, pero al
Rol_
Rol_ . Rol_ .
Rol_1.1. Rol_1.1.
Rol_
Rol_1 .
Rol_1 .
Rol_ .1.1 Rol_ . .
Revista Avances en Sistemas e Informática, Vol.4 No. 2, Septiembre de 2007
Edición Especial: II Congreso Colombiano de Computación - CCC 2007
72
II. AOPOA
La Aproximación Organizacional a la Programación
Orientada a Objetos (AOPOA) es una metodología para el
análisis y diseño de Sistemas Multi-Agente (SMA). En ella,
cada conjunto mayor de actividades está formado por un
conjunto de procesos iterativos. Cada uno de esos procesos
genera un conjunto de artefactos que incluyen tablas y
diagramas que definen un SMA genérico.
Algunos de los conceptos que rodean la metodología fueron
mencionados en la sección anterior; sin embargo, con
propósitos de referencia, en el contexto de un SMA el término
objetivo es equivalente en significado a la palabra meta.
El foco en esta sección es la presentación de los conceptos
y procesos generales que son aplicados durante el uso de la
metodología.
A. Enfoque Organizacional
Al analizar una organización se observa que ésta puede ser
descompuesta en unidades bien definidas, cada una de las
cuales tiene una responsabilidad clara en relación a las metas
de la organización. Con el fin de lograr que los diferentes
componentes de la organización puedan cooperar en el
cumplimiento de objetivos compartidos y logren una gestión
correcta de los recursos es indispensable que estos
componentes interactúen. La descomposición y la gestión de
las interacciones, son los elementos distintivos que soportan
conceptualmente a AOPOA.
Típicamente, al analizar una organización se encuentra que
está compuesta de un conjunto de entidades autónomas, que
actúan proactivamente para alcanzar los objetivos de la
organización. Normalmente, las entidades están agrupadas en
equipos pequeños de trabajo, los cuales a su vez pueden ser
agrupados de manera recursiva, hasta llegar a percibir a toda
la organización como si fuera un único equipo compuesto de
los equipos de más alto nivel. Realizando el mismo proceso,
pero en sentido contrario, es posible sintetizar una
organización haciendo una descomposición recursiva. En
efecto, la organización se divide en entidades abstractas de
alto nivel, las cuales se subdividen en forma recursiva hasta
llegar a las entidades autónomas que la componen.
La Figura 1 ilustra estos conceptos; como se puede observar
se genera una jerarquía organizacional, la cual puede ser
modelada como un árbol. Nótese que no se requiere que el
árbol sea balanceado.
En AOPOA, un rol representa una entidad abstracta que
debe alcanzar un conjunto de objetivos mediante el
aprovechamiento de sus habilidades y utilizando los recursos
disponibles en su entorno. En consecuencia, un SMA puede
ser diseñado como una jerarquía de roles, los cuales pueden
ser obtenidos mediante un proceso de descomposición basado
en los objetivos. El árbol de roles que representa la jerarquía
organizacional puede desarrollarse de diferentes formas, la
selección del orden en que se descomponen los roles
existentes puede basarse en un recorrido en amplitud ó en
profundidad. Una alternativa más interesante, puede ser
descomponer primero los roles más complejos.
Figura 1. Descomposición recursiva de una organización.
En el proceso de análisis o el de síntesis, para lograr un
adecuado funcionamiento es imperativo que las entidades
interactúen entre si. En muy pocos contextos podría ser de
verdadera utilidad tener una organización compuesta por
entidades independientes y separadas. Una característica muy
importante de las interacciones es que éstas surgen en
situaciones típicas, cuándo varios roles aportan a la
consecución de un objetivo. Primero, se requiere establecer
qué tarea va a cumplir cada uno de los roles involucrados; en
este contexto, aparecen interacciones para realizar el manejo
de la asignación de tareas. Segundo, se precisa coordinar el
accionar de los participantes, pues el orden en que se realizan
las acciones puede ser importante para obtener el resultado
deseado; en este caso, emergen interacciones para lograr la
planificación y la ejecución sincronizada de las acciones.
Tercero, se deben detectar y resolver los conflictos que
puedan aparecer en el acceso a los recursos compartidos; en
estas situaciones, se generan interacciones para realizar un
acceso controlado a los recursos. Nótese que al analizar estos
tres casos, los vínculos de cooperación aparecen siempre que
hay un objetivo compartido por varios, ó cuando hay recursos
en común. En AOPOA, se aprovecha está característica
implícita de las interacciones para detectar en forma
automática los potenciales vínculos de cooperación entre roles
que pueden ser requeridos para alcanzar los objetivos del
sistema.
Los dos conceptos anteriormente analizados, la
descomposición organizacional y la detección de vínculos de
cooperación, están fuertemente ligados. En efecto, AOPOA
propone realizar una descomposición gradual en roles; tomar
un rol muy complejo y dividirlo en varios más simples, pero al
Rol_
Rol_ . Rol_ .
Rol_1.1. Rol_1.1.
Rol_
Rol_1 .
Rol_1 .
Rol_ .1.1 Rol_ . .
Rol 1
Rol 2
Sistema
Iteración 1
Rol 1
Iteración 2
Rol 1i
Iteración 3
Agente 1i
Iteración m
Rol 11
Rol 1i
Rol 1n
Rol 1i1
Rol 1ij
Rol 1in
Agente 1i1
Agente 1ij1
Agente 1ij2
Agente 1in
3	
  
	
  
Figura 3. Niveles de Interacción.
El proceso recursivo de descomposición de los objetivos funciona en AOPOA de la siguiente manera: un objetivo
inicial se descompone en dos objetivos (figura 4.A), cada uno es asignado a un rol diferente surgiendo entre ellos un
enlace cooperativo (figura 4.B), se define luego el tipo de interacción correspondiente (figura 4.C), y a ésta se le
asigna un protocolo que puede ser delineado según los estándares FIPA o cualquier otro medio elegido por el
programador (figura 4.A), procediendo luego a definir los mensajes que deben intercambiarse entre los roles
mediante la estructuración de los actos del lenguaje, intencionalidad y sentido semántico que permita dicha
interacción.
A. B.
C. D.
E.
Figura 4. Establecimiento de modelos de interacción (ver explicación en el texto, tomado de [6]).
Tareas!que!requieran!habilidades!similares:!Homogeneidad.!
Mantener!juntas!las!que!requieran!los!mismos!recursos:!minimizar!conflictos!
Mantener!juntas!las!que!requieran!los!mismos!objetivos:!incorporar!el!conocimiento.!
!
!
AGRUPAR*TAREAS*PARA*DEFINIR*ROLES:*
*
Tareas*que*requieran*habilidades*similares:*
Homogeneidad.*
Mantener*juntas*las*que*requieran*los*mismos*recursos:*
Minimizar*conflictos*
Mantener*juntas*las*que*requieran*los*mismos*objetivos:*
Incorporar*el*conocimiento.*
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Obj 1.1 Obj 1.2
Objetivo 1
Rol 1 Rol 2
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Objetivo 1
Rol 1 Rol 2
Enlace Cooperativo
Obj 1.1 Obj 1.2
Tipo de Interacción
Indiferencia
Cooperación
Antagonismo
Rol 1 Rol 2
Obj 1.1 Obj 1.2
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Objetivo 1
Rol 1 Rol 2
Enlace Cooperativo
Obj 1.1 Obj 1.2
Tipo de Interacción
Indiferencia
Cooperación
Antagonismo
Rol 1 Rol 2
Obj 1.1 Obj 1.2
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Obj 1.1 Obj 1.2Protocolo de Interacción
Estándares FIPA
Rol 1 Rol 2
Mensaje 3
Mensaje 2
Mensaje 1
Actos del Lenguaje
Intencionalidad y Sentido Semántico
Rol 1 Rol 2
Obj 1.1 Obj 1.2
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Obj 1.1 Obj 1.2Protocolo de Interacción
Estándares FIPA
Rol 1 Rol 2
Mensaje 3
Mensaje 2
Mensaje 1
Actos del Lenguaje
Intencionalidad y Sentido Semántico
Rol 1 Rol 2
Obj 1.1 Obj 1.2
4	
  
	
  
Figura 5. Herencia de enlaces cooperativos: al hacerse la división de un rol debe contemplarse que alguno de los roles hijos debe
heredar las interacciones de los roles padres y alguna posible interacción nueva que se desarrolle entre los roles hijos (tomado de [5]).
En la figura 5 se presenta un ejemplo de la herencia de los vínculos cooperativos al avanzar en la iteraciones para la
identificación de roles y la consideración que debe hacerse de las interacciones heredadas y las nuevas tras el
seccionamiento de un rol.
A. B.
Figura 6. Proceso de identificación de los roles: se ejemplifican dos posibles distribuciones de roles que agrupen los objetivos en una
iteración (modificado de [5]).
El procedimiento mediante el cual AOPOA aborda la identificación de los roles (figura 6) considera la optimización
de los objetivos de manera recursiva basados en una heurística en la cual se intenta reducir los conflictos por los
recursos, la redundancia de habilidades y la dispersión de objetivos similares, en cada una de las iteraciones de
división de los roles, mediante la siguiente función:
CG = 1hw * hG + 1ow * oG + 1rw * rG + 2hw * hP + 2ow * oP + 2rw * rP
En donde: CG es la calificación total de la agrupación.
w son los pesos
Los subíndices: h para habilidades, o para objetivos y r para recursos
El criterio para determinar la detención de la descomposición recursiva de roles se basa en el cálculo de la
complejidad de los roles, expresado por la siguiente ecuación:
Iteración
i
Rol 1 Rol 2 Rol 3
Int 1
Int 2
Int 3
Int 4
Int 5
Int 1
Int 2
Int 3
Int 4
Int 5
Rol 1 Rol 2
Rol 3
Iteración
i +1
Rol 11
Rol 12
Rol 21
Rol 22
Rol 32
Rol 33
Rol 31
Int 6
Int 7
!
!
!
!
!
!
!
Rol 1
Obj 11
Obj 12
Obj 21
Obj 22
Obj 32
Obj 33
Obj 31
!
!
!
!
!
!
!
Rol 1
Obj 11
Obj 12
Obj 21
Obj 22
Obj 32
Obj 33
Obj 31
Rol	
  1.1	
  
	
  
Rol	
  1.2	
  
Rol	
  1.1	
  
	
  
Rol	
  1.2	
  
Rol	
  1.3	
  
5	
  
	
  
En donde: CRolA es la complejidad del rol A.
CoA es la complejidad del objetivo asignados al rol A
CrA es la complejidad de los recursos asignados al rol A
ChA es la complejidad de las habilidades asignados al rol A
w son los pesos (cuya sumatoria debe ser igual a 1)
4 Fases de desarrollo
La descomposición y la gestión de las interacciones, son los elementos distintivos que soportan conceptualmente a
AOPOA y esto se ve reflejado en cada una de sus fases como veremos a continuación:
4.1 Fase de Análisis:
Consta de dos procesos: caracterización general del sistema y la descomposición organizacional recursiva.
4.1.1 Caracterización General Del Sistema:
En la figura 7 se demuestran los pasos de éste proceso. Se inicia con el levantamiento de los requerimientos
del sistema representando las funcionalidades de este, se generan los artefactos tabla de casos de uso y la
tabla de requerimientos no funcionales. Se identifica el objetivo global y se traslada a la primera columna
de la tabla de tareas, se debe para ello tener en cuenta las tareas de información almacenada o procesada. Se
generan las clases de objetivos como un medio para incluir la información relevante propia del dominio del
problema que mas adelante influirá en la generación de los roles, se consigna ello en la tabla de clases de
objetivos. Se identifican las habilidades necesarias para cumplir estos objetivos que se llevan a la tabla de
habilidades. Se identifican y caracterizan las entidades externas en una tabla. Posteriormente se definen los
recursos externos del SMA, teniendo en cuenta el mantenimiento de su cardinalidad (fijos determinados,
fijos indeterminados o infinitos) además de su origen.
Con estos tres artefactos se constituye el artefacto descriptor de tareas con la cual se llena la tabla de
tareas. Acto seguido se procede a generar los roles considerando que cada uno de ellos tiene un padre. Se
asocian luego, la asociación de los recursos con las entidades externas de forma explicita, constituyendo la
tabla de vínculos externos.
En este momento se debe realizar la validación del enfoque POA:
- Determinar la compejidad del problema.
- Verificar la presencia de interacciones.
- Especificar comunicaciones.
- Definir autonomía.
- Definir escalabilidad
- Especificar el enfoque organizacional
Las cuatro primeras son primordiales y las tres iniciales se deben realizar en este orden.
CRolA = ow * oAC + rw * rAC + hw * hAC
6	
  
	
  
Figura 7. Caracterización general del sistema.
4.1.2 Descomposición Organizacional Recursiva (figura 8):
Se parte de la tabla de roles identificando la complejidad del rol decidiendo si va a ser dividido, se inicia
con ello la creación del árbol jerárquico de roles. Se inicia por la descomposición de los objetivos, luego se
identifican los recursos y habilidades, luego cada objetivo se liga a una tarea, es ésta la que incorpora en
una unidad lógica un objetivo con las clases de objetivo, las habilidades y los recursos. La siguiente
actividad tiene como fin obtener una agrupación de tareas, cada uno de los grupos obtenidos constituye la
base de uno de los nuevos roles simples derivados del rol complejo. La mejor agrupación es producida
mediante la aplicación de la heurística anteriormente descrita.
La mejor agrupación se lleva a la tabla de roles y luego se identifican los vínculos de cooperación que
deben ser asumidos por alguno de los nuevos roles identificados. El proceso de identificación de roles es
llevado a cabo de manera iterativa cuantas veces se juzgue necesario, subdividiendo en cada paso uno de
los roles encontrados. Una vez concluido este proceso, es posible pasar a la etapa de diseño.
nivel de comunicaciones entre roles; la heurística penaliza la
aparición de recursos compartidos.
III. FASE DE ANÁLISIS
En esta fase, una vez se ha determinado que el problema
posee las características en las cuales una solución basada en
artefactos Tabla de Roles y Tabla de Tareas, los cuales se
constituirán en el artefacto central del proceso recursivo de
descomposición organizacional.
Enunciado
del
problema
Tabla de
Tareas
Diagrama
de Vínculos
Externos
Identificar objetivo
global, objetivos
generales
Identificar y
Caracterizar
Entidades Externas
Definir recursos
externos al SMA
Asociar Recursos
con Entidades
Externas, Encontrar
Vínculos con Ellas.
Definir Habilidades
Necesarias
Finalizar-
AOPOA no
es aplicable.
Validar
Enfoque POA
Si
No
Finalizar
Proceso
Generar Clases de
Objetivos
Generar la Tabla de
Tareas
Tabla de
Tareas
Generar la Tabla de
Roles
Tabla de
Roles
Elaborar diagramas
de casos de uso
Tabla de
Diagramas de
Casos de Uso
Tabla de
Requerimientos
no Funcionales
Tabla de
Entidades
Externas
Tabla de
Clases de
Objetivos
Tabla de
Habilidades
Tabla de
Recursos
Figura 2. Descomposición recursiva de una organización
La primera actividad es la identificación de los objetivos
generales a partir del análisis de requerimientos del sistema.
Estos objetivos constituyen una aproximación general de la
solución, representan las responsabilidades del sistema como
si éste estuviese constituido por un rol, el cual será refinado
durante el proceso de descomposición organizacional.
7	
  
	
  
Figura 8. Proceso de descompocición organizacional.
4.2 Fase de Diseño.
En esta fase se procede a refinar el modelo, pasando de una vista global a una local, en la que se analizan las
necesidades de cooperación e interacción entre los roles encontrados. Se llevan a cabo dos procesos: el diseño
de vínculos de cooperación y el diseño de agentes.
4.2.1 Diseño De Vínculos De Cooperación (figura 9)
El tipo de interacción se asigna de acuerdo con la información obtenida de la Tabla de Recursos, el
Diagrama de Vínculos por Recursos, y el Diagrama de Vínculos por Objetivos para cada caso. El producto
de esta caracterización es registrado en la Tabla de Tipos de Interacción. Se procede a identificar una
técnica de cooperación adecuada; para cada caso se determina si el manejo de la interacción requiere el uso
de mecanismos de colaboración, coordinación ó resolución de conflictos. Luego se diseñan las respectivas
técnicas de interacción.
a de Habilidades y la Tabla de Recursos. Las tres tablas
ionadas (Clases de Objetivos, Habilidades y Recursos)
orman un único artefacto llamado Artefacto Descriptor de
as, cuya información es utilizada para generar la Tabla de
as, en la que cada objetivo da lugar a una tarea. En este
o, el SMA se modela por un único rol, el cual tiene a su
todos los objetivos globales del sistema; este rol será la
que conforman parte del ambiente. En ambos casos, estas
entidades serán asociadas por el SMA con los recursos
requeridos. En el primer caso, los recursos pueden ser
obtenidos a través de los vínculos con los actores externos. En
el segundo caso, los sensores y actuadores de los agentes son
utilizados para percibir y manipular los objetos pasivos.
Tabla de
Roles
El rol es
Complejo
Si
No
Descomponer
Objetivos
Asignar Recursos a
Objetivos
Especificar Tareas
Definir Roles
Tabla de
Objetivos
Tabla
de
Tareas
Tabla de
Roles
Finalizar Proceso
Identificar Vínculos de
Cooperación
Manejar Herencia de
los Vínculos
Diagrama de
Vínculos por
Objetivos
Diagrama de
Vínculos por
Recursos
Figura 3. Proceso de descomposición organizacional
Descomposición Organizacional
a vez han sido identificados y caracterizados las
ades externas, los recursos y los objetivos generales del
ma, se debe proceder a realizar el proceso recursivo de
omposición organizacional en roles. En la primera
ión, el sistema aparece representado por un único rol; en
eraciones siguientes, ya se habrá iniciado el desarrollo del
jerárquico de roles. En cualquier caso, la primera
dad es evaluar la complejidad de los roles que
ituyen la hojas del árbol. Si se determina que la
lejidad de uno de los roles es muy alta, éste debe ser
vidido.
En cada iteración se efectúa la descomposición recursiva de
un rol complejo en dos o más roles simples. El proceso inicia
con la descomposición de los objetivos del rol complejo en
objetivos más simples. Estos objetivos simples son analizados
con el fin de identificar los recursos y habilidades que se
requieren para su obtención. Cada objetivo se asocia a una
tarea; es ésta la que incorpora en una unidad lógica un
objetivo con las clases de objetivo, las habilidades y los
recursos. La Tabla de Tareas es modificada para reflejar estos
cambios.
La siguiente actividad tiene como fin obtener una
agrupación de tareas; es decir, un conjunto de grupos de
8	
  
	
  
Figura 9. Diseño de vínculos de cooperación
4.2.2 Diseño De Agentes (figura 10)
Se deben especificar de un modo más detallado los roles encontrados hasta el momento, seguido de la
definición específica los eventos a los que cada rol responderá. Cada evento proveniente del exterior
provocará una respuesta, en la que estarán involucrados el estado del agente, los recursos y las habilidades.
La información básica que describe a cada evento es registrada en la Tabla de Eventos.
Los componentes que describen el estado de un rol son su memoria, le brindan la información que necesita
tener para poder reaccionar adecuadamente a los eventos que le sean comunicados, es almacenada en la
Tabla de Estados. Como parte de la respuesta a eventos, el rol debe percibir y manipular los recursos
disponibles en el ambiente; estas tareas son llevadas a cabo utilizando adaptadores que deben tener
asociada al menos una primitiva que proporcione los medios para llevar a cabo las funcionalidades
requeridas para controlar uno o varios recursos. La definición de los adaptadores y sus primitivas asociadas
es consignada en la Tabla de Adaptadores.
A continuación, se debe proceder a especificar de una manera más detallada las respuestas del rol a los
eventos previamente definidos. e incluye aquí la habilidad mental involucrada en cada respuesta. Una
habilidad mental es el mecanismo por medio del cual el rol toma la decisión de comportarse de una u otra
manera como respuesta a un evento. Como última actividad del diseño interno de los roles debe revisarse el
cumplimiento de los requerimientos no funcionales definidos para el SMA durante la etapa de análisis.
Con los roles completamente definidos, es el momento de agruparlos en meta-agentes. Un meta-agente es
un espacio de ejecución para los roles, que puede agrupar uno o más de ellos. El meta-agente asume el
cumplimiento de los objetivos de todos los roles que lo integran, respondiendo en la forma especificada
para cada rol, a los eventos asociados.
derivados del rol complejo.
da mediante la aplicación de
onar la agrupación que tienda
es que compartan el mínimo
redundancia de habilidades,
mayoría de los objetivos de
uada a partir de la mejor
ada en la Tabla de Roles.
os nuevos roles, se procede a
ínculos de cooperación entre
ir por dos motivos:
rsos compartidos.
en a la obtención de un
, también debe analizarse la
poseía el rol complejo. Estos
r asumidos por alguno de los
e roles es llevado a cabo de
es se juzgue necesario,
de los roles encontrados. Una
posible pasar a la etapa de
e realizó un modelo del
ncentrándose en qué roles
s deben hacer. En la etapa de
alizado durante la etapa de
obal a una vista local, en la
s de SMA, se analizan las
interacción entre los roles
seño se llevan a cabo dos
e cooperación y el diseño de
ración
e diseño de vínculos de
Al finalizar el proceso se
ulos de Comunicación, que
entre los roles encontrados
nculos de cooperación entre
an como interacciones los
ctados durante el análisis,
l tipo de interacción; por
ción o antagonismo. El tipo
uerdo con la información
s, el Diagrama de Vínculos
Vínculos por Objetivos para
racterización es registrado en
abla de Tipos de Interacción,
ca de cooperación adecuada;
requiere el uso de mecanismos de colaboración, coordinación
ó resolución de conflictos. Cabe anotar que en algunos casos,
este manejo puede requerir el uso de mecanismos que realicen
más de una de estas tres funcionalidades. La selección de la
técnica o mecanismo de cooperación particular a utilizar
queda a criterio del diseñador, por cuanto existen numerosas
alternativas para ello.
Diag.
Vínculos
por
Objetivos
Finalizar
Proceso
Diag.
Vínculos
por
Recursos
Caracterizar los
Vínculos de
Cooperación Como
Interacciones
Seleccionar
Técnicas de
Cooperación
Tabla de
Tipos de
Interacción
Completar la Tabla
de Recursos
Tabla de
Recursos
Tabla de
Recursos
Diseñar Protocolos
de Interacción
Diagrama de
Vínculos de
Comunicación
Figura 4. Diseño de vínculos de cooperación
Por último, para cada vínculo de cooperación, a partir de las
técnicas seleccionadas en la actividad anterior, se diseñan
protocolos de interacción que permitan manejar de manera
apropiada cada caso de interacción entre roles. El diseño de un
protocolo implica determinar el flujo específico de eventos
que se intercambian entre los roles involucrados, así como
también la semántica y los datos asociados a cada uno de estos
eventos. Es posible recurrir a protocolos predefinidos, como
los propuestos por FIPA [1], o crear nuevos protocolos que se
ajusten a las necesidades del diseñador, y del problema. Para
este caso, pueden incluso definirse “roles sociales” o
auxiliares que se encarguen de ser mediadores o facilitadores
en el manejo de ciertas situaciones de interacción. La
especificación detallada de los protocolos y de los eventos se
consigna en el Diagrama de Vínculos de Comunicación.
2) Diseño de Agentes
Una vez se han detallado todos los vínculos de cooperación,
sigue el diseño interno de los roles identificados. La dinámica
de este proceso se muestra en la Figura 5.
9	
  
	
  
Figura 10. Diseño de agentes
4.3 Fase de despliegue
Se incluye la definición de sitios de despliegue, así como la disponibilidad de recursos, almacenamiento, y
capacidad de cómputo para cada sitio. Con esta información, se verifica las modificaciones que hay que hacer a
los meta-agentes para adaptarse al ambiente de despliegue, como por ejemplo replicación o distribución de
instancias. Todos estos aspectos son relevantes al momento de tomar decisiones en términos de
implementación del sistema, y claramente durante el despliegue físico del mismo.
5 Presentación de un artículo de ejemplo
El problema que se aborda es la manera de identificar y realizar actividades para optimizar la seguridad de los
correos electrónicos. Se especifica la posibilidad de detectar operaciones de consulta, envío y borrado de correos en
un sistema de correo electrónico. Inicia con una extensa revisión de los conceptos de seguridad y dan ejemplo de uso
de SMA para la resolución de estos problemas. Exponen a continuación los lineamiento metodológicos que
siguieron, con los pasos llevados a cabo en AOPOA identificando los siguientes artefactos:
en la que
ursos y las
cada evento
ión de los
Éstos son la
ue necesita
eventos que
el estado es
el rol debe
l ambiente;
dores. Cada
imitiva que
ionalidades
a definición
nsignada en
car de una
los eventos
nte a esta
luye aquí la
na habilidad
rol toma la
o respuesta
s roles debe
mientos no
a etapa de
ificarse los
y los demás
momento de
espacio de
o o más de
os objetivos
en la forma
ciados. Los
on variados,
bjetivos, la
os. Se debe
ultante, en
en un meta-
ntes serán
ra lógica y
dos durante
ue agrupan
sistema, es
spliegue, en
entes reales
os objetivos
modificaciones que hay que hacer a los meta-agentes para
adaptarse al ambiente de despliegue, como por ejemplo
replicación o distribución de instancias. Todos estos aspectos
son relevantes al momento de tomar decisiones en términos de
implementación del sistema, y claramente durante el
despliegue físico del mismo.
Definir componentes
de estado por rol
Roles
finales
Finalizar
Proceso
Especificar
Adaptadores por Rol
Tabla de
Estados
Definir eventos por
rol
Tabla
de
Eventos
Tabla de
Adaptadores
Especificar
Respuesta a Eventos
Tabla de
Eventos
Identificar Meta -
Agentes
Tabla de
Meta-
Agentes
Figura 5. Diseño de agentes.
IV. CASO DE ESTUDIO
Como caso de estudio de aplicación de la metodología
AOPOA a un problema del mundo corporativo, ésta ha sido
aplicada al problema de administración y optimización de
servidores en la Empresa de Telecomunicaciones de Bogotá
ETB. Los servidores de negocios de la compañía han venido
siendo administrados utilizando el software HP OpenView .
Sin embargo, varios factores incluyendo costos de
licenciamiento, consumo de recursos, despliegue estático y
proactividad limitada, hicieron deseable la implementación de
un sistema paralelo de gestión, diseñado siguiendo una
aproximación multi-agente.
El proceso inició con el levantamiento de información
correspondiente al problema. Dicho levantamiento fue llevado
a cabo siguiendo los procedimientos estándares de
levantamiento de información para proyectos de software no
enfocados utilizando el paradigma multi-agente. A partir del
resultado de este proceso se planteó el objetivo principal de la
10	
  
	
  
3131
REVISTA VÍNCULOS VOL 7 NÚMERO 1 ENERO - JUNIO 2010
3232
I + D S I S T E M A M U L T I A G E N T E P A R A L A D E T E C C I Ó N D E O P E R A C I O N E S D E C O N S U L T A , E N V Í O Y B O R R A D O D E C O R R E O S N O A U T O R I Z A D O S
REVISTA VÍNCULOS VOL 7 NÚMERO 1 ENERO - JUNIO 2010
3232
I + D S I S T E M A M U L T I A G E N T E P A R A L A D E T E C C I Ó N D E O P E R A C I O N E S D E C O N S U L T A , E N V Í O Y B O R R A D O D E C O R R E O S N O A U T O R I Z A D O S
REVISTA VÍNCULOS VOL 7 NÚMERO 1 ENERO - JUNIO 2010
11	
  
	
  
Tabla 5. Vínculos externos
3333
REVISTA VÍNCULOS VOL 7 NÚMERO 1 ENERO - JUNIO 2010
I + D S I S T E M A M U L T I A G E N T E P A R A L A D E T E C C I Ó N D E O P E R A C I O N E S D E C O N S U L T A , E N V Í O Y B O R R A D O D E C O R R E O S N O A U T O R I Z A D O S
12	
  
	
  
Figura 11. Arquitectura del Sistema Multiagentes
Se realizaron un marco de pruebas en las que se encuetra una relación cási linenal entre el número de ataques
realizados y la tasa de identificaciones, a mayor número de ataques mejor reaccionaba el sistema. Explican este
comportamiento por las características de los agentes y su habilidad para identificar los ataques.
Si bien no representa el comportamiento optimo para la solución de los problemas de seguridad en servidores de
correo, se debe aprovechar la descripción del proceso de diseño del sistema con cada uno de los artefactos
generados.
3434
REVISTA VÍNCULOS VOL 7 NÚMERO 1 ENERO - JUNIO 2010
JUAN CARLOS GUEVARA B., LUIS FELIPE WANUMEN S., GLORIA ANDREA CAVANZO N., CÉSAR VALDÉS L. L O S
E N E R O - J U N I O D E 2 0 1 0
V O L U M E N 7 N Ú M E R O 1
UCNÍV
13	
  
	
  
6 Conclusiones
Como fue expuesto en CLEI 2003 [3]: “… las ventajas que se encuentran al utilizar la metodología AOPOA son:
• El enfoque organizacional permite manejar la complejidad de un sistema al subdividir el problema en partes
más simples, cuyas relaciones están bien definidas.
• La utilización del procedimiento de agrupación permite hallar la mejor combinación de grupos de tareas, para
así optimizar el proceso de generación de los roles de manera que estos sean especializados y se reduzcan los
conflictos entre agentes.
• La flexibilidad para hacer evolucionar el sistema, en cuanto a que permite adicionar nuevos requerimientos a la
definición del problema, los cuales pueden ser cumplidos por el sistema ya existente sin modificar la estructura
inicial, la metodología permite escalabilidad.
• El proceso es completo dado que considera todos los aspectos necesarios para desarrollar un buen SMA, desde
el levantamiento de requerimientos hasta tener en cuenta los protocolos de comunicación para implementar las
interacciones entre los agentes.”
En resumen, AOPOA representa una metodología para el desarrollo de SMA en la que se traduce a un problema de
optimización (basada en objetivos, recursos y tareas) la forma en que se asignan los roles a un grupo de agentes,
dichos roles y sus interacciones son descubiertas de manera automática tras un proceso de descomposición
recursiva.
Referencias
[1] González E, Bustacara C. “Desarrollo de Aplicaciones Basadas en Sistemas Multi-Agentes”. Libro Producto de
Investigación – Grupo SIDRe, Departamento de Ingeniería de Sistemas, Facultad de Ingeniería, Pontificia Universidad
Javeriana. 2007.
[2] Rodríguez J, Torres M, González E. La Metodología AOPOA. Revista Avances en Sistemas e Informática, Vol.4 No.
2, Septiembre de 2007, Medellín, ISSN 1657-7663. Edición Especial: II Congreso Colombiano de Computación –
CCC2007.
[3] Ahogado D, Reinemer AM, González E. AOPOA: Aproximación Organizacional para Programación Orientada a
Agentes. CLEI 2003.
[4] Gonzalez E, Torres M. “AOPOA Organizational Approach for Agent Oriented Programming”, in Proceedings of the
8th International Conference on Enterprise Information Systems, May 2006 Paphos – Cyprus
[5] González E, Rodríguez J. AOPOA: Aproximación Organizacional para Programación Orientada a Agentes.
Presentación del Simposio para la Construcción de Software 2005.
[6] González E. Presentación del proyecto ASMA (Arquitectura de Sistemas Multi-Agentes). Grupo de investigación
SDRe, MISyC, PUJ. 2005.
[7] Juan Carlos Guevara B, Luis Felipe Wanumen S, Gloria Andrea Cavanzo N, César Valdés L. Sistema multiagente para
la detección de operaciones de consulta, envío y borrado de correos no autorizados. Revista Vínculos vol 7 número 1
enero - junio 2010 PP. 25 – 38.

Más contenido relacionado

Destacado

Programación Genética: Introducción y Aspectos Generales
Programación Genética: Introducción y Aspectos GeneralesProgramación Genética: Introducción y Aspectos Generales
Programación Genética: Introducción y Aspectos GeneralesJohn Diaz
 
Programación Genética: Introducción y Aspectos Generales
Programación Genética: Introducción y Aspectos GeneralesProgramación Genética: Introducción y Aspectos Generales
Programación Genética: Introducción y Aspectos GeneralesJohn Diaz
 
Презентация GUSAROV digital
Презентация GUSAROV digitalПрезентация GUSAROV digital
Презентация GUSAROV digitalGusarov Group
 
2.atomic structure and bonding
2.atomic structure and bonding2.atomic structure and bonding
2.atomic structure and bondingMuhamad Ibnu
 
Innovative teaching manual
Innovative teaching manualInnovative teaching manual
Innovative teaching manualvaishnaviraj614
 
Revista cuestiones jurídicas vol i n° 2 diferencias
Revista cuestiones jurídicas vol i n° 2   diferenciasRevista cuestiones jurídicas vol i n° 2   diferencias
Revista cuestiones jurídicas vol i n° 2 diferenciasJuan Perez Alvarado
 
Maicao barbas de maíz
Maicao barbas de maízMaicao barbas de maíz
Maicao barbas de maízelkin01
 
Ao3 op massaccesi
Ao3 op massaccesiAo3 op massaccesi
Ao3 op massaccesimassaccesi
 
Секция «Эффективность e-learning – оценка качества» Оценка качества e-learnin...
Секция «Эффективность e-learning – оценка качества» Оценка качества e-learnin...Секция «Эффективность e-learning – оценка качества» Оценка качества e-learnin...
Секция «Эффективность e-learning – оценка качества» Оценка качества e-learnin...Олег Савченко
 
Альманах "Метапарадигма", выпуск 2-3
Альманах "Метапарадигма", выпуск 2-3Альманах "Метапарадигма", выпуск 2-3
Альманах "Метапарадигма", выпуск 2-3Neapolitanskiy
 

Destacado (20)

Programación Genética: Introducción y Aspectos Generales
Programación Genética: Introducción y Aspectos GeneralesProgramación Genética: Introducción y Aspectos Generales
Programación Genética: Introducción y Aspectos Generales
 
Programación Genética: Introducción y Aspectos Generales
Programación Genética: Introducción y Aspectos GeneralesProgramación Genética: Introducción y Aspectos Generales
Programación Genética: Introducción y Aspectos Generales
 
Resolución
ResoluciónResolución
Resolución
 
Chandan CV
Chandan CVChandan CV
Chandan CV
 
Sdn nf v_cala_slides
Sdn nf v_cala_slidesSdn nf v_cala_slides
Sdn nf v_cala_slides
 
Conectivismo
ConectivismoConectivismo
Conectivismo
 
Kek coklat angah
Kek coklat angahKek coklat angah
Kek coklat angah
 
Презентация GUSAROV digital
Презентация GUSAROV digitalПрезентация GUSAROV digital
Презентация GUSAROV digital
 
2.atomic structure and bonding
2.atomic structure and bonding2.atomic structure and bonding
2.atomic structure and bonding
 
Pl
PlPl
Pl
 
Innovative teaching manual
Innovative teaching manualInnovative teaching manual
Innovative teaching manual
 
Revista cuestiones jurídicas vol i n° 2 diferencias
Revista cuestiones jurídicas vol i n° 2   diferenciasRevista cuestiones jurídicas vol i n° 2   diferencias
Revista cuestiones jurídicas vol i n° 2 diferencias
 
Proyecto Redes Solidarias
Proyecto Redes SolidariasProyecto Redes Solidarias
Proyecto Redes Solidarias
 
Canal de Suez
Canal de SuezCanal de Suez
Canal de Suez
 
Maicao barbas de maíz
Maicao barbas de maízMaicao barbas de maíz
Maicao barbas de maíz
 
KhanAcademy
KhanAcademyKhanAcademy
KhanAcademy
 
Abp y app
Abp y appAbp y app
Abp y app
 
Ao3 op massaccesi
Ao3 op massaccesiAo3 op massaccesi
Ao3 op massaccesi
 
Секция «Эффективность e-learning – оценка качества» Оценка качества e-learnin...
Секция «Эффективность e-learning – оценка качества» Оценка качества e-learnin...Секция «Эффективность e-learning – оценка качества» Оценка качества e-learnin...
Секция «Эффективность e-learning – оценка качества» Оценка качества e-learnin...
 
Альманах "Метапарадигма", выпуск 2-3
Альманах "Метапарадигма", выпуск 2-3Альманах "Метапарадигма", выпуск 2-3
Альманах "Метапарадигма", выпуск 2-3
 

Similar a Aproximación Organizacional para Programación Orientada a Agentes: Introducción y Aspectos Generales

Ingeniería del software orientada a agentes
Ingeniería del software orientada a agentesIngeniería del software orientada a agentes
Ingeniería del software orientada a agenteskasas12
 
Tipos de modelo y metodologias
Tipos de modelo y metodologiasTipos de modelo y metodologias
Tipos de modelo y metodologiasJosafat Mtz
 
República bolivariana de venezuela
República bolivariana de venezuelaRepública bolivariana de venezuela
República bolivariana de venezuelaaularjesus
 
Metodología orientadas a objetos
Metodología orientadas a objetosMetodología orientadas a objetos
Metodología orientadas a objetosyolandacando1
 
Metodología orientadas a objetos
Metodología orientadas a objetosMetodología orientadas a objetos
Metodología orientadas a objetosyolandacando1
 
Metodología orientadas a objetos
Metodología orientadas a objetosMetodología orientadas a objetos
Metodología orientadas a objetosyolandacando1
 
Metodología orientadas a objetos
Metodología orientadas a objetosMetodología orientadas a objetos
Metodología orientadas a objetosyolandacando1
 
Metodologías para el desarrollo de sistemas
Metodologías para el desarrollo de sistemasMetodologías para el desarrollo de sistemas
Metodologías para el desarrollo de sistemasmireya2022
 
Tema 2.UML parte 1.ppt
Tema 2.UML parte 1.pptTema 2.UML parte 1.ppt
Tema 2.UML parte 1.pptRafaelAcedo2
 
Metodologias Para El Analisis Y Diseño De Sistemas.
Metodologias Para El Analisis Y Diseño De Sistemas.Metodologias Para El Analisis Y Diseño De Sistemas.
Metodologias Para El Analisis Y Diseño De Sistemas.German Rodriguez
 
Slideshare 2do corte, luismortell
Slideshare 2do corte, luismortellSlideshare 2do corte, luismortell
Slideshare 2do corte, luismortellforwer1223
 
UML(Diseños de Sistemas)
UML(Diseños de Sistemas)UML(Diseños de Sistemas)
UML(Diseños de Sistemas)josue salas
 

Similar a Aproximación Organizacional para Programación Orientada a Agentes: Introducción y Aspectos Generales (20)

Ingeniería del software orientada a agentes
Ingeniería del software orientada a agentesIngeniería del software orientada a agentes
Ingeniería del software orientada a agentes
 
Tipos de modelo y metodologias
Tipos de modelo y metodologiasTipos de modelo y metodologias
Tipos de modelo y metodologias
 
Gutierrez
GutierrezGutierrez
Gutierrez
 
Trabajo valderrama y carlos
Trabajo valderrama y   carlosTrabajo valderrama y   carlos
Trabajo valderrama y carlos
 
República bolivariana de venezuela
República bolivariana de venezuelaRepública bolivariana de venezuela
República bolivariana de venezuela
 
Metodología orientadas a objetos
Metodología orientadas a objetosMetodología orientadas a objetos
Metodología orientadas a objetos
 
Metodología orientadas a objetos
Metodología orientadas a objetosMetodología orientadas a objetos
Metodología orientadas a objetos
 
Metodología orientadas a objetos
Metodología orientadas a objetosMetodología orientadas a objetos
Metodología orientadas a objetos
 
Metodología orientadas a objetos
Metodología orientadas a objetosMetodología orientadas a objetos
Metodología orientadas a objetos
 
Metodologías para el desarrollo de sistemas
Metodologías para el desarrollo de sistemasMetodologías para el desarrollo de sistemas
Metodologías para el desarrollo de sistemas
 
Tema 2.UML parte 1.ppt
Tema 2.UML parte 1.pptTema 2.UML parte 1.ppt
Tema 2.UML parte 1.ppt
 
Omt
OmtOmt
Omt
 
Metodologia
MetodologiaMetodologia
Metodologia
 
Entendiendo el lenguaje de modelado
Entendiendo el lenguaje de modeladoEntendiendo el lenguaje de modelado
Entendiendo el lenguaje de modelado
 
Modelo informático
Modelo informáticoModelo informático
Modelo informático
 
Metodologias Para El Analisis Y Diseño De Sistemas.
Metodologias Para El Analisis Y Diseño De Sistemas.Metodologias Para El Analisis Y Diseño De Sistemas.
Metodologias Para El Analisis Y Diseño De Sistemas.
 
Chapters 3-4.pdf
Chapters 3-4.pdfChapters 3-4.pdf
Chapters 3-4.pdf
 
Uml
UmlUml
Uml
 
Slideshare 2do corte, luismortell
Slideshare 2do corte, luismortellSlideshare 2do corte, luismortell
Slideshare 2do corte, luismortell
 
UML(Diseños de Sistemas)
UML(Diseños de Sistemas)UML(Diseños de Sistemas)
UML(Diseños de Sistemas)
 

Más de John Diaz

Boosting presentación 19 05 14
Boosting presentación 19 05 14Boosting presentación 19 05 14
Boosting presentación 19 05 14John Diaz
 
Modelos Ocultos de Márkov presentación
Modelos Ocultos de Márkov presentaciónModelos Ocultos de Márkov presentación
Modelos Ocultos de Márkov presentaciónJohn Diaz
 
USO DE LA COMPUTACIÓN PERMISIVA, UBICUA Y MÓVIL EN EL CUIDADO DE LA SALUD
USO DE LA COMPUTACIÓN PERMISIVA, UBICUA Y MÓVIL  EN EL CUIDADO DE LA SALUD USO DE LA COMPUTACIÓN PERMISIVA, UBICUA Y MÓVIL  EN EL CUIDADO DE LA SALUD
USO DE LA COMPUTACIÓN PERMISIVA, UBICUA Y MÓVIL EN EL CUIDADO DE LA SALUD John Diaz
 
Sistemas de Soporte a las Decisiones Clínicas basado en Inteligencia Artifici...
Sistemas de Soporte a las Decisiones Clínicas basado en Inteligencia Artifici...Sistemas de Soporte a las Decisiones Clínicas basado en Inteligencia Artifici...
Sistemas de Soporte a las Decisiones Clínicas basado en Inteligencia Artifici...John Diaz
 
Sistemas Híbridos centrados en la Lógica Difusa para el Diagnóstico de la enf...
Sistemas Híbridos centrados en la Lógica Difusa para el Diagnóstico de la enf...Sistemas Híbridos centrados en la Lógica Difusa para el Diagnóstico de la enf...
Sistemas Híbridos centrados en la Lógica Difusa para el Diagnóstico de la enf...John Diaz
 
Aproximación Organizacional para Programación Orientada a Agentes: Introducci...
Aproximación Organizacional para Programación Orientada a Agentes: Introducci...Aproximación Organizacional para Programación Orientada a Agentes: Introducci...
Aproximación Organizacional para Programación Orientada a Agentes: Introducci...John Diaz
 
Conflictos argumentación resumen john sprockel
Conflictos argumentación resumen   john sprockelConflictos argumentación resumen   john sprockel
Conflictos argumentación resumen john sprockelJohn Diaz
 
negociación basada en la argumentación en sistemas multiagentes
negociación basada en la argumentación en sistemas multiagentesnegociación basada en la argumentación en sistemas multiagentes
negociación basada en la argumentación en sistemas multiagentesJohn Diaz
 

Más de John Diaz (8)

Boosting presentación 19 05 14
Boosting presentación 19 05 14Boosting presentación 19 05 14
Boosting presentación 19 05 14
 
Modelos Ocultos de Márkov presentación
Modelos Ocultos de Márkov presentaciónModelos Ocultos de Márkov presentación
Modelos Ocultos de Márkov presentación
 
USO DE LA COMPUTACIÓN PERMISIVA, UBICUA Y MÓVIL EN EL CUIDADO DE LA SALUD
USO DE LA COMPUTACIÓN PERMISIVA, UBICUA Y MÓVIL  EN EL CUIDADO DE LA SALUD USO DE LA COMPUTACIÓN PERMISIVA, UBICUA Y MÓVIL  EN EL CUIDADO DE LA SALUD
USO DE LA COMPUTACIÓN PERMISIVA, UBICUA Y MÓVIL EN EL CUIDADO DE LA SALUD
 
Sistemas de Soporte a las Decisiones Clínicas basado en Inteligencia Artifici...
Sistemas de Soporte a las Decisiones Clínicas basado en Inteligencia Artifici...Sistemas de Soporte a las Decisiones Clínicas basado en Inteligencia Artifici...
Sistemas de Soporte a las Decisiones Clínicas basado en Inteligencia Artifici...
 
Sistemas Híbridos centrados en la Lógica Difusa para el Diagnóstico de la enf...
Sistemas Híbridos centrados en la Lógica Difusa para el Diagnóstico de la enf...Sistemas Híbridos centrados en la Lógica Difusa para el Diagnóstico de la enf...
Sistemas Híbridos centrados en la Lógica Difusa para el Diagnóstico de la enf...
 
Aproximación Organizacional para Programación Orientada a Agentes: Introducci...
Aproximación Organizacional para Programación Orientada a Agentes: Introducci...Aproximación Organizacional para Programación Orientada a Agentes: Introducci...
Aproximación Organizacional para Programación Orientada a Agentes: Introducci...
 
Conflictos argumentación resumen john sprockel
Conflictos argumentación resumen   john sprockelConflictos argumentación resumen   john sprockel
Conflictos argumentación resumen john sprockel
 
negociación basada en la argumentación en sistemas multiagentes
negociación basada en la argumentación en sistemas multiagentesnegociación basada en la argumentación en sistemas multiagentes
negociación basada en la argumentación en sistemas multiagentes
 

Último

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 

Último (10)

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

Aproximación Organizacional para Programación Orientada a Agentes: Introducción y Aspectos Generales

  • 1. 1     Aproximación Organizacional para Programación Orientada a Agentes: Introducción y Aspectos Generales John Sprockel Maestría de Ingeniería de Sistemas y Computación, Universidad Javeriana jsprockel@javeriana.edu.co Resumen. La Aproximación Organizacional para Programación Orientada a Agentes (AOPOA) es una metodología para lo construcción de sistemas multi-agentes (SMA) mediante una descomposición de un problema complejo de manera iterativa, recursiva, basado en el concepto de metas y el de identificación de tareas de manera estructurada con un enfoque organizacional. En el presente artículo se realiza una descripción de la definición, aspectos históricos, conceptos importantes, fases y por último la presentación de un artículo en el que se expone la puesta en práctica de la metodología. Palabras Clave: sistemas multi-agentes, metodología, programación orientada a agentes. 1 Introducción La Aproximación Organizacional para Programación Orientada a Agentes (AOPOA) es una metodología para lo construcción de sistemas multi-agentes (SMA) en la que se aborda el diseño de sistemas complejos mediante su descomposición en sistemas más simples con un enfoque organizacional. La base de dicha descomposición se lleva a cabo de manera iterativa, recursiva, teniendo en cuenta el concepto de metas y el de la identificación de tareas [1]. El proceso de análisis y diseño se lleva a cabo con un enfoque distinto al de las otras metodologías ya que además de la asignación de responsabilidades de manera estructurada y progresiva, se efectúa una identificación y caracterización de las interacciones de manera automática. En AOPOA, cada conjunto mayor de actividades está formado por un conjunto de procesos iterativos, cada uno de los cuales genera un conjunto de artefactos que incluyen tablas y diagramas que definen un SMA genérico [2]. En los apartes que se desarrollan a continuación, se hace la descripción de los conceptos básicos y pasos para el desarrollo de la metodología incluyendo los aspectos históricos, marco conceptual, fases y por último la presentación de un artículo en el que se expone la puesta en práctica de la metodología. 2 Historia La metodología se ha venido desarrollando desde el inicio de la maestría en ingeniería de sistemas y computación de la Pontificia Universidad Javeriana en el 2001, dentro del grupo de investigación SIDRe. Surgió partir del proyecto marco ASMA (Arquitectura para Sistemas Multi Agentes), dentro del cual se desarrolló la plataforma de desarrollo BESA (Behavior-oriented Event-driven Social-based Agents). Su desarrollo ha sido compartido desde el área de los sistemas distribuidos e inteligentes.
  • 2. 2     3 Marco Conceptual: Enfoque Organizacional El análisis de una organización nos muestra como típicamente se encuentra dividida en un conjunto de entidades autónomas que actúan de manera proactiva pata alcanzar un objetivo. En la figura 1 se observa como se genera una jerarquía organizacional modelada como un arbol (A) o un diagrama de conjuntos (B). A. B. Figura 1. Descomposición recursiva de una organización (tomado sin modificar de [3]). La definición de Rol para AOPOA implica la representación de una entidad abstracta para alcanzar un conjunto de objetivos aprovechamiento de habilidades usando los recursos del entorno [2]. Es así como un SMA puede ser diseñado como una jerarquía de roles, los cuales pueden obtenerse mediante la descomposición basada en objetivos. La selección del orden en que se descomponen los roles puede desarrollarse en un recorrido por amplitud o en profundidad a partir de la imagen del árbol. En AOPOA se lleva a cabo la descomposición de los roles de manera recursiva, partiendo de los de mayor complejidad (Figura 2). Figura 2. Descomposición recursiva de los roles como un proceso iterativo, recursivo por amplitud (tomado de [6]). La interacción surge, en condiciones típicas, cuándo varios roles aportan a la consecución de un objetivo o bien cuando se comprten los recursos. La figura 3 muestra los niveles de interacción que pueden surgir. stemas e Informática, Vol.4 No. 2, Septiembre de 2007 Congreso Colombiano de Computación - CCC 2007 Programación ología para el MA). En ella, mado por un esos procesos yen tablas y dología fueron embargo, con MA el término a meta. los conceptos e el uso de la ésta puede ser da una de las ón a las metas los diferentes operar en el n una gestión e que estos la gestión de que soportan encuentra que utónomas, que jetivos de la agrupadas en ez pueden ser percibir a toda compuesto de ismo proceso, intetizar una recursiva. En abstractas de ecursiva hasta n. uede observar ual puede ser equiere que el abstracta que mediante el o los recursos n SMA puede cuales pueden osición basado ta la jerarquía es formas, la nen los roles amplitud ó en e, puede ser Figura 1. Descomposición recursiva de una organización. En el proceso de análisis o el de síntesis, para lograr un adecuado funcionamiento es imperativo que las entidades interactúen entre si. En muy pocos contextos podría ser de verdadera utilidad tener una organización compuesta por entidades independientes y separadas. Una característica muy importante de las interacciones es que éstas surgen en situaciones típicas, cuándo varios roles aportan a la consecución de un objetivo. Primero, se requiere establecer qué tarea va a cumplir cada uno de los roles involucrados; en este contexto, aparecen interacciones para realizar el manejo de la asignación de tareas. Segundo, se precisa coordinar el accionar de los participantes, pues el orden en que se realizan las acciones puede ser importante para obtener el resultado deseado; en este caso, emergen interacciones para lograr la planificación y la ejecución sincronizada de las acciones. Tercero, se deben detectar y resolver los conflictos que puedan aparecer en el acceso a los recursos compartidos; en estas situaciones, se generan interacciones para realizar un acceso controlado a los recursos. Nótese que al analizar estos tres casos, los vínculos de cooperación aparecen siempre que hay un objetivo compartido por varios, ó cuando hay recursos en común. En AOPOA, se aprovecha está característica implícita de las interacciones para detectar en forma automática los potenciales vínculos de cooperación entre roles que pueden ser requeridos para alcanzar los objetivos del sistema. Los dos conceptos anteriormente analizados, la descomposición organizacional y la detección de vínculos de cooperación, están fuertemente ligados. En efecto, AOPOA propone realizar una descomposición gradual en roles; tomar un rol muy complejo y dividirlo en varios más simples, pero al Rol_ Rol_ . Rol_ . Rol_1.1. Rol_1.1. Rol_ Rol_1 . Rol_1 . Rol_ .1.1 Rol_ . . Revista Avances en Sistemas e Informática, Vol.4 No. 2, Septiembre de 2007 Edición Especial: II Congreso Colombiano de Computación - CCC 2007 72 II. AOPOA La Aproximación Organizacional a la Programación Orientada a Objetos (AOPOA) es una metodología para el análisis y diseño de Sistemas Multi-Agente (SMA). En ella, cada conjunto mayor de actividades está formado por un conjunto de procesos iterativos. Cada uno de esos procesos genera un conjunto de artefactos que incluyen tablas y diagramas que definen un SMA genérico. Algunos de los conceptos que rodean la metodología fueron mencionados en la sección anterior; sin embargo, con propósitos de referencia, en el contexto de un SMA el término objetivo es equivalente en significado a la palabra meta. El foco en esta sección es la presentación de los conceptos y procesos generales que son aplicados durante el uso de la metodología. A. Enfoque Organizacional Al analizar una organización se observa que ésta puede ser descompuesta en unidades bien definidas, cada una de las cuales tiene una responsabilidad clara en relación a las metas de la organización. Con el fin de lograr que los diferentes componentes de la organización puedan cooperar en el cumplimiento de objetivos compartidos y logren una gestión correcta de los recursos es indispensable que estos componentes interactúen. La descomposición y la gestión de las interacciones, son los elementos distintivos que soportan conceptualmente a AOPOA. Típicamente, al analizar una organización se encuentra que está compuesta de un conjunto de entidades autónomas, que actúan proactivamente para alcanzar los objetivos de la organización. Normalmente, las entidades están agrupadas en equipos pequeños de trabajo, los cuales a su vez pueden ser agrupados de manera recursiva, hasta llegar a percibir a toda la organización como si fuera un único equipo compuesto de los equipos de más alto nivel. Realizando el mismo proceso, pero en sentido contrario, es posible sintetizar una organización haciendo una descomposición recursiva. En efecto, la organización se divide en entidades abstractas de alto nivel, las cuales se subdividen en forma recursiva hasta llegar a las entidades autónomas que la componen. La Figura 1 ilustra estos conceptos; como se puede observar se genera una jerarquía organizacional, la cual puede ser modelada como un árbol. Nótese que no se requiere que el árbol sea balanceado. En AOPOA, un rol representa una entidad abstracta que debe alcanzar un conjunto de objetivos mediante el aprovechamiento de sus habilidades y utilizando los recursos disponibles en su entorno. En consecuencia, un SMA puede ser diseñado como una jerarquía de roles, los cuales pueden ser obtenidos mediante un proceso de descomposición basado en los objetivos. El árbol de roles que representa la jerarquía organizacional puede desarrollarse de diferentes formas, la selección del orden en que se descomponen los roles existentes puede basarse en un recorrido en amplitud ó en profundidad. Una alternativa más interesante, puede ser descomponer primero los roles más complejos. Figura 1. Descomposición recursiva de una organización. En el proceso de análisis o el de síntesis, para lograr un adecuado funcionamiento es imperativo que las entidades interactúen entre si. En muy pocos contextos podría ser de verdadera utilidad tener una organización compuesta por entidades independientes y separadas. Una característica muy importante de las interacciones es que éstas surgen en situaciones típicas, cuándo varios roles aportan a la consecución de un objetivo. Primero, se requiere establecer qué tarea va a cumplir cada uno de los roles involucrados; en este contexto, aparecen interacciones para realizar el manejo de la asignación de tareas. Segundo, se precisa coordinar el accionar de los participantes, pues el orden en que se realizan las acciones puede ser importante para obtener el resultado deseado; en este caso, emergen interacciones para lograr la planificación y la ejecución sincronizada de las acciones. Tercero, se deben detectar y resolver los conflictos que puedan aparecer en el acceso a los recursos compartidos; en estas situaciones, se generan interacciones para realizar un acceso controlado a los recursos. Nótese que al analizar estos tres casos, los vínculos de cooperación aparecen siempre que hay un objetivo compartido por varios, ó cuando hay recursos en común. En AOPOA, se aprovecha está característica implícita de las interacciones para detectar en forma automática los potenciales vínculos de cooperación entre roles que pueden ser requeridos para alcanzar los objetivos del sistema. Los dos conceptos anteriormente analizados, la descomposición organizacional y la detección de vínculos de cooperación, están fuertemente ligados. En efecto, AOPOA propone realizar una descomposición gradual en roles; tomar un rol muy complejo y dividirlo en varios más simples, pero al Rol_ Rol_ . Rol_ . Rol_1.1. Rol_1.1. Rol_ Rol_1 . Rol_1 . Rol_ .1.1 Rol_ . . Rol 1 Rol 2 Sistema Iteración 1 Rol 1 Iteración 2 Rol 1i Iteración 3 Agente 1i Iteración m Rol 11 Rol 1i Rol 1n Rol 1i1 Rol 1ij Rol 1in Agente 1i1 Agente 1ij1 Agente 1ij2 Agente 1in
  • 3. 3     Figura 3. Niveles de Interacción. El proceso recursivo de descomposición de los objetivos funciona en AOPOA de la siguiente manera: un objetivo inicial se descompone en dos objetivos (figura 4.A), cada uno es asignado a un rol diferente surgiendo entre ellos un enlace cooperativo (figura 4.B), se define luego el tipo de interacción correspondiente (figura 4.C), y a ésta se le asigna un protocolo que puede ser delineado según los estándares FIPA o cualquier otro medio elegido por el programador (figura 4.A), procediendo luego a definir los mensajes que deben intercambiarse entre los roles mediante la estructuración de los actos del lenguaje, intencionalidad y sentido semántico que permita dicha interacción. A. B. C. D. E. Figura 4. Establecimiento de modelos de interacción (ver explicación en el texto, tomado de [6]). Tareas!que!requieran!habilidades!similares:!Homogeneidad.! Mantener!juntas!las!que!requieran!los!mismos!recursos:!minimizar!conflictos! Mantener!juntas!las!que!requieran!los!mismos!objetivos:!incorporar!el!conocimiento.! ! ! AGRUPAR*TAREAS*PARA*DEFINIR*ROLES:* * Tareas*que*requieran*habilidades*similares:* Homogeneidad.* Mantener*juntas*las*que*requieran*los*mismos*recursos:* Minimizar*conflictos* Mantener*juntas*las*que*requieran*los*mismos*objetivos:* Incorporar*el*conocimiento.* ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! Obj 1.1 Obj 1.2 Objetivo 1 Rol 1 Rol 2 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! Objetivo 1 Rol 1 Rol 2 Enlace Cooperativo Obj 1.1 Obj 1.2 Tipo de Interacción Indiferencia Cooperación Antagonismo Rol 1 Rol 2 Obj 1.1 Obj 1.2 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! Objetivo 1 Rol 1 Rol 2 Enlace Cooperativo Obj 1.1 Obj 1.2 Tipo de Interacción Indiferencia Cooperación Antagonismo Rol 1 Rol 2 Obj 1.1 Obj 1.2 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! Obj 1.1 Obj 1.2Protocolo de Interacción Estándares FIPA Rol 1 Rol 2 Mensaje 3 Mensaje 2 Mensaje 1 Actos del Lenguaje Intencionalidad y Sentido Semántico Rol 1 Rol 2 Obj 1.1 Obj 1.2 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! Obj 1.1 Obj 1.2Protocolo de Interacción Estándares FIPA Rol 1 Rol 2 Mensaje 3 Mensaje 2 Mensaje 1 Actos del Lenguaje Intencionalidad y Sentido Semántico Rol 1 Rol 2 Obj 1.1 Obj 1.2
  • 4. 4     Figura 5. Herencia de enlaces cooperativos: al hacerse la división de un rol debe contemplarse que alguno de los roles hijos debe heredar las interacciones de los roles padres y alguna posible interacción nueva que se desarrolle entre los roles hijos (tomado de [5]). En la figura 5 se presenta un ejemplo de la herencia de los vínculos cooperativos al avanzar en la iteraciones para la identificación de roles y la consideración que debe hacerse de las interacciones heredadas y las nuevas tras el seccionamiento de un rol. A. B. Figura 6. Proceso de identificación de los roles: se ejemplifican dos posibles distribuciones de roles que agrupen los objetivos en una iteración (modificado de [5]). El procedimiento mediante el cual AOPOA aborda la identificación de los roles (figura 6) considera la optimización de los objetivos de manera recursiva basados en una heurística en la cual se intenta reducir los conflictos por los recursos, la redundancia de habilidades y la dispersión de objetivos similares, en cada una de las iteraciones de división de los roles, mediante la siguiente función: CG = 1hw * hG + 1ow * oG + 1rw * rG + 2hw * hP + 2ow * oP + 2rw * rP En donde: CG es la calificación total de la agrupación. w son los pesos Los subíndices: h para habilidades, o para objetivos y r para recursos El criterio para determinar la detención de la descomposición recursiva de roles se basa en el cálculo de la complejidad de los roles, expresado por la siguiente ecuación: Iteración i Rol 1 Rol 2 Rol 3 Int 1 Int 2 Int 3 Int 4 Int 5 Int 1 Int 2 Int 3 Int 4 Int 5 Rol 1 Rol 2 Rol 3 Iteración i +1 Rol 11 Rol 12 Rol 21 Rol 22 Rol 32 Rol 33 Rol 31 Int 6 Int 7 ! ! ! ! ! ! ! Rol 1 Obj 11 Obj 12 Obj 21 Obj 22 Obj 32 Obj 33 Obj 31 ! ! ! ! ! ! ! Rol 1 Obj 11 Obj 12 Obj 21 Obj 22 Obj 32 Obj 33 Obj 31 Rol  1.1     Rol  1.2   Rol  1.1     Rol  1.2   Rol  1.3  
  • 5. 5     En donde: CRolA es la complejidad del rol A. CoA es la complejidad del objetivo asignados al rol A CrA es la complejidad de los recursos asignados al rol A ChA es la complejidad de las habilidades asignados al rol A w son los pesos (cuya sumatoria debe ser igual a 1) 4 Fases de desarrollo La descomposición y la gestión de las interacciones, son los elementos distintivos que soportan conceptualmente a AOPOA y esto se ve reflejado en cada una de sus fases como veremos a continuación: 4.1 Fase de Análisis: Consta de dos procesos: caracterización general del sistema y la descomposición organizacional recursiva. 4.1.1 Caracterización General Del Sistema: En la figura 7 se demuestran los pasos de éste proceso. Se inicia con el levantamiento de los requerimientos del sistema representando las funcionalidades de este, se generan los artefactos tabla de casos de uso y la tabla de requerimientos no funcionales. Se identifica el objetivo global y se traslada a la primera columna de la tabla de tareas, se debe para ello tener en cuenta las tareas de información almacenada o procesada. Se generan las clases de objetivos como un medio para incluir la información relevante propia del dominio del problema que mas adelante influirá en la generación de los roles, se consigna ello en la tabla de clases de objetivos. Se identifican las habilidades necesarias para cumplir estos objetivos que se llevan a la tabla de habilidades. Se identifican y caracterizan las entidades externas en una tabla. Posteriormente se definen los recursos externos del SMA, teniendo en cuenta el mantenimiento de su cardinalidad (fijos determinados, fijos indeterminados o infinitos) además de su origen. Con estos tres artefactos se constituye el artefacto descriptor de tareas con la cual se llena la tabla de tareas. Acto seguido se procede a generar los roles considerando que cada uno de ellos tiene un padre. Se asocian luego, la asociación de los recursos con las entidades externas de forma explicita, constituyendo la tabla de vínculos externos. En este momento se debe realizar la validación del enfoque POA: - Determinar la compejidad del problema. - Verificar la presencia de interacciones. - Especificar comunicaciones. - Definir autonomía. - Definir escalabilidad - Especificar el enfoque organizacional Las cuatro primeras son primordiales y las tres iniciales se deben realizar en este orden. CRolA = ow * oAC + rw * rAC + hw * hAC
  • 6. 6     Figura 7. Caracterización general del sistema. 4.1.2 Descomposición Organizacional Recursiva (figura 8): Se parte de la tabla de roles identificando la complejidad del rol decidiendo si va a ser dividido, se inicia con ello la creación del árbol jerárquico de roles. Se inicia por la descomposición de los objetivos, luego se identifican los recursos y habilidades, luego cada objetivo se liga a una tarea, es ésta la que incorpora en una unidad lógica un objetivo con las clases de objetivo, las habilidades y los recursos. La siguiente actividad tiene como fin obtener una agrupación de tareas, cada uno de los grupos obtenidos constituye la base de uno de los nuevos roles simples derivados del rol complejo. La mejor agrupación es producida mediante la aplicación de la heurística anteriormente descrita. La mejor agrupación se lleva a la tabla de roles y luego se identifican los vínculos de cooperación que deben ser asumidos por alguno de los nuevos roles identificados. El proceso de identificación de roles es llevado a cabo de manera iterativa cuantas veces se juzgue necesario, subdividiendo en cada paso uno de los roles encontrados. Una vez concluido este proceso, es posible pasar a la etapa de diseño. nivel de comunicaciones entre roles; la heurística penaliza la aparición de recursos compartidos. III. FASE DE ANÁLISIS En esta fase, una vez se ha determinado que el problema posee las características en las cuales una solución basada en artefactos Tabla de Roles y Tabla de Tareas, los cuales se constituirán en el artefacto central del proceso recursivo de descomposición organizacional. Enunciado del problema Tabla de Tareas Diagrama de Vínculos Externos Identificar objetivo global, objetivos generales Identificar y Caracterizar Entidades Externas Definir recursos externos al SMA Asociar Recursos con Entidades Externas, Encontrar Vínculos con Ellas. Definir Habilidades Necesarias Finalizar- AOPOA no es aplicable. Validar Enfoque POA Si No Finalizar Proceso Generar Clases de Objetivos Generar la Tabla de Tareas Tabla de Tareas Generar la Tabla de Roles Tabla de Roles Elaborar diagramas de casos de uso Tabla de Diagramas de Casos de Uso Tabla de Requerimientos no Funcionales Tabla de Entidades Externas Tabla de Clases de Objetivos Tabla de Habilidades Tabla de Recursos Figura 2. Descomposición recursiva de una organización La primera actividad es la identificación de los objetivos generales a partir del análisis de requerimientos del sistema. Estos objetivos constituyen una aproximación general de la solución, representan las responsabilidades del sistema como si éste estuviese constituido por un rol, el cual será refinado durante el proceso de descomposición organizacional.
  • 7. 7     Figura 8. Proceso de descompocición organizacional. 4.2 Fase de Diseño. En esta fase se procede a refinar el modelo, pasando de una vista global a una local, en la que se analizan las necesidades de cooperación e interacción entre los roles encontrados. Se llevan a cabo dos procesos: el diseño de vínculos de cooperación y el diseño de agentes. 4.2.1 Diseño De Vínculos De Cooperación (figura 9) El tipo de interacción se asigna de acuerdo con la información obtenida de la Tabla de Recursos, el Diagrama de Vínculos por Recursos, y el Diagrama de Vínculos por Objetivos para cada caso. El producto de esta caracterización es registrado en la Tabla de Tipos de Interacción. Se procede a identificar una técnica de cooperación adecuada; para cada caso se determina si el manejo de la interacción requiere el uso de mecanismos de colaboración, coordinación ó resolución de conflictos. Luego se diseñan las respectivas técnicas de interacción. a de Habilidades y la Tabla de Recursos. Las tres tablas ionadas (Clases de Objetivos, Habilidades y Recursos) orman un único artefacto llamado Artefacto Descriptor de as, cuya información es utilizada para generar la Tabla de as, en la que cada objetivo da lugar a una tarea. En este o, el SMA se modela por un único rol, el cual tiene a su todos los objetivos globales del sistema; este rol será la que conforman parte del ambiente. En ambos casos, estas entidades serán asociadas por el SMA con los recursos requeridos. En el primer caso, los recursos pueden ser obtenidos a través de los vínculos con los actores externos. En el segundo caso, los sensores y actuadores de los agentes son utilizados para percibir y manipular los objetos pasivos. Tabla de Roles El rol es Complejo Si No Descomponer Objetivos Asignar Recursos a Objetivos Especificar Tareas Definir Roles Tabla de Objetivos Tabla de Tareas Tabla de Roles Finalizar Proceso Identificar Vínculos de Cooperación Manejar Herencia de los Vínculos Diagrama de Vínculos por Objetivos Diagrama de Vínculos por Recursos Figura 3. Proceso de descomposición organizacional Descomposición Organizacional a vez han sido identificados y caracterizados las ades externas, los recursos y los objetivos generales del ma, se debe proceder a realizar el proceso recursivo de omposición organizacional en roles. En la primera ión, el sistema aparece representado por un único rol; en eraciones siguientes, ya se habrá iniciado el desarrollo del jerárquico de roles. En cualquier caso, la primera dad es evaluar la complejidad de los roles que ituyen la hojas del árbol. Si se determina que la lejidad de uno de los roles es muy alta, éste debe ser vidido. En cada iteración se efectúa la descomposición recursiva de un rol complejo en dos o más roles simples. El proceso inicia con la descomposición de los objetivos del rol complejo en objetivos más simples. Estos objetivos simples son analizados con el fin de identificar los recursos y habilidades que se requieren para su obtención. Cada objetivo se asocia a una tarea; es ésta la que incorpora en una unidad lógica un objetivo con las clases de objetivo, las habilidades y los recursos. La Tabla de Tareas es modificada para reflejar estos cambios. La siguiente actividad tiene como fin obtener una agrupación de tareas; es decir, un conjunto de grupos de
  • 8. 8     Figura 9. Diseño de vínculos de cooperación 4.2.2 Diseño De Agentes (figura 10) Se deben especificar de un modo más detallado los roles encontrados hasta el momento, seguido de la definición específica los eventos a los que cada rol responderá. Cada evento proveniente del exterior provocará una respuesta, en la que estarán involucrados el estado del agente, los recursos y las habilidades. La información básica que describe a cada evento es registrada en la Tabla de Eventos. Los componentes que describen el estado de un rol son su memoria, le brindan la información que necesita tener para poder reaccionar adecuadamente a los eventos que le sean comunicados, es almacenada en la Tabla de Estados. Como parte de la respuesta a eventos, el rol debe percibir y manipular los recursos disponibles en el ambiente; estas tareas son llevadas a cabo utilizando adaptadores que deben tener asociada al menos una primitiva que proporcione los medios para llevar a cabo las funcionalidades requeridas para controlar uno o varios recursos. La definición de los adaptadores y sus primitivas asociadas es consignada en la Tabla de Adaptadores. A continuación, se debe proceder a especificar de una manera más detallada las respuestas del rol a los eventos previamente definidos. e incluye aquí la habilidad mental involucrada en cada respuesta. Una habilidad mental es el mecanismo por medio del cual el rol toma la decisión de comportarse de una u otra manera como respuesta a un evento. Como última actividad del diseño interno de los roles debe revisarse el cumplimiento de los requerimientos no funcionales definidos para el SMA durante la etapa de análisis. Con los roles completamente definidos, es el momento de agruparlos en meta-agentes. Un meta-agente es un espacio de ejecución para los roles, que puede agrupar uno o más de ellos. El meta-agente asume el cumplimiento de los objetivos de todos los roles que lo integran, respondiendo en la forma especificada para cada rol, a los eventos asociados. derivados del rol complejo. da mediante la aplicación de onar la agrupación que tienda es que compartan el mínimo redundancia de habilidades, mayoría de los objetivos de uada a partir de la mejor ada en la Tabla de Roles. os nuevos roles, se procede a ínculos de cooperación entre ir por dos motivos: rsos compartidos. en a la obtención de un , también debe analizarse la poseía el rol complejo. Estos r asumidos por alguno de los e roles es llevado a cabo de es se juzgue necesario, de los roles encontrados. Una posible pasar a la etapa de e realizó un modelo del ncentrándose en qué roles s deben hacer. En la etapa de alizado durante la etapa de obal a una vista local, en la s de SMA, se analizan las interacción entre los roles seño se llevan a cabo dos e cooperación y el diseño de ración e diseño de vínculos de Al finalizar el proceso se ulos de Comunicación, que entre los roles encontrados nculos de cooperación entre an como interacciones los ctados durante el análisis, l tipo de interacción; por ción o antagonismo. El tipo uerdo con la información s, el Diagrama de Vínculos Vínculos por Objetivos para racterización es registrado en abla de Tipos de Interacción, ca de cooperación adecuada; requiere el uso de mecanismos de colaboración, coordinación ó resolución de conflictos. Cabe anotar que en algunos casos, este manejo puede requerir el uso de mecanismos que realicen más de una de estas tres funcionalidades. La selección de la técnica o mecanismo de cooperación particular a utilizar queda a criterio del diseñador, por cuanto existen numerosas alternativas para ello. Diag. Vínculos por Objetivos Finalizar Proceso Diag. Vínculos por Recursos Caracterizar los Vínculos de Cooperación Como Interacciones Seleccionar Técnicas de Cooperación Tabla de Tipos de Interacción Completar la Tabla de Recursos Tabla de Recursos Tabla de Recursos Diseñar Protocolos de Interacción Diagrama de Vínculos de Comunicación Figura 4. Diseño de vínculos de cooperación Por último, para cada vínculo de cooperación, a partir de las técnicas seleccionadas en la actividad anterior, se diseñan protocolos de interacción que permitan manejar de manera apropiada cada caso de interacción entre roles. El diseño de un protocolo implica determinar el flujo específico de eventos que se intercambian entre los roles involucrados, así como también la semántica y los datos asociados a cada uno de estos eventos. Es posible recurrir a protocolos predefinidos, como los propuestos por FIPA [1], o crear nuevos protocolos que se ajusten a las necesidades del diseñador, y del problema. Para este caso, pueden incluso definirse “roles sociales” o auxiliares que se encarguen de ser mediadores o facilitadores en el manejo de ciertas situaciones de interacción. La especificación detallada de los protocolos y de los eventos se consigna en el Diagrama de Vínculos de Comunicación. 2) Diseño de Agentes Una vez se han detallado todos los vínculos de cooperación, sigue el diseño interno de los roles identificados. La dinámica de este proceso se muestra en la Figura 5.
  • 9. 9     Figura 10. Diseño de agentes 4.3 Fase de despliegue Se incluye la definición de sitios de despliegue, así como la disponibilidad de recursos, almacenamiento, y capacidad de cómputo para cada sitio. Con esta información, se verifica las modificaciones que hay que hacer a los meta-agentes para adaptarse al ambiente de despliegue, como por ejemplo replicación o distribución de instancias. Todos estos aspectos son relevantes al momento de tomar decisiones en términos de implementación del sistema, y claramente durante el despliegue físico del mismo. 5 Presentación de un artículo de ejemplo El problema que se aborda es la manera de identificar y realizar actividades para optimizar la seguridad de los correos electrónicos. Se especifica la posibilidad de detectar operaciones de consulta, envío y borrado de correos en un sistema de correo electrónico. Inicia con una extensa revisión de los conceptos de seguridad y dan ejemplo de uso de SMA para la resolución de estos problemas. Exponen a continuación los lineamiento metodológicos que siguieron, con los pasos llevados a cabo en AOPOA identificando los siguientes artefactos: en la que ursos y las cada evento ión de los Éstos son la ue necesita eventos que el estado es el rol debe l ambiente; dores. Cada imitiva que ionalidades a definición nsignada en car de una los eventos nte a esta luye aquí la na habilidad rol toma la o respuesta s roles debe mientos no a etapa de ificarse los y los demás momento de espacio de o o más de os objetivos en la forma ciados. Los on variados, bjetivos, la os. Se debe ultante, en en un meta- ntes serán ra lógica y dos durante ue agrupan sistema, es spliegue, en entes reales os objetivos modificaciones que hay que hacer a los meta-agentes para adaptarse al ambiente de despliegue, como por ejemplo replicación o distribución de instancias. Todos estos aspectos son relevantes al momento de tomar decisiones en términos de implementación del sistema, y claramente durante el despliegue físico del mismo. Definir componentes de estado por rol Roles finales Finalizar Proceso Especificar Adaptadores por Rol Tabla de Estados Definir eventos por rol Tabla de Eventos Tabla de Adaptadores Especificar Respuesta a Eventos Tabla de Eventos Identificar Meta - Agentes Tabla de Meta- Agentes Figura 5. Diseño de agentes. IV. CASO DE ESTUDIO Como caso de estudio de aplicación de la metodología AOPOA a un problema del mundo corporativo, ésta ha sido aplicada al problema de administración y optimización de servidores en la Empresa de Telecomunicaciones de Bogotá ETB. Los servidores de negocios de la compañía han venido siendo administrados utilizando el software HP OpenView . Sin embargo, varios factores incluyendo costos de licenciamiento, consumo de recursos, despliegue estático y proactividad limitada, hicieron deseable la implementación de un sistema paralelo de gestión, diseñado siguiendo una aproximación multi-agente. El proceso inició con el levantamiento de información correspondiente al problema. Dicho levantamiento fue llevado a cabo siguiendo los procedimientos estándares de levantamiento de información para proyectos de software no enfocados utilizando el paradigma multi-agente. A partir del resultado de este proceso se planteó el objetivo principal de la
  • 10. 10     3131 REVISTA VÍNCULOS VOL 7 NÚMERO 1 ENERO - JUNIO 2010 3232 I + D S I S T E M A M U L T I A G E N T E P A R A L A D E T E C C I Ó N D E O P E R A C I O N E S D E C O N S U L T A , E N V Í O Y B O R R A D O D E C O R R E O S N O A U T O R I Z A D O S REVISTA VÍNCULOS VOL 7 NÚMERO 1 ENERO - JUNIO 2010 3232 I + D S I S T E M A M U L T I A G E N T E P A R A L A D E T E C C I Ó N D E O P E R A C I O N E S D E C O N S U L T A , E N V Í O Y B O R R A D O D E C O R R E O S N O A U T O R I Z A D O S REVISTA VÍNCULOS VOL 7 NÚMERO 1 ENERO - JUNIO 2010
  • 11. 11     Tabla 5. Vínculos externos 3333 REVISTA VÍNCULOS VOL 7 NÚMERO 1 ENERO - JUNIO 2010 I + D S I S T E M A M U L T I A G E N T E P A R A L A D E T E C C I Ó N D E O P E R A C I O N E S D E C O N S U L T A , E N V Í O Y B O R R A D O D E C O R R E O S N O A U T O R I Z A D O S
  • 12. 12     Figura 11. Arquitectura del Sistema Multiagentes Se realizaron un marco de pruebas en las que se encuetra una relación cási linenal entre el número de ataques realizados y la tasa de identificaciones, a mayor número de ataques mejor reaccionaba el sistema. Explican este comportamiento por las características de los agentes y su habilidad para identificar los ataques. Si bien no representa el comportamiento optimo para la solución de los problemas de seguridad en servidores de correo, se debe aprovechar la descripción del proceso de diseño del sistema con cada uno de los artefactos generados. 3434 REVISTA VÍNCULOS VOL 7 NÚMERO 1 ENERO - JUNIO 2010 JUAN CARLOS GUEVARA B., LUIS FELIPE WANUMEN S., GLORIA ANDREA CAVANZO N., CÉSAR VALDÉS L. L O S E N E R O - J U N I O D E 2 0 1 0 V O L U M E N 7 N Ú M E R O 1 UCNÍV
  • 13. 13     6 Conclusiones Como fue expuesto en CLEI 2003 [3]: “… las ventajas que se encuentran al utilizar la metodología AOPOA son: • El enfoque organizacional permite manejar la complejidad de un sistema al subdividir el problema en partes más simples, cuyas relaciones están bien definidas. • La utilización del procedimiento de agrupación permite hallar la mejor combinación de grupos de tareas, para así optimizar el proceso de generación de los roles de manera que estos sean especializados y se reduzcan los conflictos entre agentes. • La flexibilidad para hacer evolucionar el sistema, en cuanto a que permite adicionar nuevos requerimientos a la definición del problema, los cuales pueden ser cumplidos por el sistema ya existente sin modificar la estructura inicial, la metodología permite escalabilidad. • El proceso es completo dado que considera todos los aspectos necesarios para desarrollar un buen SMA, desde el levantamiento de requerimientos hasta tener en cuenta los protocolos de comunicación para implementar las interacciones entre los agentes.” En resumen, AOPOA representa una metodología para el desarrollo de SMA en la que se traduce a un problema de optimización (basada en objetivos, recursos y tareas) la forma en que se asignan los roles a un grupo de agentes, dichos roles y sus interacciones son descubiertas de manera automática tras un proceso de descomposición recursiva. Referencias [1] González E, Bustacara C. “Desarrollo de Aplicaciones Basadas en Sistemas Multi-Agentes”. Libro Producto de Investigación – Grupo SIDRe, Departamento de Ingeniería de Sistemas, Facultad de Ingeniería, Pontificia Universidad Javeriana. 2007. [2] Rodríguez J, Torres M, González E. La Metodología AOPOA. Revista Avances en Sistemas e Informática, Vol.4 No. 2, Septiembre de 2007, Medellín, ISSN 1657-7663. Edición Especial: II Congreso Colombiano de Computación – CCC2007. [3] Ahogado D, Reinemer AM, González E. AOPOA: Aproximación Organizacional para Programación Orientada a Agentes. CLEI 2003. [4] Gonzalez E, Torres M. “AOPOA Organizational Approach for Agent Oriented Programming”, in Proceedings of the 8th International Conference on Enterprise Information Systems, May 2006 Paphos – Cyprus [5] González E, Rodríguez J. AOPOA: Aproximación Organizacional para Programación Orientada a Agentes. Presentación del Simposio para la Construcción de Software 2005. [6] González E. Presentación del proyecto ASMA (Arquitectura de Sistemas Multi-Agentes). Grupo de investigación SDRe, MISyC, PUJ. 2005. [7] Juan Carlos Guevara B, Luis Felipe Wanumen S, Gloria Andrea Cavanzo N, César Valdés L. Sistema multiagente para la detección de operaciones de consulta, envío y borrado de correos no autorizados. Revista Vínculos vol 7 número 1 enero - junio 2010 PP. 25 – 38.