Escolar Documentos
Profissional Documentos
Cultura Documentos
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.