Sie sind auf Seite 1von 6

Asistente Inteligente basado en Agentes para modelar Sistemas mediante

el uso de UML
Mauricio Paletta
Departamento de Ciencia y Tecnologa - Universidad Nacional Experimental de Guayana
Ciudad Guayana, Estado Bolvar, 8050, Venezuela
y
Pilar Herrero
Facultad de Informtica - Universidad Politcnica de Madrid
Madrid, 28.660, Espaa,

RESUMEN
El modelado de sistemas es una actividad comn en las ciencias
de la computacin e ingeniera; requiere experiencia y buen
conocimiento sobre ciertas habilidades. Una de estas
capacidades lo representa el uso de UML, un estndar en esta
materia, ampliamente usado hoy en da para el modelado de una
gran variedad de sistemas. Sin embargo, no todos los
diseadores tienen experiencia en UML la cual es recomendable
tener al tratar de modelar cualquier sistema con este lenguaje.
En este sentido, el uso de un asistente inteligente para el
modelado de sistemas haciendo uso de UML puede ser muy til
para, no slo ayudar a los inexpertos en esta materia sino
tambin, para aprender de los expertos la forma correcta de usar
este lenguaje. En este artculo se presenta un asistente
inteligente basado en agentes para cubrir estos requerimientos.
El diseo de este agente es realizado mediante el uso de
SIFIVA, un ambiente abierto para el desarrollo de sistemas
basados en agentes y en la integracin de conceptos diferentes e
independientes tales como SOA, OAA, FIPA, XML y BDI. Los
resultados muestran que un agente implementado con SIFIVA
puede ser utilizado como ayuda para el modelado de sistemas
haciendo uso de UML, as como tambin aprender de expertos
la manera ms adecuada de utilizar esta herramienta.
Palabras Claves: Agente Inteligente, UML, Asistente, BDI,
XML, SOA.

1. INTRODUCCIN
Los entornos virtuales tienden a ser ms importantes cada da,
especialmente en programas educativos [2] y de entretenimiento
[8]. Muchas de las aplicaciones que se han desarrollado en estos
campos requieren de algn tipo de agente inteligente que pueda
observar, decidir y reaccionar en estos entornos, llegando a ser
Agentes Virtuales Inteligentes (IVA de sus siglas en ingls
Intelligent Virtual Agent).
Por otro lado, el Lenguaje de Modelado Unificado (UML de
sus siglas en ingls Unified Modeling Language) [10] apareci
en los 90s como un esfuerzo para seleccionar los mejores
elementos de varias propuestas de modelado de sistemas que
estaban disponibles para ese momento, as como tambin
combinar estos elementos en una notacin simple y coherente.

Desde ese entonces ha llegado a ser el estndar para el


modelado y diseo de software, ganando una amplia aceptacin
en la representacin de sistemas de ingeniera en general usando
el paradigma de diseo orientado a objetos.
Hay varios trabajos en los cuales es posible observar la relacin
entre la teora de agentes y UML. Un buen ejemplo lo
representan Bauer et al [1] y Fuentes et al [5]. En el primer
trabajo los autores proponen una extensin de UML para el
diseo de sistemas basados en agentes, mientras que en el otro,
los autores proponen un lenguaje intermedio basado en un perfil
UML llamado UML-AT, el cual permite hacer transformaciones
bidireccionales entre modelos expresados en diferentes
lenguajes, teniendo la posibilidad de aplicar diversos mtodos
de acuerdo a su capacidad de tratar cierto tipo de problemas.
Ambos trabajos (al igual que otros trabajos que combinan la
teora de agentes con UML) usan UML como una herramienta
para el modelado de sistemas de agentes. Sin embargo, es
importante resaltar que ninguno de estos trabajos se enfoca en el
principal objetivo de este artculo, que es el diseo de un agente
inteligente para ayudar en el modelado de sistemas haciendo
uso de UML. Este objetivo particular, relacionado con agentes
que han sido construidos para asistir a usuarios para la
realizacin de tareas tediosas y complicadas, est muy bien
tratado por Sklar et al en [14].
A fin de disear un IVA que satisfaga los requerimientos
previamente mencionados, en este trabajo se hace uso del
entorno SIFIVA (de sus siglas en ingls SOA-Based
Interdisciplinary Framework for IVAs). SIFIVA es el resultado
de un trabajo de investigacin que se est llevando a cabo en la
Universidad de Guayana (Venezuela) en colaboracin con la
Universidad Politcnica de Madrid (Espaa) cuyos primeros
resultados pueden ser revisados en [11].
El artculo est organizado de la siguiente manera: la seccin 2
hace una breve revisin de SIFIVA; la seccin 3 describe el
IVA diseado para ayudar en el modelado de sistemas usando
UML y la seccin 4 incluye las conclusiones y trabajo futuro.

2. UNA BREVE REVISIN DE SIFIVA


Esta seccin describe brevemente el ambiente para el desarrollo
de agentes inteligentes SIFIVA, el cual fue utilizado para
disear el agente propuesto en este artculo, empezando con la

arquitectura y luego describiendo algunos de los componentes


asociados al ambiente. Es importante resaltar que SIFIVA se
encuentra actualmente en progreso y por ende a evolucionar.
2.1 La Estructura Interna
SIFIVA se enfoca en el diseo de un entorno comn para el
desarrollo de IVAs con las siguientes caractersticas: 1) nace de
la mezcla de varias teoras, mtodos y propuestas de diversas
disciplinas, 2) es extensible y abierto de manera tal que cada
agente desarrollado pueda ser completado con nuevos
requerimientos y necesidades, y 3) toma muy en cuenta el
proceso de aprendizaje del agente con su entorno.
SIFIVA es el resultado de la integracin de varios resultados
previos. Uno de ellos est relacionado con OAA (de sus siglas
en ingles Open Agent Architecture) [7], en el cual SIFIVA toma
las siguientes ideas: 1) agregar/remover dinmicamente
capacidades al agente; 2) tener un registro de esas habilidades,
y 3) necesidad de tener un componente que facilite la
integracin.
Hay una diferencia bsica entre OAA y SIFIVA: las habilidades
en SIFIVA no son consideradas como agentes, tal como ocurre
en OAA; ellas son tratadas como servicios en SIFIVA. En este
sentido, el trabajo de FIPA (de sus siglas en ingls Foundation
for Intelligent Physical Agents) es importante en esta rea de
estructurar un agente como un conjunto de servicios. Esta es la
razn del por qu SIFIVA es un diseo basado en FIPA. De las
especificaciones de FIPA [3, 4], SIFIVA toma en cuenta la
manera en la cual los servicios pueden ser registrados y
descubiertos, as como tambin la manera en la cual los agentes
se comunican entre s para el intercambio de mensajes.
IVA
Agente
Racional
(cerebro)
Agente
Encarnado
(cuerpo)

Agente
Integrador
(facilitador)

IVA::EA como del IVA::RA. Los servicios en IVA::SV estn


divididos en dos conjuntos, aquellos que estn relacionados con
la interaccin con el entorno (tales como censar y actuar) y
aquellos que estn relacionados con algn proceso inteligente
tal como aprender, razonar, planificar, etc.
El componente IVA::EA encierra el conjunto de servicios
usados por el agente para interactuar con el entorno que lo
rodea (relacionados con las habilidades para censar el entorno y
actuar sobre l). Algunos de estos servicios son, por ejemplo,
habilidades asociadas con la visin, audicin o tacto virtual.
Otra caracterstica asociada con el IVA::EA est relacionado
con el manejo del comportamiento y la sociabilidad, como por
ejemplo la representacin de expresiones faciales.
Tal como fue mencionado anteriormente y puede ser visto en la
Figura 2, la estructura interna del componente IVA::EA est
equipado con un Directorio de Servicios (EA::SD) para
registrar los servicios de este mdulo. Cada uno de los dos
conjuntos de servicios que ofrece este componente es manejado
por un elemento correspondiente: Manejador de Sensores
(EA::SH) y Manejador de Efectores (EA::EH). Un cuarto y
ltimo elemento llamado Manejador de Integracin (EA::IH)
permite la integracin con el IVA::IA, de manera tal que los
estmulos que vienen de los servicios correspondientes puedan
ser manejados por EA::SH y las acciones indicadas por EA::EH
puedan ser ejecutadas por los servicios respectivos.
Agente Encarnado (IVA::EA)
Directorio
Servicios

Manejador
Integracin

Manejador
Efectores

Manejador
Sensores

Servicios
(habilidades)

Agente
Integrador
(IVA::IA)
Agente
Racional
(IVA::RA)

IVA
Entorno
Figura 2. La estructura interna de IVA::EA.

IVA

IVA

Entorno
Figura 1. La arquitectura general del Agente.

En este mismo orden de ideas y tal como puede ser visto en la


Figura 1, la estructura general de un agente en SIFIVA es la
suma de cuatro componentes: 1) el agente encarnado o cuerpo
(IVA::EA); 2) el agente racional o cerebro (IVA::RA); 3) el
agente integrador o facilitador (IVA::IA) y 4) los servicios o
habilidades del IVA (IVA::SV).
Los agentes IVA::EA e IVA::RA son estructuras basadas en
FIPA, en el sentido que ambos tienen un Directorio de
Servicios que provee una locacin para el registro de las
descripciones de los servicios especficos de cada componente.
El agente IVA::IA juega el role de facilitacin para agregar
nuevos servicios al sistema y manejar la manera en la cual estos
servicios son ejecutados. El IVA::SV es una coleccin de
componentes de software individuales e independientes
integrados al IVA, con habilidades que pueden ser tanto del

Por otro lado, la funcin bsica del IVA::IA es coordinar la


integracin entre el IVA::SV y el resto de los componentes del
IVA. Esta relacin se puede dar de acuerdo a dos posibles
situaciones: 1) cuando un nuevo servicio debe ser integrado al
IVA y por ende registrado en el directorio correspondiente y 2)
cuando un servicio existente debe ser ejecutado. IVA::IA debe
entonces, clasificar los servicios de acuerdo a la habilidad
especfica que ellos ofrecen. En este sentido, el diseo de
SIFIVA incluye una lista de posibles categoras de servicio,
cada una de las cuales identificada convenientemente. Este
identificador es parte de la informacin que se debe dar cuando
el servicio es agregado al sistema de manera tal que el IVA::IA
puede saber cules son los servicios capaces de realizar una
habilidad especfica. Por lo tanto, cuando el IVA::IA recibe del
IVA::RA o IVA::EA un mensaje para ejecutar alguna habilidad,
ste conoce los servicios que deben ser ejecutados y procede
entonces a informar al IVA::SV.
2.2 Las Caractersticas Racionales del Agente
Gracias al componente IVA::RA, SIFIVA considera en su
diseo habilidades racionales y del manejo del conocimiento,
an y cuando estas capacidades puedan estar incluidas en

algunos servicios de IVA::SV. Este elemento representa la parte


inteligente del IVA y engloba el conjunto de servicios usados
por el agente para implementar procesos asociados con estas
habilidades. Como se muestra en la Figura 3, el IVA::RA es una
estructura basada en BDI (de sus siglas en ingls Belief-DesireIntention) [13] no slo por el hecho de que esta arquitectura ha
probado ser una abstraccin til en el modelado de agentes
autnomos, sino tambin porque sus componentes (Creencias,
Deseos e Intenciones) ofrecen una manera conveniente e
intuitiva de estructurar la actuacin del agente [6].
A fin de ofrecer este aspecto racional, el IVA::RA est
estructurado con: el Repositorio de Conocimiento (RA::KR) y
el Manejador de Conocimiento (RA::KH). Siguiendo el modelo
de la mquina de razonamiento basada en BDI [12], el RA::KR
est formado por los siguientes elementos de informacin: 1)
creencias: sentencias que el IVA cree que son verdad y que en
SIFIVA se representan mediante lgica de predicados de primer
orden; 2) objetivos: metas que el IVA est tratando de lograr en
un momento dado, cada una de ellas asociada con un estado que
indica si fue o no satisfecha; 3) planes: secuencia de acciones o
sub-metas a ser ejecutadas para alcanzar los objetivos; en
SIFIVA se representan haciendo uso de secuencias TeleoReactivas (T-R) [9] y 4) reglas: estructuras SI-ENT que pueden
concluir en objetivos o sub-metas basado en la informacin o
estmulos que se conocen actualmente.
Agente Racional (IVA::RA)
Directorio
Servicios

Manejador
Integracin

Manejador
Conocimiento

Agente
Integrador
(IVA::IA)

Un estmulo consiste en una 2-tupla <data, fuente> que


representa la informacin data proveniente del entorno y
capturada por un sensor del tipo fuente (visin, sonido, etc.).
El elemento fuente debe tener alguno de los valores definidos
en SIFIVA y asociado con una categora de servicios vlida que
representa la habilidad para censar este tipo de estmulo.
La parte derecha o consecuente de la regla determina una
posible reaccin del agente. Consiste de una combinacin de los
siguientes tipos de acciones: 1) modificar el estado de un
objetivo (satisfecho / insatisfecho); 2) ejecutar una habilidad
especfica de acuerdo a las categoras predefinidas (hablar,
moverse, expresar una cara, etc.); debido al hecho que es
posible tener ms de un servicio para cada categora, todos los
servicios asociados con la habilidad indicada en la accin son
ejecutados.
El proceso de razonamiento ocurre cuando un nuevo estmulo
llega y el IVA busca una adecuada respuesta para ello.
Inicialmente, el agente evala las reglas para saber si hay alguna
experiencia relacionada con esta informacin. Cualquier regla
que satisfaga la parte condicional es disparada (se ejecutan las
acciones de la parte consecuente) de forma sncrona, es decir,
los cambios en el estado de los objetivos no sern considerados
hasta que todas las reglas no sean evaluadas primero. Una vez
que todas las reglas han sido evaluadas y, si al menos una regla
fue satisfecha, se chequean primero los planes (siguiendo la
secuencia T-R correspondiente) para verificar si alguno de los
objetivos fue alcanzado. Luego de esto, las reglas son evaluadas
nuevamente y el proceso se repite hasta que no haya ms reglas
satisfechas (ver Figura 4 con detalles de este algoritmo).

Agente
Encarnado
(IVA::EA)

Repositorio Conocimiento
Reglas

Objetivos

Creencias

Planes

Figura 3. La estructura interna de IVA::RA.

El repositorio de conocimiento est representado y almacenado


usando documentos basados en XML (de sus siglas en ingls
eXtensible Markup Language). Los lenguajes basados en XML
usados para este propsito son parte de los resultados definidos
en SIFIVA. Las etiquetas y atributos utilizadas para representar
la informacin se identifican adecuadamente segn el elemento
que se quiere representar: <belief>, <goal>, <plan>, <rule>, etc.
El RA::KH engloba todo los servicios necesarios, no solo para
administrar la informacin que contiene el RA::KR sino
tambin para implementar los procesos de aprendizaje y
razonamiento. Las reglas se utilizan para representar la
experiencia sobre el problema que el IVA est tratando de
resolver. La parte izquierda o condicional de la regla es una
combinacin de alguno de los siguientes elementos: 1) un
objetivo vlido; tendr un valor de verdadero si el estado
correspondiente indica que ste fue satisfecho en el momento en
el cual la regla es evaluada; 2) una sentencia de creencia vlida;
tendr un valor de verdadero si sta unifica con alguno de los
predicados registrados en el elemento de RA::KR
correspondiente (Creencias) y 3) un estmulo vlido (ver ms
adelante); tendr un valor de verdadero si ste ha sido recibido
recientemente por el IVA.

Figura 4. El algoritmo de razonamiento de IVA::RA.

Todos los estmulos que se reciben antes de que el IVA


reaccione son almacenados temporalmente y usados en el
mecanismo de razonamiento. Una vez que el agente comience a
reaccionar, ya sea porque una regla se satisface, ya sea por la
indicacin de otro agente (cooperacin) o por la indicacin de
un humano que est interactuando con el IVA, todas estas
acciones relacionadas con los estmulos previos son

almacenadas temporalmente. Esta informacin es utilizada para


aprender de un experto, ya sea agregando una nueva regla al
repositorio o modificando alguna regla ya existente (reforzar
algn conocimiento previo que se tiene). El aprendizaje ocurre
cuando esta relacin <estmulo-recibido, accin-ejecutada>
termina (una vez que es recibido un estmulo nuevo despus de
la secuencia de acciones). La Figura 5 muestra este algoritmo de
aprendizaje de tres estados realizado en el IVA::RA.

Figura 5. El algoritmo de aprendizaje de IVA::RA.

2.3 Aspectos Relacionados con la Comunicacin


En relacin a la comunicacin, SIFIVA toma en consideracin
tres aspectos diferentes: 1) la comunicacin con los servicios
que estn incluidos en el sistema; 2) la comunicacin entre
agentes SIFIVA y, 3) la comunicacin entre el IVA y un
humano que interacta con el agente.
Para mantener la comunicacin con los servicios que estn en el
IVA::SV, el IVA::IA abre un socket y maneja un protocolo con
los siguientes dos comandos: 1) AddAService(theService,
theAbilityType): es enviado desde el IVA::SV al IVA::IA y
permite agregar al sistema el servicio especificado en
theService (nombre, parmetros, tipo de retorno), como una
implementacin de la habilidad indicada por theAbilityType;
2) CallAService(theService): es enviado desde IVA::IA a
IVA::SV y permite ejecutar el servicio indicado en theService
(nombre, parmetros); una vez que la ejecucin termine, un
valor de retorno correspondiente es recibido.
Para lograr la comunicacin entre agentes se adopt la
estructura abstracta de mensajes FIPA ACL para definir un
lenguaje basado en XML, ya que ste permite a los
desarrolladores de agentes extender las clases de sensores o
efectores con su propio ACL minimizando la cantidad de
informacin necesaria para ello [7].

Finalmente, la comunicacin entre el IVA y un humano es


posible, porque en SIFIVA un humano es considerado como
parte del entorno de interaccin y por lo tanto esta interaccin
es realizada por medio de los servicios incluidos en el
componente IVA::EA, como por ejemplo las habilidades de
hablar y escuchar. Es importante resaltar que esta comunicacin
es necesaria en sistemas de agentes que aprenden de los
humanos y representa la diferencia clave entre este tipo
particular de sistemas de agentes y el resto [14].
2.4 Sistemas de Aprendizaje Interactivo (ILS de sus siglas
en ingls Interactive Learning Systems)
Segn Sklar et al [14], un ILS tpico consiste de los siguientes
componentes: 1) Conocimiento del dominio (una representacin
del tpico que est aprendiendo el estudiante): en SIFIVA se
logra con el componente IVA::KR (los objetivos, las creencias
y los planes); 2) componente de enseanza (un modelo
instruccional usado para guiar al estudiante a travs del
conocimiento del dominio): este aspecto es representado en las
reglas del elemento IVA::KR de SIFIVA; 3) Interfaz de usuario
(el mecanismo de interaccin entre el estudiante humano y el
sistema computarizado): esto es posible en SIFIVA gracias a los
servicios o habilidades para la interaccin con el entorno que
hay en el IVA::EA; 4) conocimiento del estudiante (un modelo
del estudiante en relacin con el conocimiento del dominio,
indicando qu tanto y qu tan bien el estudiante conoce el
dominio): tambin es representado en las reglas del componente
IVA::KR de SIFIVA, ya que stas no slo tienen que ver con la
manera correcta de proceder sino tambin qu no puede ser
hecho; 5) adaptacin al sistema (la manera en la cual el sistema
se adapta automticamente al comportamiento del estudiante):
debido a la extensibilidad de SIFIVA, es posible agregar al
sistema servicios especializados que permitan satisfacer esta
caracterstica (por ejemplo, alterar la expresin facial del IVA
segn el comportamiento que va teniendo el estudiante); 6)
componente de control (la parte central de la arquitectura del
sistema que busca unir todas las piezas): se logra hacer en
SIFIVA gracias al componente IVA::IA.
La seccin siguiente presenta la descripcin de un IVA basado
en SIFIVA para, tanto asistir a un humano, como aprender de
l, a usar UML para el modelado de sistemas en general.

3. UN ASISTENTE BASADO EN AGENTES PARA


USAR UML
UML permite a los creadores de sistemas generar diseos que
capturen sus ideas de una manera convencional y es adems
fcil de entender de forma tal de comunicar a otras personas
estas ideas. Esta es una de las razones por las cuales UML fue
escogido para desarrollar un IVA que asista a un humano y
aprenda de l, su uso para el modelado de sistemas.
3.1 Elementos de SIFIVA Para Alcanzar Este Problema
Con el objeto de lograr el asistente para el problema de usar
UML, el IVA debe ser estructurado con las siguientes
habilidades o servicios que se deben agregar al componente
IVA::SV: 1) interactuar con su entorno por medio del sonido
(escuchar y hablar); 2) percibir el entorno mediante la visin
(ver); 3) representar grficamente el IVA mediante un avatar y
4) representar e interpretar expresiones faciales tales como
felicidad, miedo, tristeza, etc. (asignacin-expresin-facial).

Por otro lado, el objetivo general asociado con este problema se


refiere al diseo del modelo (UML-Model) y hay sub-metas
asociadas con: 1) completar cada vista (Use-Case-View,
Logical- View, Component-View and Deployment-View)
y 2) completar cada diagrama (Case-Use-Diagram, ActivityDiagram, Class-Diagram, State-Chart-Diagram, ObjectDiagram, Collaboration-Diagram, Sequence-Diagram,
Component-Diagram and Deployment-Diagram).
En este sentido, el plan debe ser escrito en el orden correcto
para satisfacer los objetivos previamente indicados y por ende
siguiendo una secuencia S-T vlida. La Figura 6 puede ser
revisada para detallar el plan que este IVA debe seguir para
alcanzar el objetivo principal. Como fue mencionado en la
Seccin 2.2, este plan es parte del RA::KR y por lo tanto est
representado en un formato XML correspondiente.

Figura 6. El plan general del asistente de UML escrito en el


lenguaje de SIFIVA basado en XML.

Tambin mencionado en la Seccin 2.2, las creencias estn


representadas mediante lgica de predicados de primer-orden.
Algunas creencias asociadas a este IVA son las siguientes:
class is-a concept, case use is-a requirement, a
collaboration diagram permits to test a case use diagram, etc.
El conjunto de reglas en el repositorio de conocimiento
(RA::KR) est inicialmente vaco. Nuevas reglas se agregan a
este repositorio siguiendo el algoritmo de aprendizaje
presentado en la seccin 2.2 (Figura 5). Por lo tanto, lo primero
que el IVA debe hacer es aprender de un experto el uso correcto
de UML para el modelado de sistemas, siguiendo sus planes y
creencias. En este sentido, el IVA tiene dos modalidades de
ejecucin: 1) modo aprendizaje y 2) modo asistente.
En el modo aprendizaje el IVA asume que el humano con el
cual va a interactuar es un experto en el modelado de sistemas
con UML y por lo tanto, el IVA censa los cambios en el entorno

y define las reglas a ser agregadas al RA::KR. El agente puede


ser cambiado a modo aprendizaje en cualquier momento,
permitiendo modificar el conocimiento continuamente.
El aprendizaje no solo tiene que ver con la forma correcta de
proceder, tambin con lo que no debe ser hecho (la secuencia
del plan no est siendo respetada o alguna accin va en
contradiccin con las creencias del agente). Esto depende, por
supuesto, de la manera en la cual el experto acta cuando el
agente est en el modo aprendizaje. La habilidad para modificar
la expresin facial puede ser utilizada para resaltar si las cosas
se estn o no haciendo bien.
A continuacin se muestra un ejemplo para ilustrar la manera en
la cual el IVA aprende. Este ejemplo muestra los pasos que el
agente debe seguir para aprender la manera en la cual un
experto est definiendo una relacin jerrquica entre los
conceptos Agent (A) y Intelligent Agent (IA). Tambin es
posible ver en este mismo ejemplo una manera correcta e
incorrecta de hacer la relacin.
1) El IVA captura del entorno (producido por el experto) el
estmulo <A is a concept, auditory>.
2) Luego el experto acta definiendo una nueva clase asociada
con el concepto previamente dicho y por ende el nuevo estmulo
recibido por el agente es <new class A, visual>.
3) De acuerdo a sus creencias, el IVA sabe que cualquier cosa
que es un concepto debe ser considerado como una clase y por
ello, ninguna regla es definida ya que el IVA puede representar
esta accin basado en sus creencias.
4) Los mismos tres pasos anteriores se repiten con el concepto
IA, por lo que ahora hay dos clases en el entorno: A e IA.
5) El experto informa IA is an A y reacciona haciendo una
asociacin entre las dos clases. Como consecuencia el IVA
recibe los dos siguientes estmulos correspondientes: <IA is an
A, auditory> y <new association is-a between the classes IA
and A, visual>.
6) El experto le indica al IVA (a travs de la interfaz correcta
relativa al modo aprendizaje) que sta es una manera incorrecta
de hacer la relacin. Como consecuencia, el IVA define y
agrega una nueva regla al repositorio de conocimiento. Esta
regla tiene en su parte condicional los dos estmulos indicados
en el paso anterior. Debido al hecho que esta situacin no debe
hacerse, se modifica la parte consecuente de la regla de manera
tal que el IVA acte modificando su expresin facial
adecuadamente para indicar el error.
7) El experto informa IA is an A nuevamente pero esta vez
reacciona haciendo una generalizacin entre las dos clases; el
IVA recibe los siguientes estmulos correspondientes: <IA is an
A, auditory> y <new generalization between the classes IA and
A, visual>.
8) En este caso, el experto le indica al IVA que sta es una
forma correcta de hacer la relacin. Por lo tanto, el IVA define
y agrega una nueva regla que tiene, en su parte condicional, los
estmulos <IA is an A, auditory> y <new generalization between
the classes IA and A, visual> y, en la parte consecuente, la
accin para modificar la expresin facial indicando que lo que
se hizo est correcto.
Una vez que el IVA ha aprendido a usar UML para el modelado
de sistemas y, siguiendo el proceso de razonamiento mostrado
en la Figura 4, este agente puede ser usado como asistente de
humanos inexpertos en esta materia (modo por defecto de
operacin del IVA).

3.2 Evaluacin
SIFIVA, entorno utilizado para el diseo de este agente, fue
desarrollado usando el lenguaje de programacin C#. Este
entorno fue probado haciendo uso de componentes bsicos de
software (tambin desarrollados en C#) que simulan las
habilidades de interaccin. Para este momento se han
desarrollado tambin los APIs o SDKs necesarios para integrar
los componentes existentes y apropiados para satisfacer estas
habilidades.
El asistente inteligente para modelar sistemas mediante el uso
de UML est actualmente en estado experimental. Todos los
aspectos relacionados con los planes, creencias y el
conocimiento aprendido hasta ahora (de un experto en el uso de
UML) han sido probados mediante la interaccin del IVA con
usuarios inexpertos en UML. Los modelos realizados en estos
experimentos fueron luego revisados por expertos en UML
llegando a la conclusin que stos estaban bien expresados por
lo que se puede concluir que la asesora dada por el IVA en este
dominio es satisfactoria. En este momento el IVA tiene
conocimiento asociado para la construccin de diagramas de
casos de uso, actividad, clases y estados. An falta agregar el
conocimiento relacionado con los otros diagramas de UML, as
como tambin la prueba general del modelo.
El otro aspecto que est faltando para tener una aplicacin final,
tiene que ver con la apariencia grfica del IVA. Gracias a la
extensibilidad de SIFIVA y por ende a la posibilidad de integrar
los avances tecnolgicos obtenidos hasta ahora en esta rea, es
posible agregar al sistema servicios que satisfagan estas
caractersticas.

4. CONCLUSIONES Y TRABAJO FUTURO


En este artculo se ha presentado el diseo de un asistente
inteligente basado en agentes para modelar sistemas en general
haciendo uso de UML. El diseo de este IVA fue realizado con
SIFIVA, un entorno elaborado para ayudar en el desarrollo de
sistemas basados en agentes inteligentes, cuya base es la
integracin de varios dominios diferentes e independientes.
Por un lado, esta propuesta se enfoca en el aprendizaje de un
experto sobre la manera correcta de usar UML en el modelado
de sistemas. Por otro lado, esta propuesta pretende lograr un
agente racional y por lo tanto, se enfoca en asistir a humanos
inexpertos en esta materia.
En la actualidad, se est trabajando en lo que resta del
aprendizaje para satisfacer todos los aspectos relacionados con
el modelado de sistemas con UML, as como tambin, en la
integracin de los aspectos de interfaz necesarios para tener una
aplicacin final para el IVA.

5. REFERENCIAS
[1] B. Bauer, J.P. Mller, J. Odell, Agent UML: A Formalism
for Specifying Multiagent Interaction, Agent-Oriented

Software Engineering, P. Ciancarini and M. Wooldridge


eds., Springer-Verlag, Berlin, 2001, pp. 91-103.
[2] A. De Antonio, J. Ramrez, G. Mndez, An Agent-Based
Architecture for Virtual Environments for Training, En
Developing Future Interactive Systems, Chapter VIII, Idea
Group Publishing, ISBN 1591404118, 2005, pp. 212-233.
[3] Foundation for Intelligent Physical Agents, FIPA ACL
Message Structure Specification, SC00061, Geneva,
Switzerland, 2002. http://www.fipa.org/specs/fipa00061/
index.html.
[4] Foundation for Intelligent Physical Agents, FIPA
Abstract Architecture Specification, SC00001, Geneva,
Switzerland, 2002. http://www.fipa.org/specs/fipa00001/
index.html.
[5] R. Fuentes, J.J. Gmez Sanz, J. Pavn, Integrating agentoriented methodologies with UML-AT, Proc. Fifth
International Joint Conference on Autonomous Agents and
Multiagent Systems, Hakodate, Japan, ISBN:1-59593-3034, 2006, pp. 1303-1310.
[6] A. Guye-Vuilleme, D. Thalmann, A high-level
architecture for believable social agents, Virtual Reality,
Virtual Reality (UK), Vol. 5, No. 2, SpringerVerlag, 2000, pp. 95-106.
[7] M.L. Maher, G.J. Smith, J.S. Gero, Design Agents in 3D
Virtual Worlds, Proc. Workshop on Cognitive Modeling
of Agents and Multi-Agent Interactions (IJCAI), 2003, pp.
92-100.
[8] B.M. Namee, S. Dobbyn, P. Cunningham, C. OSullivan,
Simulating Virtual Humans Across Diverse Situations,
Proc. Fourth International Working Conference on
Intelligent Virtual Agents, Kloster Irsee, Germany, Vol.
2792, ISBN: 0302-9743, 2003, pp. 159-163.
[9] N.J. Nilsson, Teleo-Reactive Programs for Agent
Control, Journal of Artificial Intelligence Research, 1,
1994, pp. 139-158.
[10] J. Odell, M. Fowler, Advanced object-oriented analysis
and design using UML, SIGS Books / Cambridge
University Press, ISBN-10: 052164819X, ISBN-13: 9780521648196, 1998.
[11] M. Paletta, P. Herrero, A Human-Like SOA-Based
Interdisciplinary Framework for Intelligent Virtual
Agents, Proc. International Workshop on Agents, Web
Services and Ontologies Merging (AWeSOMe07) en
OTM 2007, Vilamoura, Portugal. LNCS 4805, SpringerVerlag, 2007, pp. 115-124.
[12] A. Pokahr, L. Braubach, W. Lamersdorf, Jadex: A BDI
Reasoning Engine, Multiagent Systems, Artificial
Societies, and Simulated, Organizations International Book
Series, Vol. 15, 10.1007/b137449, ISBN: 978-0-38724568-3, Springer, 2005, pp. 149-174.
[13] A.S. Rao, M.P. Georgeff, Modeling Rational Agents
within a BDI-Architecture, Proc. Second International
Conference on Principles of Knowledge Representation
and Reasoning, San Mateo, CA, USA, Morgan Kaufmann
publishers Inc., 1991, pp. 473-484.
[14] E. Sklar, D. Richards, The Use of Agents in Human
Learning Systems, Proc. Fifth International Joint
Conference on Autonomous Agents and Multiagent
Systems (AAMAS06), Hokkaido, Japan, ACM 1-59593303-4/06/005, 2006, pp. 767-774.

Das könnte Ihnen auch gefallen