Upload
john-diaz
View
43
Download
1
Embed Size (px)
DESCRIPTION
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.
Citation preview
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 [email protected]
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.
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
R ol_
Rol_ . R ol_ .
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
R ol_
Rol_ . R ol_ .
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.2 Protocolo 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.2 Protocolo 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 31Rol 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.
La Metodología AOPOA - Rodríguez, Torres y González
73
mismo tiempo identificar si entre dichos roles resultantes surgen vínculos de cooperación.
Para realizar la identificación de los roles derivados, AOPOA propone una heurística que propende por la especialización de los roles y por la disminución del número de interacciones. La especialización es una característica deseable, que permite una mayor cohesión de los componentes resultantes; para lograrla, la heurística favorece la descomposición en la que los roles no comparten las mismas habilidades. La reducción del número de vínculos reduce el 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
agentes es adecuada, se realizan dos procesos: la caracterización general del sistema y la descomposición organizacional recursiva.
A. Caracterización del Sistema La dinámica del proceso de caracterización general del
sistema es ilustrada en la Figura 2. Al final de la realización de las actividades asociadas se obtiene el Diagrama de Vínculos Externos del sistema, el cual modela las relaciones de éste con las entidades externas que se encuentran en el ambiente de trabajo. Adicionalmente, se genera la primera versión de los 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.
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
74
Cada objetivo tiene una clase asociada, y la lista de estas clases se consigna en la Tabla de Clases de Objetivos. Para cada uno de los objetivos se deben definir las habilidades y los recursos requeridos para su realización; la información definida en cada caso, se consigna respectivamente en la Tabla de Habilidades y la Tabla de Recursos. Las tres tablas mencionadas (Clases de Objetivos, Habilidades y Recursos) conforman un único artefacto llamado Artefacto Descriptor de Tareas, cuya información es utilizada para generar la Tabla de Tareas, en la que cada objetivo da lugar a una tarea. En este punto, el SMA se modela por un único rol, el cual tiene a su cargo todos los objetivos globales del sistema; este rol será la
primera entrada en la Tabla de Roles. A continuación, se identifican y caracterizan todas las
entidades externas con las cuales el SMA deberá interactuar. Existen dos tipos de entidades externas: las entidades externas activas son denominadas actores, y las pasivas son los objetos 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
B. Descomposición Organizacional Una vez han sido identificados y caracterizados las
entidades externas, los recursos y los objetivos generales del sistema, se debe proceder a realizar el proceso recursivo de descomposición organizacional en roles. En la primera iteración, el sistema aparece representado por un único rol; en las iteraciones siguientes, ya se habrá iniciado el desarrollo del árbol jerárquico de roles. En cualquier caso, la primera actividad es evaluar la complejidad de los roles que constituyen la hojas del árbol. Si se determina que la complejidad de uno de los roles es muy alta, éste debe ser subdividido.
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.
La Metodología AOPOA - Rodríguez, Torres y González
75
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 una heurística. La idea es seleccionar la agrupación que tienda a favorecer la generación de roles que compartan el mínimo de recursos, que tengan la menor redundancia de habilidades, y que incorporen en lo posible la mayoría de los objetivos de una misma clase.
La definición de roles efectuada a partir de la mejor agrupación de tareas es registrada en la Tabla de Roles. Luego, una vez se han definido los nuevos roles, se procede a la actividad de identificación de vínculos de cooperación entre éstos. Estos vínculos pueden surgir por dos motivos: x los nuevos roles utilizan recursos compartidos. x los nuevos roles contribuyen a la obtención de un
objetivo común. Antes de finalizar la iteración, también debe analizarse la
herencia de los vínculos que ya poseía el rol complejo. Estos vínculos de cooperación 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.
C. Etapa de Diseño En la etapa de análisis se realizó un modelo del
comportamiento del sistema concentrándose en qué roles deben existir y qué es lo que éstos deben hacer. En la etapa de diseño, se refina el modelo realizado durante la etapa de análisis, pasando de una vista global a una vista local, en la que basándose en los conceptos de SMA, se analizan las necesidades de cooperación e interacción entre los roles encontrados. En la etapa de diseño se llevan a cabo dos procesos: el diseño de vínculos de cooperación y el diseño de agentes. 1) Diseño de Vínculos de Cooperación
La dinámica del proceso de diseño de vínculos de cooperación se muestra en la. Al finalizar el proceso se obtendrá el Diagrama de Vínculos de Comunicación, que muestra los mensajes que surgen entre los roles encontrados en el SMA, generados por los vínculos de cooperación entre ellos.
A continuación se caracterizan como interacciones los vínculos de cooperación detectados durante el análisis, identificando para cada uno el tipo de interacción; por ejemplo: independencia, cooperación o antagonismo. 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.
Una vez se ha completado 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. 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:
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
76
Inicialmente se deben especificar de un modo más detallado los roles encontrados hasta el momento. Con este fin, deben definirse de manera específica los eventos a los que cada rol responderá. Cada evento, proveniente del exterior del rol provocará una respuesta por parte del mismo, 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.
La siguiente actividad contempla la definición de los componentes que describen el estado de un rol. Éstos son la memoria del rol, y le brindan la información que necesita tener para poder reaccionar adecuadamente a los eventos que le sean comunicados. La descripción detallada del estado es almacenada en la Tabla de Estados.
Como parte del proceso de respuesta a eventos, el rol debe percibir y manipular los recursos disponibles en el ambiente; estas tareas son llevadas a cabo utilizando adaptadores. Cada adaptador debe 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. La información referente a esta cuestión se registra en la Tabla de Eventos. Se 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. En caso de ser necesario, deben modificarse los componentes de estado, las habilidades mentales, y los demás componentes del rol que se juzgue oportuno.
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. Los criterios de agrupación de roles en meta-agentes son variados, se puede tener en cuenta la similitud de objetivos, la distribución de habilidades, o el acceso a los recursos. Se debe analizar la granularidad de la agrupación resultante, en términos de la complejidad de los roles agrupados en un meta-agente determinado. Los meta-agentes resultantes serán instanciados en agentes que contendrán de manera lógica y física todas las características de los roles definidos durante las etapas de análisis y diseño.
Una vez han sido obtenidos los meta-agentes que agrupan los roles definidos durante el análisis y diseño del sistema, es necesario llevar a cabo la etapa de Análisis de Despliegue, en la que se caracteriza el ambiente en el que los agentes reales estarán ubicados y operando para cumplir con los objetivos
del sistema. Esta caracterización incluye la definición de sitios de despliegue, y para cada sitio, la disponibilidad de recursos, almacenamiento, y capacidad de cómputo, entre otros. Teniendo esta información definida, se procede a verificar 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.
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
JUAN CARLOS GUEVARA B., LUIS FELIPE WANUMEN S., GLORIA ANDREA CAVANZO N., CÉSAR VALDÉS L.
REVISTA VÍNCULOS VOL 7 NÚMERO 1 ENERO - JUNIO 2010
L O SE 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
'HVFULSFLyQ�GH�OD�VROXFLyQ
(O�SUR\HFWR�FRQVLVWLy�HQ�HO�GHVDUUROOR�GH�XQ�VLVWHPD� PXOWLDJHQWH� TXH� SHUPLWH� GHWHFWDU�RSHUDFLRQHV�GH�FRQVXOWD��DO�LJXDO�TXH�HO�HQYtR�\�ERUUDGR�GH�FRUUHRV�HQ�XQ�VLVWHPD�GH�FRUUHR�HOHFWUyQLFR�� (O� SUR\HFWR� LPSOLFy� HO� PRQWDMH�\� FRQÀJXUDFLyQ� GHO� VLVWHPD�GH� FRUUHR� HOHF�WUyQLFR�([FKDQJH��OD�FUHDFLyQ�GH�XQ�VLVWHPD�PXOWLDJHQWH� FRQIRUPDGR� SRU� DJHQWHV� HQ�ORV� FOLHQWHV� �FtUFXORV� ���� \� �� GH� OD� ÀJXUD� ���\� DJHQWHV� HQ� HO� VHUYLGRU� �$UF���$UF���$UF���&RRU���&RRU��\�&RRU����VLJXLHQGR�OD�PHWRGR�ORJtD�$232$��*RURGHWVNL�\�.RWHQNR��������*RQ]iOH]�\�%XVWDFXUD���������TXH�SHUPLWDQ�GHWHFWDU�ODV�RSHUDFLRQHV�GH�FRQVXOWD��HQYtR�\�ERUUDGR�GH�FRUUHRV�QR�DXWRUL]DGRV��PRQWDMH�GH� OD� SODWDIRUPD� GH� VLVWHPDV� PXOWLDJHQWH�%HVD�� OD� GHÀQLFLyQ� GH� XQ� SURWRFROR� GH�SUXHED�GHO�VLVWHPD�\�HO�DQiOLVLV�GH�ORV�UHVXO�WDGRV�REWHQLGRV�GH�OD�DSOLFDFLyQ�GHO�VLVWHPD�PXOWLDJHQWH��$GHPiV�VH�FUHy�XQ�ÀUHZDOO�TXH�SHUPLWH�GHWHFWDU�ODV�PLVPDV�RSHUDFLRQHV�GH�GHWHFFLyQ�\�FRPSUREDU�HO�IXQFLRQDPLHQWR�GHO�VLVWHPD�PXOWLDJHQWH��(Q�OD�ÀJXUD���VH�PXHV�WUDQ�ORV�GLIHUHQWHV�FRPSRQHQWHV�GHO�VLVWHPD�
)LJXUD����(VWUXFWXUD�GHO�6LVWHPD�0XOWLDJHQWH
(Q� HO� GHVDUUROOR� GHO� SUR\HFWR�� SULPHUR� VH�UHDOL]y� OD� LQVWDODFLyQ�GHO�VHUYLGRU�GH�FRUUHR�([FKDQJH�� HO� FRQWHQHGRU� GH� DJHQWHV� %HVD�\� HO�ÀUHZDOO�� OXHJR� VH� DSOLFy� OD�PHWRGRORJtD�$232$�TXH�QRV�SHUPLWLy�REWHQHU�HO�VLVWHPD�PXOWLDJHQWH��/DV�HWDSDV�DSOLFDGDV�GH�OD�PHWR�GRORJtD�VRQ�ODV�VLJXLHQWHV�
,GHQWLÀFDFLyQ�GH�FDVRV�GH�XVR�\�REMHWLYRV
3DUD�FDGD�XQR�GH�ORV�DQWHULRUHV�FDVRV�GH�XVR�VH� KL]R� XQD� GHVFULSFLyQ�� /RV� UHVXOWDGRV� HQ�UHVXPHQ�VH�PXHVWUDQ�HQ�OD�VLJXLHQWH�WDEOD�
7DEOD����FDVRV�GH�XVR
&DVR�GH�XVR��GHWHFWDU�RSHUDFLRQHV�GH�FRQVXOWD�GH�FRUUHR�HOHFWUyQLFR�VRVSHFKRVDV
&DVR�GH�XVR��GHWHFWDU�RSHUDFLRQHV�GH�HQYtR�GH�FRUUHR�HOHFWUyQLFR�VRVSHFKRVDV
&DVR�GH�XVR��GHWHFWDU�RSHUDFLRQHV�GH�ERUUDGR�GH�FRUUHR�HOHFWUyQLFR�VRVSHFKRVDV
6H�UHDOL]D�FRQ�DJHQWHV�HQ�HO�ODGR�GHO�VHUYLGRU�\�HQ�HO�ODGR�GHO�FOLHQWH��TXLHQHV�WLHQHQ�OD�KDELOLGDG�SDUD�KDFHU�FRQVXOWDV�VRVSHFKRVDV�GH�XVXDULRV�DXWHQWLFDGRV�FRPR�´QRµ�
6H�UHDOL]D�FRQ�DJHQWHV�HQ�HO�ODGR�GHO�VHUYLGRU�\�HQ�HO�ODGR�GHO�FOLHQWH��TXLHQHV�WLHQHQ�OD�KDELOLGDG�SDUD�FRQVXOWDV�VRVSHFKRVDV�GH�XVXDULRV�DXWHQWLFDGRV�FRPR�´QRµ�
6H�UHDOL]D�FRQ�DJHQWHV�HQ�HO�ODGR�GHO�VHUYLGRU�\�HQ�HO�ODGR�GHO�FOLHQWH��TXLHQHV�WLHQHQ�OD�KDELOLGDG�SDUD�FRQVXOWDV�VRVSHFKRVDV�GH�XVXDULRV�DXWHQWLFDGRV�FRPR�´QRµ�
5HTXHULPLHQWR�1R�)XQFLRQDO�FRPSDUWLGR��(O�VLVWHPD�GHEH�IXQFLRQDU�FRQ�VHUYLGRUHV�GH�FRUUHR�([FKDQJH�\�HQ�UHGHV�EDMR�XQ�PLVPR�GRPLQLR�:LQGRZV
5HTXHULPLHQWR�1R�)XQFLRQDO�FRPSDUWLGR��(O�VLVWHPD�GHEH�IXQFLRQDU�FRQ�VHUYLGRUHV�GH�FRUUHR�([FKDQJH�\�HQ�UHGHV�EDMR�XQ�PLVPR�GRPLQLR�:LQGRZV
5HTXHULPLHQWR�1R�)XQFLRQDO�FRPSDUWLGR��(O�VLVWHPD�GHEH�IXQFLRQDU�FRQ�VHUYLGRUHV�GH�FRUUHR�([FKDQJH�\�HQ�UHGHV�EDMR�XQ�PLVPR�GRPLQLR�:LQGRZV
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
7DEOD����REMHWLYRV
,G��2EMHWLYR 2EMHWLYR ,G��2EMHWLYR�
SDGUH2� 'HWHFWDU�DWDTXHV�DO�VHUYLGRU�GH�FRUUHR �2��� 'HWHFWDU�DWDTXHV�XVDQGR�WpFQLFDV�GH�ERUUDGR�PDVLYR�GH�FRUUHR 2�2��� 'HWHFWDU�DWDTXHV�XVDQGR�WpFQLFDV�GH�YLVXDOL]DFLyQ�PDVLYD�GH�FRUUHR 2�2��� 'HWHFWDU�DWDTXHV�XVDQGR�WpFQLFDV�GH�HQYtR�PDVLYR�GH�FRUUHR 2�2����� 'HWHFWDU�DWDTXHV�ERUUDQGR�FRQ�XVXDULRV�VRVSHFKRVRV 2���2����� 'HWHFWDU�DWDTXHV�KDFLHQGR�ERUUDGRV�PDVLYRV�FRQ�FXHQWD�DXWRUL]DGD 2���2����� 'HWHFWDU�DWDTXHV�YLVXDOL]DQGR�FRUUHRV�FRQ�XVXDULRV�VRVSHFKRVRV 2�����2����� 'HWHFWDU�DWDTXHV�YLVXDOL]DQGR�FRUUHRV�PDVLYRV�FRQ�FXHQWD�DXWRUL]DGD 2�����2����� 'HWHFWDU�DWDTXHV�LQJUHVDQGR�FRUUHRV�FRQ�XVXDULRV�VRVSHFKRVRV 2�����2����� 'HWHFWDU�DWDTXHV�LQJUHVDQGR�FRUUHRV�PDVLYRV�FRQ�FXHQWD�DXWRUL]DGD 2�����
,GHQWLÀFDFLyQ�GH�WDUHDV��H�LQWHUDFFLRQHV6H�REWXYR�XQD�OLVWD�GH�VHLV�WDUHDV��HQ�GRQGH�WRGDV�WHQtDQ�UHFXUVRV�LQYROXFUDGRV�FRPSDU�WLGRV� FRQ�RWUDV� WDUHDV��(Q� OD� VLJXLHQWH� WDEOD�VH�PXHVWUD�OD�UHODFLyQ�HQWUH�ODV�WDUHDV�FRQ�ODV�KDELOLGDGHV��UHFXUVRV�\�REMHWLYRV�
(Q� $232$� VH� KDFH� QHFHVDULD� OD� LGHQWLÀFD�FLyQ� GH� REMHWLYRV� \� KDFHU� TXH� HVWD� LGHQWLÀ�FDFLyQ� YD\D� FRQFUHWDQGR� ORV� GHWDOOHV� GH� ORV�PLVPRV�FRQ�XQ�HQIRTXH�7RS�'RZQ��$O�LGHQ�WLÀFDU�FRUUHFWDPHQWH� ORV�REMHWLYRV�VH�SXHGHQ�UHODFLRQDU� FRQ� UHFXUVRV�� KDELOLGDGHV� \� HQWL�GDGHV�H[WHUQDV��$�FRQWLQXDFLyQ��VH�PXHVWUDQ�ORV�REMHWLYRV�LGHQWLÀFDGRV�VLJXLHQGR�$232$�
7DEOD����WDUHDV
1RPEUH�GH�OD�WDUHD ,G��GHO�REMHWLYR &ODVH�GH�REMHWLYR 5HFXUVRV�
LQYROXFUDGRV+DELOLGDGHV�QHFHVDULDV
7� 2����� 2%-�7,32�� 5�5�
+$%,/,'$'��+$%,/,'$'��+$%,/,'$'��
7� 2����� 2%-�7,32�� 5�5�
+$%,/,'$'��+$%,/,'$'��+$%,/,'$'��
7� 2����� 2%-�7,32�� 5�5�
+$%,/,'$'��+$%,/,'$'��+$%,/,'$'��
7� 2����� 2%-�7,32�� 5�5�
+$%,/,'$'��+$%,/,'$'��+$%,/,'$'��
7� 2����� 2%-�7,32� 5�5�
+$%,/,'$'��+$%,/,'$'��+$%,/,'$'��
7� 2����� 2%-�7,32� 5�5�
+$%,/,'$'��+$%,/,'$'��+$%,/,'$'��
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
7DEOD����REMHWLYRV
,G��2EMHWLYR 2EMHWLYR ,G��2EMHWLYR�
SDGUH2� 'HWHFWDU�DWDTXHV�DO�VHUYLGRU�GH�FRUUHR �2��� 'HWHFWDU�DWDTXHV�XVDQGR�WpFQLFDV�GH�ERUUDGR�PDVLYR�GH�FRUUHR 2�2��� 'HWHFWDU�DWDTXHV�XVDQGR�WpFQLFDV�GH�YLVXDOL]DFLyQ�PDVLYD�GH�FRUUHR 2�2��� 'HWHFWDU�DWDTXHV�XVDQGR�WpFQLFDV�GH�HQYtR�PDVLYR�GH�FRUUHR 2�2����� 'HWHFWDU�DWDTXHV�ERUUDQGR�FRQ�XVXDULRV�VRVSHFKRVRV 2���2����� 'HWHFWDU�DWDTXHV�KDFLHQGR�ERUUDGRV�PDVLYRV�FRQ�FXHQWD�DXWRUL]DGD 2���2����� 'HWHFWDU�DWDTXHV�YLVXDOL]DQGR�FRUUHRV�FRQ�XVXDULRV�VRVSHFKRVRV 2�����2����� 'HWHFWDU�DWDTXHV�YLVXDOL]DQGR�FRUUHRV�PDVLYRV�FRQ�FXHQWD�DXWRUL]DGD 2�����2����� 'HWHFWDU�DWDTXHV�LQJUHVDQGR�FRUUHRV�FRQ�XVXDULRV�VRVSHFKRVRV 2�����2����� 'HWHFWDU�DWDTXHV�LQJUHVDQGR�FRUUHRV�PDVLYRV�FRQ�FXHQWD�DXWRUL]DGD 2�����
,GHQWLÀFDFLyQ�GH�WDUHDV��H�LQWHUDFFLRQHV6H�REWXYR�XQD�OLVWD�GH�VHLV�WDUHDV��HQ�GRQGH�WRGDV�WHQtDQ�UHFXUVRV�LQYROXFUDGRV�FRPSDU�WLGRV� FRQ�RWUDV� WDUHDV��(Q� OD� VLJXLHQWH� WDEOD�VH�PXHVWUD�OD�UHODFLyQ�HQWUH�ODV�WDUHDV�FRQ�ODV�KDELOLGDGHV��UHFXUVRV�\�REMHWLYRV�
(Q� $232$� VH� KDFH� QHFHVDULD� OD� LGHQWLÀFD�FLyQ� GH� REMHWLYRV� \� KDFHU� TXH� HVWD� LGHQWLÀ�FDFLyQ� YD\D� FRQFUHWDQGR� ORV� GHWDOOHV� GH� ORV�PLVPRV�FRQ�XQ�HQIRTXH�7RS�'RZQ��$O�LGHQ�WLÀFDU�FRUUHFWDPHQWH� ORV�REMHWLYRV�VH�SXHGHQ�UHODFLRQDU� FRQ� UHFXUVRV�� KDELOLGDGHV� \� HQWL�GDGHV�H[WHUQDV��$�FRQWLQXDFLyQ��VH�PXHVWUDQ�ORV�REMHWLYRV�LGHQWLÀFDGRV�VLJXLHQGR�$232$�
7DEOD����WDUHDV
1RPEUH�GH�OD�WDUHD ,G��GHO�REMHWLYR &ODVH�GH�REMHWLYR 5HFXUVRV�
LQYROXFUDGRV+DELOLGDGHV�QHFHVDULDV
7� 2����� 2%-�7,32�� 5�5�
+$%,/,'$'��+$%,/,'$'��+$%,/,'$'��
7� 2����� 2%-�7,32�� 5�5�
+$%,/,'$'��+$%,/,'$'��+$%,/,'$'��
7� 2����� 2%-�7,32�� 5�5�
+$%,/,'$'��+$%,/,'$'��+$%,/,'$'��
7� 2����� 2%-�7,32�� 5�5�
+$%,/,'$'��+$%,/,'$'��+$%,/,'$'��
7� 2����� 2%-�7,32� 5�5�
+$%,/,'$'��+$%,/,'$'��+$%,/,'$'��
7� 2����� 2%-�7,32� 5�5�
+$%,/,'$'��+$%,/,'$'��+$%,/,'$'��
11
Tabla 5. Vínculos externos
3333
JUAN CARLOS GUEVARA B., LUIS FELIPE WANUMEN S., GLORIA ANDREA CAVANZO N., CÉSAR VALDÉS L.
REVISTA VÍNCULOS VOL 7 NÚMERO 1 ENERO - JUNIO 2010
L O SE 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
/DV� KDELOLGDGHV� LGHQWLÀFDGDV� HQ� OD� ~OWLPD�FROXPQD�GH�OD�WDEOD�DQWHULRU�VRQ�ODV�VLJXLHQWHV�
���+DELOLGDG� SDUD� YHULÀFDU� KDFH� FXiQWR�WLHPSR� VH� KL]R� OD� ~OWLPD� DFFLyQ� GH� HQYtR�WLSR�VHQG��
���+DELOLGDG� SDUD� YHULÀFDU� KDFH� FXiQWR�WLHPSR� VH� KL]R� OD� ~OWLPD� DFFLyQ� GH� HQYtR�WLSR�GURS��
���+DELOLGDG� SDUD� YHULÀFDU� KDFH� FXiQWR�WLHPSR� VH� KL]R� OD� ~OWLPD� DFFLyQ� GH� HQYtR�WLSR�YLHZ��
���+DELOLGDG� SDUD� UHFLELU� LQIRUPDFLyQ� GHO�GHWHFWRU�GH�VROLFLWXGHV�GH�HQYtR�GH�HPDLOV�
���+DELOLGDG� SDUD� UHFLELU� LQIRUPDFLyQ� GHO�GHWHFWRU� GH� VROLFLWXGHV� GH� ERUUDGR� GH�HPDLOV�
���+DELOLGDG� SDUD� UHFLELU� LQIRUPDFLyQ� GHO�GHWHFWRU�GH�VROLFLWXGHV�GH�YLVXDOL]DFLyQ�GH�HPDLOV�
���+DELOLGDG�SDUD�YHULÀFDU�VL�FDPELR�OD�FOiX�VXOD� )520� FRQ� UHVSHFWR� D� OD� VROLFLWXG�GH� %255$'2� KHFKD� DQWHULRUPHQWH� \�FDOFXODU�HO�WLHPSR�HQ�HO�TXH�VH�KDEtD�KHFKR�OD�DQWHULRU�VROLFLWXG�GH�HVWH�WLSR�`
���+DELOLGDG�SDUD�YHULÀFDU�VL�FDPELy�OD�FOiX�VXOD�)520�FRQ�UHVSHFWR�D�OD�VROLFLWXG�GH�9,68$/,=$&,Ð1�KHFKD�DQWHULRUPHQWH�\�FDOFXODU�HO�WLHPSR�HQ�HO�TXH�VH�KDEtD�KHFKR�OD�DQWHULRU�VROLFLWXG�GH�HVWH�WLSR�
��� +DELOLGDG� SDUD� YHUL¿FDU� VL� FDPELy� OD� FOiXVXOD�)520� FRQ� UHVSHFWR� D� OD� VROLFLWXG� GH� (19Ë2�KHFKD�DQWHULRUPHQWH�\�FDOFXODU�HO�WLHPSR�HQ�HO�TXH�VH�KDEtD�KHFKR�OD�DQWHULRU�VROLFLWXG�GH�HVWH�WLSR�
/DV� WDUHDV� DQWHULRUHV� VH� DJUXSDQ� HQ� JUXSRV�GH�WDO�IRUPD�TXH�VH�WHQJD�XQD�UHODFLyQ�GH�TXH�WDUHDV�SXHGHQ�VHU�UHDOL]DGDV�SRU�GHWHUPLQDGRV�UROHV��'H�RWUD�SDUWH��\�VLJXLHQGR�HO�FRQFHSWR�GH�GHVFRPSRVLFLyQ�GH�UROHV��VH�FRQFOX\H�TXH�ORV�VLJXLHQWHV�VRQ�ORV�UROHV�GHÀQLWLYRV�GHO�VLVWHPD�
7DEOD����UROHV
5RO 5RO�3DGUH 'HVFULSFLyQ 7DUHDV�DVLJQDGDV
60$�
5RO�SDUD�OD�GHWHFFLyQ�GH�DWDTXHV�SRU�SDUWH�GH�XVXDULRV�TXH�LQWHQWDQ�DFFHGHU�D�FXHQWDV�GH�XQ�VHUYLGRU�GH�FRUUHR�([FKDQJH�\�UHDOL]DU�DWDTXHV�GH�HQYtR��ERUUDGR�R�YLVXDOL]DFLyQ�SRU�PHGLR�GH�XQD�FXHQWD�DXWRUL]DGD�R�QR�DXWRUL]DGD�HQ�XQ�VHUYLGRU�GH�FRUUHR
7�7�7�7�7�7�
5RO�� 60$ 5RO�SDUD�OD�GHWHFFLyQ�GH�DWDTXHV�SRU�SDUWH�GH�XVXDULRV�TXH�LQWHQWDQ�XVDU�WpFQLFDV�GH�ERUUDGR�PDVLYR�GH�FRUUHR
7�7�
5RO���� 5RO�� 5RO�SDUD�OD�GHWHFFLyQ�GH�DWDTXHV�SRU�SDUWH�GH�XVXDULRV�TXH�LQWHQWDQ�KDFHU�ERUUDGRV�PDVLYRV�FRQ�FXHQWD�DXWRUL]DGD 7�
5RO���� 5RO�� 5RO�SDUD�OD�GHWHFFLyQ�GH�DWDTXHV�SDUD�XVXDULRV�TXH�LQWHQWDQ�KDFHU�ERUUDGRV�GH�HPDLOV�FRQ�XVXDULRV�VRVSHFKRVRV
7�
5RO�� 60$ 5RO�SDUD�OD�GHWHFFLyQ�GH�DWDTXHV�SDUD�XVXDULRV�TXH�XVDQ�WpFQLFDV�GH�YLVXDOL]DFLyQ�GH�FRUUHRV
7�7�
5RO���� 5RO�� 5RO�SDUD�OD�GHWHFFLyQ�GH�DWDTXHV�SDUD�XVXDULRV�TXH�LQWHQWDQ�YLVXDOL]DU�FRUUHRV�FRQ�XVXDULRV�VRVSHFKRVRV 7�
5RO���� 5RO�� 5RO�SDUD�OD�GHWHFFLyQ�GH�DWDTXHV�FRQ�XVXDULRV�TXH�LQWHQWDQ�YLVXDOL]DU�FRUUHRV�PDVLYRV�FRQ�FXHQWD�DXWRUL]DGD 7�
5RO�� 60$ 5RO�SDUD�OD�GHWHFFLyQ�GH�DWDTXHV�XVDQGR�WpFQLFDV�GH�HQYtR�GH�FRUUHRV 7�7�
5RO���� 5RO�� 5RO�SDUD�OD�GHWHFFLyQ�GH�DWDTXHV�SDUD�XVXDULRV�TXH�LQJUHVDQ�FRUUHRV�FRQ�XVXDULRV�VRVSHFKRVRV 7�
5RO���� 5RO�� 5RO�SDUD�OD�GHWHFWDU�GH�DWDTXHV�SRU�XVXDULRV�TXH�LQJUHVDQ�FRUUHRV�PDVLYRV�FRQ�FXHQWD�DXWRUL]DGD 7�
3434
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
7DEOD����WDUHDV
9LQFXOR 5ROHV 5HFXUVRV�HQ�FRQÁLFW
2EMHWLYRV�VLQpUJLFRV
7LSR�GH�VLWXDFLyQ
7pFQLFD 3URWRFROR
9LQ��� 5RO����5RO����
�5� 2��� 2EMHWLYR�FRP~Q�
&RODERUDFLyQ�SRU�DVLJQDFLyQ�GLUHFWD
5HTXHVW�,WHUDWLRQ�3URWRFRO
9LQ��� 5RO����5RO����
�5� 2��� 2EMHWLYR�FRP~Q�
&RODERUDFLyQ�SRU�DVLJQDFLyQ�GLUHFWD
5HTXHVW�,WHUDWLRQ�3URWRFRO
9LQ��� 5RO����5RO����
�5� 2EMHWLYR�FRP~Q�
&RODERUDFLyQ�SRU�DVLJQDFLyQ�GLUHFWD
5HTXHVW�,WHUDWLRQ�3URWRFRO
9LQ��� 5RO����5RO����
2���2���
2EMHWLYR�FRP~Q�
&RODERUDFLyQ�SRU�DVLJQDFLyQ�GLUHFWD
5HTXHVW�,WHUDWLRQ�3URWRFRO
9LQ��� 5RO����5RO����
2��� 2EMHWLYR�FRP~Q�
&RODERUDFLyQ�SRU�DVLJQDFLyQ�GLUHFWD�
5HTXHVW�,WHUDWLRQ�3URWRFRO
9LQ��� 5RO����5RO����
2��� 2EMHWLYR�FRP~Q�
&RODERUDFLyQ�SRU�DVLJQDFLyQ�GLUHFWD
5HTXHVW�,WHUDWLRQ�3URWRFRO
7DEOD����&DUDFWHUL]DFLyQ�GH�ORV�DJHQWHV
0HWD�DJHQWHV 5ROHV0HWD�DJHQWH�SDUD�OD�GHWHFFLyQ�GH�DWDTXHV�SRU�SDUWH�GH�XVXDULRV�TXH�LQWHQWDQ�KDFHU�ERUUDGRV�PDVLYRV�FRQ�FXHQWD�DXWRUL]DGD
5RO����
5RO�SDUD�OD�GHWHFFLyQ�GH�DWDTXHV�SDUD�XVXDULRV�TXH�LQWHQWDQ�KDFHU�ERUUDGRV�GH�HPDLOV�FRQ�XVXDULRV�VRVSHFKRVRV
5RO����
5RO�SDUD�OD�GHWHFFLyQ�GH�DWDTXHV�SDUD�XVXDULRV�TXH�LQWHQWDQ�YLVXDOL]DU�FRUUHRV�FRQ�XVXDULRV�VRVSHFKRVRV
5RO����
5RO�SDUD�OD�GHWHFFLyQ�GH�DWDTXHV�FRQ�XVXDULRV�TXH�LQWHQWDQ�YLVXDOL]DU�FRUUHRV�PDVLYRV�FRQ�FXHQWD�DXWRUL]DGD
5RO����
5RO�SDUD�OD�GHWHFFLyQ�GH�DWDTXHV�SDUD�XVXDULRV�TXH�LQJUHVDQ�FRUUHRV�FRQ�XVXDULRV�VRVSHFKRVRV
5RO����
5RO�SDUD�OD�GHWHFWDU�GH�DWDTXHV�SRU�XVXDULRV�TXH�LQJUHVDQ�FRUUHRV�PDVLYRV�FRQ�FXHQWD�DXWRUL]DGD
5RO����
&DUDFWHUL]DFLyQ�GH�DJHQWHV
&RQ� WRGR� HO� WUDEDMR� HODERUDGR� KDVWD� HO�PRPHQWR�� VH� SXHGHQ� LGHQWLÀFDU� \� FDUDFWH�UL]DU� ORV� UROHV� GH� ORV� GLVWLQWRV� DJHQWHV� GHO�
VLVWHPD��$�FRQWLQXDFLyQ�VH�PXHVWUD� OD� WDEOD�GHÀQLWLYD�REWHQLGD�FRPR�IUXWR�GH�OD�LGHQWLÀ�FDFLyQ�GH�PHWD�DJHQWHV�
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
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
7DEOD����WDUHDV
9LQFXOR 5ROHV 5HFXUVRV�HQ�FRQÁLFW
2EMHWLYRV�VLQpUJLFRV
7LSR�GH�VLWXDFLyQ
7pFQLFD 3URWRFROR
9LQ��� 5RO����5RO����
�5� 2��� 2EMHWLYR�FRP~Q�
&RODERUDFLyQ�SRU�DVLJQDFLyQ�GLUHFWD
5HTXHVW�,WHUDWLRQ�3URWRFRO
9LQ��� 5RO����5RO����
�5� 2��� 2EMHWLYR�FRP~Q�
&RODERUDFLyQ�SRU�DVLJQDFLyQ�GLUHFWD
5HTXHVW�,WHUDWLRQ�3URWRFRO
9LQ��� 5RO����5RO����
�5� 2EMHWLYR�FRP~Q�
&RODERUDFLyQ�SRU�DVLJQDFLyQ�GLUHFWD
5HTXHVW�,WHUDWLRQ�3URWRFRO
9LQ��� 5RO����5RO����
2���2���
2EMHWLYR�FRP~Q�
&RODERUDFLyQ�SRU�DVLJQDFLyQ�GLUHFWD
5HTXHVW�,WHUDWLRQ�3URWRFRO
9LQ��� 5RO����5RO����
2��� 2EMHWLYR�FRP~Q�
&RODERUDFLyQ�SRU�DVLJQDFLyQ�GLUHFWD�
5HTXHVW�,WHUDWLRQ�3URWRFRO
9LQ��� 5RO����5RO����
2��� 2EMHWLYR�FRP~Q�
&RODERUDFLyQ�SRU�DVLJQDFLyQ�GLUHFWD
5HTXHVW�,WHUDWLRQ�3URWRFRO
7DEOD����&DUDFWHUL]DFLyQ�GH�ORV�DJHQWHV
0HWD�DJHQWHV 5ROHV0HWD�DJHQWH�SDUD�OD�GHWHFFLyQ�GH�DWDTXHV�SRU�SDUWH�GH�XVXDULRV�TXH�LQWHQWDQ�KDFHU�ERUUDGRV�PDVLYRV�FRQ�FXHQWD�DXWRUL]DGD
5RO����
5RO�SDUD�OD�GHWHFFLyQ�GH�DWDTXHV�SDUD�XVXDULRV�TXH�LQWHQWDQ�KDFHU�ERUUDGRV�GH�HPDLOV�FRQ�XVXDULRV�VRVSHFKRVRV
5RO����
5RO�SDUD�OD�GHWHFFLyQ�GH�DWDTXHV�SDUD�XVXDULRV�TXH�LQWHQWDQ�YLVXDOL]DU�FRUUHRV�FRQ�XVXDULRV�VRVSHFKRVRV
5RO����
5RO�SDUD�OD�GHWHFFLyQ�GH�DWDTXHV�FRQ�XVXDULRV�TXH�LQWHQWDQ�YLVXDOL]DU�FRUUHRV�PDVLYRV�FRQ�FXHQWD�DXWRUL]DGD
5RO����
5RO�SDUD�OD�GHWHFFLyQ�GH�DWDTXHV�SDUD�XVXDULRV�TXH�LQJUHVDQ�FRUUHRV�FRQ�XVXDULRV�VRVSHFKRVRV
5RO����
5RO�SDUD�OD�GHWHFWDU�GH�DWDTXHV�SRU�XVXDULRV�TXH�LQJUHVDQ�FRUUHRV�PDVLYRV�FRQ�FXHQWD�DXWRUL]DGD
5RO����
&DUDFWHUL]DFLyQ�GH�DJHQWHV
&RQ� WRGR� HO� WUDEDMR� HODERUDGR� KDVWD� HO�PRPHQWR�� VH� SXHGHQ� LGHQWLÀFDU� \� FDUDFWH�UL]DU� ORV� UROHV� GH� ORV� GLVWLQWRV� DJHQWHV� GHO�
VLVWHPD��$�FRQWLQXDFLyQ�VH�PXHVWUD� OD� WDEOD�GHÀQLWLYD�REWHQLGD�FRPR�IUXWR�GH�OD�LGHQWLÀ�FDFLyQ�GH�PHWD�DJHQWHV�
3535
JUAN CARLOS GUEVARA B., LUIS FELIPE WANUMEN S., GLORIA ANDREA CAVANZO N., CÉSAR VALDÉS L.
REVISTA VÍNCULOS VOL 7 NÚMERO 1 ENERO - JUNIO 2010
L O SE 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
)LJXUD����$UTXLWHFWXUD�GHO�6LVWHPD�0XOWLDJHQWH
)LJXUD����$WDTXHV�GH�HQYtR�GH�PHQVDMHV�QR�DXWRUL]DGRV
3UXHEDV�\�UHVXOWDGRV�
(O�VLVWHPD�PXOWLDJHQWH�LQLFLDOPHQWH�VH�FRORFy�HQ�XQ�HVFHQDULR�GH�SUXHED��HO�FXDO�FRQWy�FRQ�OD�DSOLFDFLyQ�GH�FRUUHR�HOHFWUyQLFR�([FKDQJH�HQ�XQ�VHUYLGRU�\����FXHQWDV�GH�FRUUHR�HOHFWUy�QLFR��/RV�XVXDULRV�GH�ODV�FXHQWDV�VLJXLHURQ�XQ�
SURWRFROR�GH�SUXHEDV��GRQGH�UHDOL]DURQ�GLIH�UHQWHV�DWDTXHV�GH�FRQVXOWD��HQYtR�\�ERUUDGR�GH�PHQVDMHV�QR�DXWRUL]DGRV��/RV�UHVXOWDGRV�REWHQLGRV� GH� OD� HMHFXFLyQ� GHO� VLVWHPD� VH�PXHVWUDQ�HQ�ODV�ÀJXUDV�;��<�\�=�
1~PHUR�SHWLFLRQHV�GH�HQYtR
$WDTXHV�GHWHF��GH�HQYtR�SRU�FOLHQWH
�� ��� ���� ���� ����� ����� ���
(O�VLVWHPD�PXOWLDJHQWH�PXHVWUD�TXH��FXDQGR�HO�Q~PHUR�GH�DWDTXHV�HV����� WDQ�VROR�HO�����GH�HOORV�VRQ�GHWHFWDGRV��/R�DQWHULRU��HQ�WDQWR�TXH�� FXDQGR� ORV�DWDTXHV�VRQ�PD\RUHV�� FRPR�SRU�HMHPSOR�HQ�HO�~OWLPR�FDVR�TXH�VH�KLFLHURQ�����DWDTXHV��HO�Q~PHUR�GH�DWDTXHV�GHWHFWDGRV�IXH� ����� /D� UD]yQ� HV� TXH� DPEDV� SUXHEDV� VH�KLFLHURQ� HQ� HO�PLVPR� LQWHUYDOR� GH� WLHPSR� \�ORV�DJHQWHV�HVWiQ�SURJUDPDGRV�SDUD�TXH�HQWUH�PHQRV� WLHPSR� H[LVWD� HQWUH� XQD� VROLFLWXG� DO�
VHUYLGRU�GH�FRUUHR�\�H[LVWD�RWUD�VROLFLWXG�SDUD�XQD�PLVPD�PiTXLQD��VH�WHQGUi�PiV�WHQGHQFLD�D�HYDOXDUOR�FRPR�XQ�DWDTXH�VRVSHFKRVR�
(VWRV� UHVXOWDGRV� SXHGHQ� VHU� DQDOL]DGRV�GHVGH�GLYHUVDV�ySWLFDV��8QD�GH�HOODV�WLHQH�TXH�YHU�FRQ�HO�DQiOLVLV�FRQFHUQLHQWH�D�SUHGHFLU�HO�FRPSRUWDPLHQWR� TXH� WLHQH� HO� 60$� FXDQGR�HO�Q~PHUR�GH�SHWLFLRQHV�GH�HQYtR�GH�DWDTXHV�VRQ� JUDQGHV�� FRQ� UHVSHFWR� DO� Q~PHUR� GH�
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.