Você está na página 1de 6

Manejo hbrido local y global de Ontologas en un Sistema Multiagente

Hctor G. Ceballos y Ramn F. Brena


Instituto Tecnologico de Monterrey, Campus Monterrey
Centro de Sistemas Inteligentes
Monterrey, Mexico

RESUMEN orientada para su aplicacin en el sistema JITIK, lo cual


A medida que el conocimiento Ontolgico cobra ms impone una arquitectura as como otras restricciones, es
importancia en sistemas basados en agentes, su manejo se aplicable en principio a un amplio rango de sistemas basa-
vuelve crucial para aplicaciones exitosas. Pero colocar to- dos en agentes.
das las capacidades para el manejo de ontologas en cada
uno de los agentes del sistema puede volverlo demasiado 1.1 Nuestro enfoque
pesado. Proponemos un enfoque hbrido en el cual parte
de la ontologa es manejada localmente, usando un com- En este trabajo proponemos una solucin a uno de los as-
ponente cliente, y el resto del conocimiento sobre la on- pectos de esta problemtica: proponemos un mtodo para
tologa es manejado por un agente de ontologas, el cual combinar ontologas centralizadas con ontologas distru-
es accesado por otros agentes en el sistema a travs de ibidas. Consideramos un repositorio central encapsulado
su componente cliente. Proponemos mtodos especficos en un agente de ontologias, (AO) que provee respues-
para representar, almacenar, consultar y traducir ontologas tas a preguntas acerca de la ontologa a otros agentes en
para su uso efectivo en el contexto del sistema JITIK, el el sistema. Pero adems de eso, dotamos a cada agente
cual es un sistema multiagentes para distribucin de cono- en el sistema con un componente cliente de la ontologa
cimiento e informacin. Asmismo reportamos la imple- (CCO), el cual le proporciona las capacidades bsicas para
mentacin de un prototipo operativo de nuestra propuesta. manejo de ontologas. Este esquema funciona de la sigu-
iente manera:
1 INTRODUCCIN Los agentes regulares inician con un subconjunto
de la ontologa comn, la cual es cargada al arranque
Es ampliamente aceptado que la comunicacin es un re- desde un recurso en internet.
querimiento absoluto para la mayora de las aplicaciones
de sistemas multiagentes. An cuando la comunicacin Los agentes regulares utilizan sus ontologas locales,
a nivel sintctico no est completamente resuelta, lo ms manejadas por el CCO, mientras su conocimiento lo-
retador ahora es tomar en cuenta el significado de los men- cal sea suficiente para la actividad del agente.
sajes de los agentes. Este es uno de los aspectos cruciales Cuando ms conocimiento es requerido -por ejemplo,
que tenemos que tratar para construir aplicaciones reales un trmino desconocido llega desde otro agente- el
basadas en agentes[3]. CCO consulta al AO, y recibe un anexo a la ontologa
El trmino ontologa se refiere a la definicin de los bsica, que le permite al agente continuar trabajando.
significados de trminos usados en comunicaciones en- El CCO almacena localmente la adicin a la ontologa
tre agentes[4]. Las ontologas permiten definir concep- para poderla usar en el futuro.
tos y sus relaciones, propiedades, operaciones, y todo Esta solucin simplifica alguna de las complejidades inher-
ello en forma estructurada. Estndares abiertos como entes de la distribucin de conocimiento, porque:
DAML+OIL[12], o ms recientemente OWL[14], per-
miten publicar conocimiento ontolgico en una manera en- 1. No hay riesgo de incoherencia -cada pieza de cono-
tendible tanto por humanos como por mquinas. cimiento viene a final de cuentas de una ontologa
Pero an teniendo una representacin estndar, hay que comn- ya sea desde la ontologa inicial o como re-
decidir dnde poner cada pieza de conocimiento a repre- sultado de una consulta al AO.
sentar. Algunos esfuerzos como el proyecto Cyc[16] sug-
ieren construir un enorme repositorio centralizado de co- 2. No hay decisiones a priori acerca de cmo distribuir o
nocimiento enciclopdico. Otros consideran esto imprc- especializar el conocimiento, porque el conocimiento
tico en trminos de desempeo y robustez, y prefieren en- local se va especializando automticamente a medida
que la operacin del agente procede.
foques descentralizados[6]. Pero manejar ontologas dis-
tribudas genera nuevos problemas como: 1) dnde poner Hacemos notar, sin embargo, que este enfoque no es ade-
o de dnde tomar las piezas de conocimiento, esto es, cuado para todo tipo de situaciones. En particular, en
cmo distribuir el conocimiento; 2) cmo mantener algn ambientes abiertos y dinamicos como el internet, donde
grado de coherencia entre las diferentes piezas -o inclusive concurren ontologias distintas y hasta contradictorias, no
versiones- de conocimiento ontolgico. se puede sostener la hipotesis de una ontologia global y
El mtodo que presentaremos en este trabajo est dis- coherente. Sin embargo, en ambientes tales como una
eado para ser usado en el contexto del proyecto JITIK[5]. empresa en particular, nuestra hipotesis de una ontologia
JITIK -que significa Just-In-Time Information and Knowl- global es perfectamente razonable.
edge- es un sistema basado en multiagentes para distribuir En la seccin 2 detallamos nuestro mtodo. La seccin
piezas de conocimiento entre los miembros de una orga- 4 describe un prototipo funcional. Los resultados de los
nizacin grande o distribuida, por esto soporta la funcin experimentos se presentan en la seccin 5. En la seccin
de administracin de conocimiento. A pesar de que nues- 6 presentamos algunos trabajos relacionados, y finalmente
tra propuesta de manejo de ontologas fue primariamente en la seccin 7 damos algunas conclusiones.
Los agentes clientes acceden las definiciones de la on-
Figure 1: Agentes de JITIK tologa a travs de su CCO. Al arranque cargan una on-
tologa base, la cual es evidentemente dependiente de la
aplicacin, y tratan de usarla mientras sea suficiente para
su operacin. En el sistema JADE[1], las ontologas son
necesarias para propsitos de validacin de mensajes en
primera instancia. Cada trmino en las conversaciones de
los agentes debe ser validado contra una definicin en la
ontologa. Por esto, normalmente la ontologa base con-
tendr definiciones de trminos comunes y poco especial-
izados. El tamao de la ontologa base debe hallar un punto
de equilibrio entre eficiencia en espacio -lo que lleva a una
ontologa inicial pequea- y eficiencia en tiempo -lo que
lleva a maximizar la cobertura del conocimiento local de
manera que se minimizen las consultas remotas.
2.2 Mecanismo de Consulta
Caracterizamos el mecanismo de consulta en tres partes:
lenguaje de consulta, motor de consulta y formato de re-
spuesta. Agrupamos estos tres elementos pues su imple-
2 SOLUCIN PROPUESTA PARA mentacin esta ntimamente relacionada.
MANEJO DE ONTOLOGAS EN JITIK Investigamos varios lenguajes de consulta, encontrando
que actualmente la mayora de ellos estn orientados a
En la figura 1 mostramos la arquitectura de JITIK, com- RDF. Uno de los lenguajes de consulta ms simples que
puesta por varios tipos de agentes, como el agente de Sitio, estudiamos fue RQL [15], que a pesar de estar orientado
quien tiene a su cargo la distribucin de informacin a dis- a RDF, tiene una sintaxis similar a SQL, as que la codifi-
tintos agentes personales, los cuales interactan con un cacin de consultas no es difcil. Aunque a final de cuentas
usuario final; tambin hay agentes bridge para interactuar utilizamos Jena Toolkit pues nos permita tener un mecan-
con programas tradicionales (aplicaciones heredadas). Los ismo de consulta integrado y porttil en Java.
agentes de sitio son el corazn de un grupo compuesto El motor de consultas es responsable de resolver las con-
por un agente de sitio y varios agentes personales atendidos sultas hechas a la ontologa. Su desempeo ser uno de los
por el primero. En una organizacin, los grupos pueden factores ms crticos en el desempeo global del AO, dado
estar asociados a departamentos, divisiones, etc., depen- que estar respondiendo constantemente preguntas prove-
diendo del tamao de estos. Las redes pueden ser hechas nientes de otros agentes. Un ejemplo de motor de consulta
conectando varios agentes de sitio. Las organizaciones dis-
tribuidas como compaas multinacionales pueden tener es RQL sobre RSSDB de RDFSuite[9]. Jena cuenta con
una red de muchos agentes de sitio conectados. Tambin un motor de consulta (RDQL), adems de mtodos de con-
hay agentes de ontologa, los cuales discutiremos a contin- sulta sobre la ontologa.
uacin. Las respuestas a las consultas se codifican en un for-
Desde el punto de vista de manejo de ontologas, mato de respuesta. Una vez que el cliente reciba una
podemos clasificar los agentes en dos categoras: agentes respuesta del AO, puede procesar su informacin. Este
de ontologas, y agentes regulares, que son todos procesamiento-decodificacin puede ser costoso tanto para
los otros agentes. Algunas veces llamaremos agentes el agente cliente como para el AO si no se eligen formatos
clientes a los agentes regulares, porque actan como adecuados.
un cliente respecto al agente de ontologas. El AO y los Entre los formatos de respuesta disponibles encon-
clientes corresponden a los roles iniciador y responde- tramos RDF sobre XML, y los formatos de frames provis-
dor en metodologas estndar de diseo de agentes como tos por el soporte para ontologas de JADE. RSSDB arroja
[7]. respuestas en XML, as que hay que hacer la traduccin
a frames de JADE, ya sea en el servidor o en el cliente.
Los agentes regulares accesan las ontologas a travs del Consideramos preferible hacer la traduccin en el lado del
CCO previamente introducido, y el CCO eventualmente se servidor (el AO), porque de esta forma el proceso se vuelve
comunica con el AO. La arquitectura tanto del agente de transparente para los agentes clientes, y as un remplazo de
ontologas como del agente cliente se muestra en la figura tecnologa en el AO no tiene que ser notado en los agentes
2. Ah se muestra al AO en el lado izquierdo, con algunos clientes.
componentes internos que se discuten posteriormente, y un
agente cliente en el lado derecho, donde el CCO aparece 2.3 Interpretacin de Resultados
etiquetado como Vista Dinmica de la Ontologa por
las razones que vamos a explicar. Pero antes de discutir La ltima parte del proceso que estamos describiendo
los detalles internos del AO y del CCO, debemos tratar ocurre dentro del agente cliente, el cual tiene que inter-
algunos aspectos esenciales de manejo de ontologas que pretar el resultado que arriba del AO como una respuesta
impactarn en gran medida el diseo del AO y del CCO. a una consulta, basndose en la metaontologa. Dicha in-
Principalmente, tenemos que presentar nuestras opciones terpretacin es esencialmente un mapeo entre las respues-
de codificacin de ontologas, de formatos y de almace- tas a las consultas y las estructuras internas del agente.
namientos, lenguajes y mtodos de consulta, y finalmente Este mapeo puede ser hecho manual (por el programador
interpretacin de respuesta y manejo del lado del cliente. mismo) o automticamente. El mapeo puede automati-
zarse en varios niveles, desde la conversin automtica
2.1 Agente de ontologas y Agentes clientes de respuestas de consultas a una estructura del programa,
hasta proveer interpretacin transparente de un concepto
El AO encapsula la funcionalidad para jugar el rol de desconocido.
proveedor de conocimiento, almacenar la ontologa conve-
nientemente codificada, traducir, interpretar y ejecutar las 3 EL COMPONENTE CLIENTE DE LA
consultas recibidas, y luego traducir los resultados a un for- ONTOLOGA (CCO)
mato entendible por los agentes clientes. Esta separacin
de formatos provee una capa de independencia, de manera El acceso local a la ontologa se encapsula en el CCO el
que la representacin de la ontologa pueda ser cambiada cual es incorporado en el agente cliente. Al arranque del
en el AO sin impactar a los agentes clientes. agente, el CCO es responsable de obtener -normalmente de
Figure 2: Arquitectura para manejo de ontologas

una direccin en internet- una ontologa base. Este mecan- accesada ya sea directamente desde el agente cliente
ismo es suficientemente general para ser personalizado de o exportando a una clase Java a travs del uso del In-
manera que diferentes tipos de agentes carguen diferentes trospector.
ontologas base, a pesar de que no hicimos esto en nuestro
prototipo. Mecanismo de Agregacin. El nuevo conocimiento
Para subsanar las limitaciones de la ontologa base, el proveniente del AO como respuesta a una consulta es
CCO es responsable de accesar al AO para extender su co- incorporada en la vista local. Por supuesto, el uso im-
nocimiento sobre la ontologa, a travs de mecanismos de prudente de esta caracterstica puede degradar el de-
consulta que hemos descrito. Los resultados de la consulta sempeo del CCO.
son incorporados por el CCO a la ontologa local, exten-
diendo automticamente la ontologa conforme sea nece- 4 PROTOTIPO
sario.
En este modelo, la existencia del AO es transparente al Hemos desarrollado una implementacin algo simplificada
agente cliente, dado que este ltimo dirige todas sus con- de las ideas presentadas aqu. Las simplificaciones que in-
sultas al CCO, ste toma a su cargo el proceso completo trodujimos fueron las siguientes:
hasta que llega una respuesta al agente -ya sea que venga
de una consulta al CCO o de una consulta del CCO al AO. A pesar de que trabajamos con el paquete RDFSuite,
Como se puede ver en el diagrama de la figura 2, el CCO y de hecho construimos un prototipo muy bsico con
tiene los siguiente elementos: esta tecnologa, slo soport ontologas RDF. As que
tenamos que desarrollar la traduccin mencionada de
Representacin Local de la Ontologa. Permite alma- estructuras JADE a RQL. Decidimos nicamente usar
cenar un subconjunto de la ontologa y soporta con- el paquete Jena en su lugar, el cual en algn punto
sultas locales. de nuestro proyecto incorpor almacenamiento per-
Resolvedor Local de Consultas. Sirve de interfaz en- sistente, volvindose as una solucin muy atractiva.
tre el agente mismo y la vista de la ontologa. Provee Descartamos RDFSuite por lo mismo.
mtodos usados por el agente para consultar acerca de El acceso a las ontologas en los agentes clientes y
los esquemas o instancias en la ontologa. en el AO era idntico, ambos basados en una clase
Validacin de Mensajes. Dado que el CCO contiene ClientOntology que desarrollamos, la cual utiliza car-
definiciones de trminos de la ontologa base y de las actersticas del paquete Jena. ClientOntology es im-
consultas al AO, permite validar mensajes en trminos plementado tanto en el CCO como en el AO.
de una ontologa, como es requerido por la plataforma
JADE. El CCO no redirecciona automticamente las consul-
tas al AO. En lugar de eso, el agente cliente especifica
Contenedor de Esquemas y de Instancias. Deseamos con cul componente hacer la consulta, ya sea al CCO
que la informacin de esquemas est separado de la o al AO.
informacin de instancias por razones de desempeo,
particularmente cuando involucra un nmero grande No se hace distincin entre instancias y esquemas
de instancias. La informacin de instancias puede ser para propsitos de almacenamiento.
4.1 Formato de Ontologa Los operadores de consulta estn definidos de forma que
su evaluacin se realiza en dos pasos: primero, se especi-
Utilizamos particularmente RDF[13] y DAML+OIL[12] fican las caractersticas de los objetos, y segundo, se es-
como lenguaje de representacin. RDF, con su extensin pecifica el elemento buscado. Durante el primer paso, Jena
RDFS, contiene todos los elementos mnimos necesarios extrae una lista de esquemas DAML+OIL que satisfacen
para representar nuestras ontologas, pero DAML+OIL la especificacin dada, y en el segundo paso se construyen
provee mejores caractersticas ontologcas que nos permi- los resultados.
tiran extender nuestro sistema en un futuro. Por ejemplo, asumamos que deseamos conocer cules
Buscamos un software intermedio que encapsulara el ac- propiedades estn definidas en la clase Trabajador. Us-
ceso a la ontologa, de forma que cualquier cambio en el aremos el cuantificador ALL, as que las propiedades mis-
formato permaneciera local al software y transparente para mas, y no slo el nmero de ellas, es devuelto. Ahora
el resto del sistema. Se eligi Jena Toolkit [8] para esta definimos la variable x de tipo CLASS_PROPS, la cual
tarea. Jena est conformado de libreras JAVA para manejo almacena una lista de propiedades definidas en una clase.
de ontologas RDF y DAML+OIL. Finalmente, el operador DescWhere es introducido, us-
ando como parmetros un filtro y la estructura de los resul-
4.2 Estructura del prototipo tados. En el ejemplo a continuacin, el filtro es un nombre
Un componente encapsulado en la clase de clase (Trabajador), y la estructura del resultado usa la
xont.ClientOntology constituye el ncleo del prototipo. variable x para almacenar la respuesta. La consulta en
Dicho componente aparece tanto en el agente cliente como nuestro ejemplo podra ser como sigue:
en el AO. Sus elementos principales son: 1) la ontologa (ALL
DAML es almacenada utilizando Jena Toolkit; 2) hay un :VARIABLE (Variable :VALUETYPE CLASS_{P}ROP
Resolvedor de Consultas, el cual traduce las consultas de :PROPOSITION (DESCWHERE
frames JADE a llamadas de mtodos Jena; 3) en el lado :DESC (CLASSDESCRIPTOR :CLASS_{P}ROPS
del AO los resultados son ensamblados en la forma de (Variable :VALUETYPE CLASS_{P}ROPS :NAM
frames JADE, para ser enviados al agente cliente. :WHERE (CLASSDESCRIPTOR :CLASS_{N}AME Tra
En el agente cliente se pueden encontrar los Conceptos Usando nuestra ontologa ejemplo, el resultado obtenido
Dinmicos JADE que constituyen las estructuras ontolg- sera el siguiente:
icas JADE que almacenan la ontologa DAML leda por
medio de Jena. La ontologa en el CCO tiene un formato (RESULTS :RESULTS_SET (DESCLIST
doble, por una parte se almacena en estructuras de Jena #0 (CLASSDESCRIPTOR
(DAML+OIL) y por otra en estructuras de JADE (frames). :CLASS_{N}AME Worker
Ambas versiones estn sincronizadas y tienen usos distin- :CLASS_{P}ROPS (PROPLIST
tos: la primera se utiliza para hacer consultas, mientras #0 (PROPERTYDESCRIPTOR :PROP_NAME id)
que la segunda permite que JADE valide los mensajes en- #1 (PROPERTYDESCRIPTOR :PROP_NAME puest
tre agentes. #2 (PROPERTYDESCRIPTOR :PROP_NAME email
Un problema tcnico para construir las ontologas #3 (PROPERTYDESCRIPTOR :PROP_NAME telef
JADE en paralelo es que los conceptos JADE no pueden #4 (PROPERTYDESCRIPTOR :PROP_NAME nombr
pertenecer a varias clases al mismo tiempo. Para resolver Podemos ver que la clase Trabajador agrupa en el resul-
esta incompatibilidad, introdujimos las instancias mixtas, tado la lista de propiedades por las cuales preguntamos.
que son instancias definidas en DAML+OIL con varios Incluimos el nombre de la clase de manera que la respuesta
tipos, y que al momento de traducirse se definen como in- este autocontenida, y pueda ser incorporada en la ontologa
stancias de una clase compuesta. Esto est detallado en local del agente cliente de manera significativa. Ntese que
[2]. la lista de propiedades devuelta en este ejemplo incluye no
Durante la inicializacin, el AO carga varias piezas de slo las propiedades directas de Trabajador, sino tambin
ontologas de una lista de URLs, en la cual se incluye la aquellas definidas en sus superclases tambin.
ontologa base, entre otras. Los agentes clientes slo car- Se deja al programador la tarea de interpretar y usar
gan la ontologa base al inicio. los resultados dados por las caractersticas ontolgicas en
Cuando un agente cliente necesita hacer una consulta, nuestro prototipo. El sistema nicamente lleva a cabo au-
tiene dos opciones: ya sea que pregunte a su CCO, o al AO. tomticamente la unin de las respuestas que llegan con la
Se deja a consideracin, en este prototipo, que el agente ontologa local, como se discute en la siguiente subseccin.
cliente decida a cul ontologa es mejor preguntar. Como
regla general, sera buena idea preguntar al CCO primero, 5 EXPERIMENTOS Y RESULTADOS
en orden de reducir el trfico en la red. Diseamos y llevamos a cabo experimentos enfocados a
Las consultas se codifican como objetos de la clase Ab- asegurar que cada posible consulta pueda ser resuelta por
sIRE de JADE, los cuales son construidos por medio de nuestro sistema, y esa traduccin funcione adecuadamente.
cdigo Java en el agente cliente. Despus son eventual- Asumimos que el software sobre el cual estamos con-
mente enviados al AO usando mensajes en FIPA ACL, y struyendo (JADE, Jena) trabaja correctamente.
luego son interpretados y resueltos conforme van llegando. Llevamos a cabo una metodologa de pruebas formal,
Luego los mtodos de Jena se hacen cargo de la consulta. ordenando primero todas las posibles consultas en una se-
Cuando el CCO es consultado, el preoceso es exactamente cuencia lineal, y luego tomando aleatoriamente algunas de
el mismo, excepto que no se enva mensaje ACL para hacer las consultas, hasta que un tamao de muestra es alcan-
la pregunta. zado. Los detalles de nuestro mtodos de prueba se repor-
La respuesta se obtiene haciendo mltiples llamadas a tan en [2].
las mtodos de Jena y se traduce de nuevo a frames JADE Usamos una ontologa de prueba acerca de una universi-
por medio del CCO. Tanto si se pregunta al AO o al CCO, dad (Tecnolgico de Monterrey), representando la estruc-
se utiliza un mensaje ACL como vehculo para recibir la tura organizacional, as como propiedades de gente que es-
respuesta; de esta manera se tiene un mtodo nico de re- tudia y trabaja ah. Los archivos DAML (itesmcore.daml y
cepcin de respuestas. personal.daml, para esquemas e instancias), son accesibles
por internet. Se us la herramienta OilEd [17] para edi-
4.3 Resolucin de Consultas tar nuestra ontologa de prueba. Algunos ajustes manuales
Las consultas consisten de un cuantificador (indica si quer- fueron necesarios para hacerla usable por Jena.
emos todos los resultados o slo el nmero de incidencias), El principal resultado de nuestros experimentos fue que
una variable (que especifica el tipo de dato buscado), y un el 100% de la muestra de 15 consultas fue resuelta correc-
operador de consulta. tamente con diferentes parmetros. Un nmero mayor de
pruebas se consider innecesaria, debido al 100% de los cliente puede cargar la ontologa base tal como se hace en
xitos, y al alto nivel de redundancia que se hizo evidente el prototipo, y obtener definiciones adicionales del almace-
a medida que se incrementaba la complejidad de las con- namiento persistente en el lado del AO como explicamos
sultas. anteriormente. Claro que, si la ontologa va a ser enrique-
Cabe aclarar que los resultados mencionados prueban cida por los agentes clientes, las definiciones de nuevos
unicamente la correccion del prototipo. No demuestran, conceptos deben ser almacenados permanentemente ya sea
por ejemplo, que nuestro enfoque global y local para el en el almacenamiento permanente local en el CCO, o en-
manejo de ontologias sea mas eficiente en terminos com- viado al AO para enriquecer la ontologa comn.
putacionales que otros enfoques, Este tipo de experimentos
ocupara nuestro trabajo en el futuro inmediato. 7.1 Conclusiones
Hemos presentado una arquitectura y un prototipo que re-
6 TRABAJOS RELACIONADOS suelve el problema de manejo de ontologas para el sis-
En el proyecto KAON [20] el enfasis es en reusar ontolo- tema JITIK, y que puede ser aplicado a otros sistemas
gias y en propagar los cambios a ontologias distribuidas. multiagente tambin. El principal requerimiento para
Se lleva un registro de as URI de las ontologias cono- aplicar nuestra arquitectura es que debe haber una on-
cidas para el sistema en unos servidores de ongologias, tologa comn, la cual es en un principio aceptada por
los cuales toman a su cargo admninistrar la evolucion de todo el sistema, pero que no es completamente conocida
las ontologias (inclusion, actualizacion, cambios, propaga- por cada agente en el sistema. Asi, proponemos una forma
cion, etc.). Cada servidor de ontologias provee un servicio de compartir el conocimiento de la ontologa comn res-
de interrogacion a su comunidad de agentes. En el servi- idente en el Agente de Ontologas, pero evitar los cuel-
dor de ontologias se guarda una copia local de la ontologia los de botella que podran resultar de un manejo de on-
original, tomada inicialmente del URI dado, y actualizado tologas centralizado. Por esto, hemos incorporado a todos
en curso de funcionamiento, para propositos de interroga- los agentes en el sistema un Componente Cliente de la On-
cion. tologa, el cual es capaz de resolver localmente parte de
Nuestro AO, en cambio, utiliza ontologias DAML+OIL. la consultas ontolgicas. Este sistema hbrido, pensamos,
En nuestro enfoque, es el COC quien actualiza su ontolo- puede permitir un mejor escalamiento en el tamao del sis-
gia, no el servidor (esto es, el AO). En el lado negativo, tema.
nosotros no hemos tomado en cuenta aun el aspecto de la Hemos usado estndares abiertos conocidos para rep-
evolucion de las ontologias, principalmente porque esto resentar ontologas como DAML+OIL. Adems, combi-
acarrea problemas de mantener la coherencia y detectar namos esos formatos estndar con un formato especfico
cuando se ha perdido esta. de multiagentes ofrecido por la plataforma JADE.
En el proyecto COMMA [18], como en JITIK, se tiene Se reporta un prototipo, el cual implementa los elemen-
una ontologia global que es propagada al conjunto de tos bsicos de nuestra arquitectura, haciendo uso exten-
agentes conocidos. Cada agente recibe una copia completa sivo de Jena Toolkit. Se desarroll una librera (xont) que
de la ontologia, y puede resolver consultas por si mismo. encapsula toda la funcionalidad adicional requerida para
COMMA usa RDF como el lenguaje de codificacion de cargar y consultar ontologas DAML+OIL desde JADE.
ontologias. Incluye un API especializado en el acceso a Los experimentos llevados a cabo demostraron las capaci-
ontologias por los agentes del sistema, y hay un archivista dades bsicas para consultar e inferir, aunque no demues-
de ontologias que administra el acceso. Obviamente este tran cuantitativamente la ventaja de usar un enfoque com-
enfoque se ubica en el extremo centralizado del espectro. binado global y local.
En el sistema FRODO [19] se consideran los roles de Pensamos que un enfoque hbrido introduce la posibil-
proveedor y consumidor de ontologias. En los provee- idad de afinar el compromiso entre acceso central y dis-
dores se concentra la provision de servicios de ontologias, tribuido a la ontologa, bsicamente variando el tamao de
incluyendo su mantenimiento. Los consumidores simple- la ontologa local. En un extremo, una ontologa vaca en el
mente usan las ontologias para ejecutar sus aplicaciones. CCO es equivalente a una solucin centralizada, mientras
En FRODO hay dos niveles de distribucion de ontologias: que una ontologa en el CCO idntica a la del AO equivale
interno a una comunidad de agentes y externo o intersis- a una solucin completamente descentralizada. Cualquier
temas. En JITIK tenemos solamente un nivel de distribu- solucin intermedia es posible en principio.
cion de ontologias, pues aun no hemos considerado la co-
municacion entre agentes de ontologias de dos grupos de 7.2 Trabajo Futuro
agentes distintos, cada uno alrededor de un agente de sitio. En primer lugar vamos a realizar experimentacion cuanti-
En FRODO se definen tres categorias respecto a las capaci- tativa que demuestre fehacientemente las ventajas de nue-
dades de manejo de ontologias: uso de ontologias, evolu- stro enfoque en terminos de eficiencia, con respecto a otros
cion de ontologias y socializacion de ontologias. En el uso metodos, en particular con respecto a un metodo total-
de ontologias se encuentra la formulacion de consultas y su mente global o totalmente local.
solucion. En JITIK consideramos el uso y la socializacion Pretendemos trabajar en un sistema de cach de
de las ontologias, pero no la evolucion. las definiciones usadas ms frecuentemente; el alma-
cenamiento indiscriminado de los resultados de consul-
7 DISCUSIN tas al AO puede hacer crecer el CCO indefinidamente.
Asmismo, definir un mecanismo para mantener la sin-
La arquitectura conceptual ilustrada en la figura 2 usa al- cronizacin entre las ontologas centrales y distribuidas,
macenamiento persistente explcito, as como separacin actualizando las ontologas del AO con adiciones a las on-
entre esquemas e instancias. Esto puede ser preferible tologas cliente.
sobre esquemas ms homogeneos como Jena en el caso
de un nmero de instancias extremadamente grande, pues
podemos aprovechar consultas eficientes a bases de datos, REFERENCES
en vez de mecanismos de inferencia ontolgicos especial- [1] Bellfemine, Fabio; et alt. JADE Administrators
izados. Guide. TILAB S.p.a. 2002. http://sharon.
Nuestro prototipo no usa ninguna forma de almace- cselt.it/projects/jade/
namiento persistente, a pesar de que Jena ha ofrecido re-
cientemente soporte para persistencia. As que, incorporar [2] Ceballos H. Manejo de Ontologas en Sistemas
persistencia es principalmente cuestin de actualizar nues- Multiagentes por medio de un Agente de Ontologas
tra versin de Jena. A pesar de ello pensamos que la persis- aplicado a JITIK master thesis Monterrey Tech
tencia no es esencial para el CCO en el lado del cliente; el June 2003.
[3] H. S. Nwana & D. T. Ndumu, A Perspective on Soft- [19] van Elst, L., Abecker, A. Domain Ontology Agents
ware Agents Research, In: The Knowledge Engineer- in Distributed Organizational Memories, Knowledge
ing Review, Vol 14, No 2, pp 1-18, 1999. Management and Organizational Memories, Rose
Dieng-Kuntz and Nada Matta (eds.), Kluwer Acad-
[4] M. Wooldridge, Introduction to MultiAgent Systems emic Publishers, Julio 2002.
John Wiley and Sons in March 2002.
[20] Maedche, A., Motik B., Stojanovic L., Studer R.,
[5] R. Brena, J.L. Aguirre, A.C. Trevio, Just-in- Volz R. An Infrastructure for Searching, Reusing and
Time Knowledge Flow for Distributed Or- Evolving Distributed Ontologies, WWW2003 pro-
ganizations using agents technology, Knowl- ceedings, ACM, Budapest, Hungria, Mayo 20-24,
edge Technologies 2001 Conference, Austin, 2003.
Texas, 4-7 March 2001, http://www2.gca.
org/knowledgetechnologies/2001/
proceedings/index.asp.
[6] F. Weichhardt, C. Fillies, R. Smith, The Seman-
tic Web is the Database: Decentralised Modeling
with central Coordination, 2002 http://www.
semtalk.com/pub/spain2.htm.
[7] Jaron Collis, Divine Ndumu. The Zeus Agent Build-
ing Toolkit. The Role Modelling Guide. British
Telecommunications plc. 1999
[8] HP Labs. Jena Semantic Web Toolkit - Data
Sheet http://www.hpl.hp.com/semweb/
jena-datasheet.htm.
[9] Alexaki, Sofia; Athanis, Nikos; Vassilis,
Christophides; Karvounarakis, Greg; Maganaraki,
Aimillia; Plexousakis, Dimitris. The ICS-FORTH
RDFSuite: High level scalable Tools for the Seman-
tic Web. Poster Session of the Eleventh International
World Wide Web Conference (WWW02). Honolulu,
Hawaii, USA, May 8, 2002.
[10] Caire, Giovanni.JADE Tutorial. Application-
Defined Content Languages and Ontolo-
gies. TILab S.p.a. Grecia. 2002. http:
//sharon.cselt.it/projects/jade/
[11] Kifer, Michael; Lausen, Georg. F-logic: a higher-
order language for reasoning about objects, inheri-
tance, and scheme. SIGMOD RECORD, Vol: 18, No:
6, June 1990, pp. 134-146 . citeseer.nj.nec.
com/kifer90flogic.html
[12] Conolly, Dan; et alt. DAML+OIL (March 2001)
Reference Description. W3C Note 18 Dec
2001. http://www.w3.org/TR/2001/
NOTE-daml+oil-reference-20011218
[13] Lassila, Ora; R. Swick, Ralph. Resource De-
scription Framework (RDF) Model and Syntax
Definition Specification. W3C Recommendation,
Feb 1999. http://www.w3.org/TR/1999/
REC-rdf-syntax-19990222
[14] Mike Dean, Guus Schreiber, et. alt.OWL Web Ontol-
ogy Language Reference. W3C Working Draft, 31
March 2003. http://www.w3.org/TR/2003/
WD-owl-ref-20030331/
[15] G. Karvounarakis S. Alexaki V. Christophides D.
Plexousakis M. Scholl RQL: A Declarative Query
Language for RDF In The 11th Intl. World Wide
Web Conference (WWW2002) citeseer.nj.
nec.com/556066.html.
[16] Lenat, D., Context dependence of representations
in CYC. Colloque ICO93, Montreal, Canada, May
1993.
[17] Bechhofer, S. Horrocks, I. Goble, C. Stevens, R.,
OilEd: A Reason-able Ontology Editor for the Se-
mantic Web, 24th German / 9th Austrian Conference
on Artificial Intelligence, 2001.
[18] Gandon, F., Agents handling annotation distribution
in a corporate semantic web, Web Intelligence and
Agent Systems. Volume 1, Number 1. 2003. OIS
Press.

Você também pode gostar