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

13
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.

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.

Transcript of Aproximación Organizacional para Programación Orientada a Agentes: Introducción y Aspectos...

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

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.

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

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

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

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

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

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  

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

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

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

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.

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

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

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

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.

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

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

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

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�

+$%,/,'$'��+$%,/,'$'��+$%,/,'$'��

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

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�

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

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�

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

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.