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 1Figura 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 1Figura 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 1Figura 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 1Figura 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 1Figura 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.