• No se han encontrado resultados

Medidas de Autonomía del Agente

4. CARACTERÍSTICAS DEL AGENTE SOFTWARE

5.3 Medidas por Atributo

5.3.2 Medidas de Autonomía del Agente

A continuación, se presentan las medidas de los atributos auto-control, independencia funcional y capacidad de evolución, que definen la autonomía de un agente.

5.3.2.1. Medidas del atributo Auto-Control

El auto-control es un atributo importante de la autonomía de un agente, y se refiere al nivel de control que el agente tiene sobre su propio estado y comportamiento. Para operar con eficacia, debe ser rápido y efectivo. Cuanto más complejo sea su estado, menos autocontrol sobre sí mismo podrá tener. Por lo tanto, su estado deberá constar de una estructura simple y de un tamaño razonable [Villasante, 2011a]. Para este atributo se definen las siguientes medidas.

Complejidad estructural (SC)

Mide la cantidad y complejidad de los punteros o referencias que el agente usa en su programación.

Esta medida se presenta en la Figura 15.

Complejidad estructural (SC)

Componentes medida Descripción

n Cantidad de punteros y referencias existentes en el estado interno del agente CPi Complejidad del puntero o referencia i

CP Suma de las complejidades de los punteros o referencias del estado interno del agente

Medida

= = n i i CP CP 1

Figura 15: Descripción de la medida asociada a SC

La complejidad CPi se evalúa contando el nivel de anidamiento de las estructuras

referenciadas por el i-ésimo puntero o referencia.

La medida normalizada SC sigue la curva (a) de la Figura 5, en la que x es el valor CP. Esta medida se considera óptima cuando el valor CP es menor que el parámetro k. Por otro lado, si CP es mayor a k, el valor de la medida decrece rápidamente debido a que a una mayor cantidad y complejidad de las estructuras referenciadas influye negativamente en el tiempo de ejecución de los servicios del agente lo que produce una menor autonomía. El valor del parámetro k depende de estudios experimentales en torno a la complejidad de agentes.

Tamaño del Estado Interno (ISS)

Mide el tamaño y la cantidad de variables que el agente necesita para determinar su estado interno [Villasante, 2011a]. Un agente necesita información de su estado interno, pues en ella está registrada la información del entorno del agente y su historia en el sistema. El proceso de toma de decisiones del agente se basa en esta información [Wooldridge, 2002]. La medida, que es una variante de la medida Densidad de Variables, que menciona Shin pero no define [Shin, 2004], y que se presenta en la Figura 16.

Tamaño del estado interno (ISS)

Componentes medida Descripción

n Cantidad de variables

VBi

Tamaño en bytes de la memoria necesaria para representar la variable o puntero i del agente MD Suma de los tamaños de variables y punteros

del agente Medida

= = n i i VB MD 1

Figura 16: Descripción de la medida asociada a ISS

La medida normalizada ISS sigue la curva (b) de la Figura 5 en la que x es el valor MD. Si el valor de MD es menor que k1, el agente tiene menos auto-control debido a que la

información que recibe no es suficiente para la toma de decisiones que le permite alcanzar sus objetivos. ISS alcanza su valor óptimo para valores de MD entre k1 y k2, y luego

disminuye rápidamente cuando MD aumenta, ya que al crecer la complejidad del estado interno del agente, hace que éste tenga que manejar mucha cantidad de información para poder controlarse a sí mismo, lo que afecta a su autonomía.

Complejidad de comportamiento (BC)

Mide la complejidad de los servicios que ofrece el agente (sólo se aplica a agentes que ofrecen servicios). Estos servicios implican una serie de acciones tales como las operaciones que se deben ejecutar para llevar a cabo el servicio. La complejidad de estos servicios es distinta dependiendo del paradigma utilizado en la implementación del agente (orientado a objetos, sistema basado en conocimiento, etc.), por lo que la complejidad de servicios del agente será función de dicho paradigma [Chidamber, 1994]. Buenas medidas de complejidad que pueden aplicarse a agentes son presentadas en [McCabe, 1976] [Etzkorn, 1999] y en [Tran-Cao, 2002].

Esta medida se presenta en la Figura 17.

La medida normalizada BC sigue la curva (a) de la Figura 5, en la que x es el valor CS.

Complejidad de conducta (BC)

Componentes medida Descripción

N Cantidad de servicios

CSi

Complejidad del servicio i considerando la medida usada para el paradigma utilizado por el agente CS Suma de las complejidades de los servicios del

agente Medida

= = n i i CS CS 1

Figura 17: Descripción de la medida asociada a BC

El valor BC se considera óptimo si el valor de CS es menor que k para el sistema. Para valores de CS mayores que k, el valor de la medida BC empieza a decrecer debido a que un aumento de la complejidad de los servicios implementados puede afectar a la autonomía de la agente, ya que se incrementa el tiempo y esfuerzo requeridos para ejecutar sus servicios [Chidamber, 1994].

5.3.2.2

Medida del atributo Independencia Funcional

La independencia funcional es otro atributo de la autonomía de un agente, y se refiere a la cantidad de tareas de tipo ejecutivo que debe atender el agente durante su ejecución. Mientras menor sea esta cantidad más independiente funcionalmente será el agente y tendrá una mayor autonomía [Alonso, 2009]. Para este atributo se define la siguiente medida.

Fracción de Mensajes de tipo ejecutivo (EMR)

Mide la influencia sobre el agente de la fracción de mensajes ejecutivos (que solicitan una acción) recibidos desde el usuario (al que el agente representa) o de otros agentes (a los que está obligado a responder) respecto a todos los mensajes recibidos (considerando las acciones de comunicación). Considera los mensajes de tipo REQUEST de FIPA [FIPA, 2002a]. Esta medida se presenta en la Figura 18.

Fracción de Mensajes de tipo ejecutivo (EMR)

Componentes medida Descripción

MR Cantidad de mensajes recibidos (MR > 0) ME Cantidad de mensajes ejecutivos recibidos

por el agente durante su ejecución EMR Fracción de mensajes ejecutivos Medida

MR ME EMR =1−

Figura 18: Descripción de la medida asociada a EMR

La medida normalizada EMR sigue la curva (e) de la Figura 5, en la que x es el valor ME y k es el valor MR. Si el valor de EMR es alto, la autonomía del agente es alta debido a que, como recibe pocos mensajes ejecutivos, el agente tiene que ejecutar muy pocas acciones para responder a ellos. En cambio, al tener que responder a un gran número de mensajes de tipo ejecutivo (un bajo valor de EMR) se ve afectada fuertemente la independencia funcional del agente.

5.3.2.3

Medidas del atributo Capacidad de Evolución

La capacidad de evolución es otro atributo de la autonomía de un agente, y se refiere a que el agente debe adaptarse y realizar sus propios ajustes, para aceptar nuevos requerimientos y alcanzar nuevos objetivos, lo que significa actualizar permanentemente su base de conocimiento. Para este atributo se definen las siguientes medidas:

Capacidad para actualizar el estado (SUC)

Mide la capacidad del agente para actualizar su estado. El estado del agente se define por un conjunto de variables que dependen de distintas ocurrencias de eventos, que hacen variar sus valores [Shin, 2004] [Villasante, 2011a].

La medida es estática y es una variante de la medida Actualización del Conocimiento, que propuso Shin [Shin, 2004], se presenta en la Figura 19.

Capacidad para actualizar el estado (SUC)

Componentes medida Descripción

n Cantidad de instrucciones ejecutables del programa del agente (n > 0)

m Cantidad de variables

Sij

Sij es 1 si la instrucción i actualiza la

variable j, y es 0 en caso contrario AS Valor promedio de variables actualizadas

por instrucciones en el agente

Medida

∑∑

= = = n i m j ij S AS 1 1

Figura 19: Descripción de la medida asociada a SUC

La medida normalizada SUC sigue la curva (b) de la Figura 5, en la que x es el valor AS. Conforme el valor de AS aumenta hasta el valor de k1, el valor del SUC también crece

rápidamente, ya que cada variable depende de un número creciente de instrucciones que cambian valores. Esto influye en el estado interno del agente y, por tanto, en su capacidad de evolución [Shin, 2004]. La medida alcanza el valor óptimo entre k1 y k2. Por último,

cuando el valor de AS sobrepasa k2, el valor del SUC disminuye debido a que el proceso de

actualización de conocimiento del agente ya implica tantas variables que éste es incapaz de evolucionar adecuadamente.

Se propone que los valores de los parámetros k1 y k2 sean determinados por el ingeniero de

software considerando que estos parámetros dependen del tipo de programación y diseño del agente.

Frecuencia de actualización del estado (FSU)

Mide el impacto de la frecuencia de actualización del estado del agente durante su ejecución. Dependiendo de para qué se utiliza el conocimiento, esta frecuencia de cambio podría tener un gran impacto en la previsibilidad del agente y en su comportamiento [Alonso, 2009]. La medida, que es una variante de la medida Frecuencia de Actualización del Conocimiento, propuesta por Shin [Shin, 2004], se presenta en la Figura 20.

Frecuencia de actualización de estado (FSU)

Componentes medida Descripción

n Cantidad de instrucciones ejecutables (n > 0)

m Cantidad de variables

VCij

VCij es 1 si la proposición i modifica

la variable j durante la ejecución del agente, y es 0 en caso contrario FV Frecuencia de cambio de variables

dentro del programa del agente

Medida

∑∑

= = = n i m j ij VC FV 1 1

Figura 20: Descripción de la medida asociada a FSU

La medida normalizada FSU sigue la curva (b) de la Figura 5, en la que x es el valor FV. Mientras FV es menor que k , el valor de FSU aumenta debido a que la frecuencia de

actualización de conocimientos del agente aumenta hasta su valor óptimo que se alcanza cuando FV se encuentra entre los valores de k1 y k2, momento en que su capacidad de

evolución es óptima. Por encima de este segundo valor (k2), su capacidad de evolución

comienza a bajar debido a que la frecuencia de actualización de conocimientos puede llegar a ser tan alta como para evitar que sea capaz de tomar las acciones apropiadas para evolucionar. Los valores de los parámetros k1 y k2 dependen de la programación del agente.