Вы находитесь на странице: 1из 9

Serie Cientfica de la Universidad de las Ciencias Informticas http://publicaciones.uci.cu/index.php/SC | seriecientifica@uci.cu No. 5, Vol.

10, Ao: 2012 ISSN: | RNPS:

Tipo de artculo: Artculo original Temtica: Inteligencia Artificial Recibido: 22/02/2012 | Aceptado: 20/09/2012 | Publicado: 15/10/2012

Metodologa CommonKADS en el desarrollo de sistemas expertos CommonKADS methodology in expert systems development
Jorge Roberto Jova Rodrguez Facultad 2. Universidad de las Ciencias Informticas, Carretera a San Antonio de los Baos, km 2 , Torrens, Boyeros, La Habana, Cuba. CP.: 19370 jrjova@estudiantes.uci.cu

Resumen Los sistemas basados en el conocimiento son sistemas informticos que manejan el conocimiento de cierto dominio y garantizan una respuesta en un tiempo fijo. Estos sistemas reciben este nombre debido a que emulan el razonamiento de un experto en un dominio concreto y en ocasiones son usados por los mismos. Proporcionando mejor calidad y rapidez en las respuestas, permiten un aumento notable en los resultados y la productividad de las personas que los utilizan. CommonKADS es una metodologa aplicable al anlisis y la construccin de Sistemas Basados en Conocimiento, la cual est orientada hacia la realizacin de actividades de modelado, donde se desarrollan un conjunto de modelos que permiten expresar diferentes perspectivas de la situacin que se est analizando. Esta metodologa ofrece teoras, mtodos y tcnicas cientficas para representar el conocimiento y modelar los procesos mentales, as como acercarse a los contenidos de conocimientos de las personas. Con el siguiente trabajo se persigue presentar la importancia del uso de la metodologa CommonKADS en el desarrollo de Sistemas Expertos, debido a su alto grado de refinamiento y posibilidad de permitir a los trabajadores del conocimiento reproducir en sistemas informticos una comprensin de los procesos de razonamiento y de las estructuras mentales. Palabras clave: Conocimiento; commonKADS; metodologa, sistemas basados en conocimiento. Abstract The knowledge-based systems are computer systems that handle certain domain knowledge and guarantee a response within a fixed time. These systems are so named because they emulate the reasoning of an expert in a particular domain and are sometimes used by them. Providing better quality and speed of responses, allowing a significant increase in performance and productivity of people who use them. CommonKADS is a methodology for analyzing and building Knowledge-Based Systems, which is oriented towards modeling activities, where they develop a set of models that can express different perspectives of the situation analyzed. This methodology offers theories, methods and scientific techniques to represent knowledge and model the thought processes and approach to the contents of knowledge of people. In the following paper aims to present the importance of the use of the methodology CommonKADS in the development of expert systems, due to its high degree of sophistication and ability to enable knowledge workers information systems play in understanding of reasoning processes and mental structures. Keywords: CommonKADS, knowledge, knowledge based systems, methodology.

Serie Cientfica de la Universidad de las Ciencias Informticas http://publicaciones.uci.cu/index.php/SC | seriecientifica@uci.cu No. 5, Vol. 10, Ao: 2012 ISSN: | RNPS:

Introduccin
El aumento de las necesidades de las empresas e industrias de contar con sistemas informticos, que permitan manejar sus conocimientos de forma eficaz y en busca de mejoras en sus procesos, han contribuido a la realizacin y perfeccionamiento de tecnologas para el desarrollo de Sistemas Basados en el Conocimiento (SBC). Estos sistemas tratan con complejos problemas en un dominio dado y son utilizados, por ejemplo, en problemas de diagnsticos, mantenimiento, monitorizacin, control de procesos, entre otros, donde la toma de una decisin y el tiempo en que se realiza, es vital para el beneficio y correcto funcionamiento de las entidades que se encuentran en esa situacin. Un SBC contiene una gran cantidad de caractersticas (Giarretano, 1989) como es el fcil acceso al conocimiento en cierto dominio, dominar el conocimiento de una cierta cantidad de personas, permanencia del conocimiento que posee, utilidad esencial en la disminucin de los peligros de los usuarios al utilizarse en ambientes de alto riesgo, entre otras. Ha sido tal la importancia de la puntualidad de la informacin que brinda un sistema basado en el conocimiento, as como el aprovechamiento del conocimiento generado en las entidades y la obtencin de una respuesta rpida y correcta del mismo, que la arquitectura y forma de modelado del conocimiento constituyen un eslabn fundamental para lograr el correcto funcionamiento de estos sistemas, los cuales deben contar con la mayor eficiencia, validez y rapidez posible.

La metodologa CommonKADS, (Schreiber, Akkermans y Anjewierden, 1998) fundamentada en la realizacin de actividades de modelado, constituye una solucin robusta para el modelado y diseo de SBC. En CommonKADS se incluye en un proyecto de conocimiento la construccin de una serie de modelos que reflejan diferentes puntos de vista del conocimiento inmerso en un problema y en su solucin. Cada uno tiene un propsito especfico, unos productos asociados y unas estrategias para su desarrollo.

El modelado del conocimiento, antes de entrar en los detalles de programacin y desarrollo, se centra en su estructura conceptual. En CommonKADS (Schreiber, Akkermans y Anjewierden, 2000) se sigue el principio esbozado por Alan Newell para que el conocimiento pueda ser modelado en un nivel conceptual debe ser independiente de las construcciones informticas especficas y de la implantacin del software. Otro de sus fundamentos se basa en que el conocimiento tiene una estructura interna estable donde aparecen muestras similares, lo que facilita su anlisis, tipo, patrones, roles y estructuras del conocimiento especfico y as se modela como un todo funcional bien estructurado.

Metodologa CommonKADS
El desarrollo de un sistema basado en el conocimiento, desde el punto de vista de CommonKADS, se comprende como la construccin de una serie de modelos de comportamiento de solucin de problemas, vistos en su contexto organizacional y de aplicacin concreto. En CommonKADS se ofrecen un conjunto de formularios que facilitan la construccin del sistema y permiten obtener las especificaciones y los requerimientos de un problema y su solucin.

Ciclo de vida de CommonKADS


Esta metodologa est fundamentada en el modelo del ciclo de vida en espiral el cual proporciona una estructura para el desarrollo del sistema computarizado (Wielinga, Schreiber y Breuker, 1992). Existen un conjunto de fases con un orden de ejecucin predeterminado que constituyen el desarrollo. Dentro de cada fase se lleva a cabo un conjunto de actividades distintas. Al final de cada fase se produce uno o ms productos tangibles, como documentos, informes, diseos, entre otros, que normalmente constituyen entradas a otras fases.

Serie Cientfica de la Universidad de las Ciencias Informticas http://publicaciones.uci.cu/index.php/SC | seriecientifica@uci.cu No. 5, Vol. 10, Ao: 2012 ISSN: | RNPS:

CommonKADS est formada por un conjunto de etapas, cada una con tareas y productos asociados, las cuales son: Anlisis: En esta etapa se comprende el problema desde el punto de vista de la solucin que se piensa desarrollar. Contiene la especificacin de los requerimientos externos del sistema basado en el conocimiento y un anlisis del problema especfico. Algunos productos que se obtienen son: documento del proyecto, documento de requerimientos y documento del modelo. Diseo: Se hace una descripcin fsica donde se plantean detalladamente cada uno de sus componentes y una descripcin conceptual del comportamiento del sistema. De esta etapa debe salir la descripcin del sistema desde el punto de vista computarizado y la especificacin modular del sistema. Implantacin del sistema: En esta etapa se considera la integracin del software realizado como su adaptacin a la organizacin. El uso: Se elaboran actividades en relacin con el manejo del sistema y de los resultados que este proporcione. El mantenimiento y refinamiento del conocimiento.

Los modelos de CommonKADS


Los modelos que incluye la metodologa CommonKADS permiten describir el conocimiento de la solucin de problemas en un dominio especfico usando niveles de abstraccin que le permiten al ingeniero del conocimiento detallar el proceso de solucin en una forma independiente del dominio (De Hoog, Martil y Wielinga, 1994). La idea central de la metodologa es agrupar los datos relevantes en modelos separados.

Figura 1. Modelos de CommonKADS.

Modelo de organizacin
Este modelo refleja el anlisis de las caractersticas principales de una organizacin con el objetivo de descubrir problemas que puedan ser solucionados por sistemas de conocimiento, establecer su viabilidad y evaluar el impacto que tendra en el entorno donde se despliegue. Est formado por una serie de conceptos que reflejan la informacin y el conocimiento de la organizacin, como son los problemas y oportunidades, la tarea, la estructura y organizacin, el problemas actual, entre otros.

Serie Cientfica de la Universidad de las Ciencias Informticas http://publicaciones.uci.cu/index.php/SC | seriecientifica@uci.cu No. 5, Vol. 10, Ao: 2012 ISSN: | RNPS:

Figura 2. Modelo de organizacin.

Modelo de tareas
En CommonKADS una tarea es una parte de un proceso de negocios que representa actividades orientadas a alcanzar un objetivo, la cual es ejecutada por unos agentes que siguen unos criterios de calidad y rendimiento. Esta tarea recibe entradas y provee salidas deseables en una forma estructurada y controlada, consume recursos y requiere conocimientos y otras habilidades.

Figura 3. Modelo de tareas.

Modelo de agentes
Para CommonKADS un agente es quien ejecuta una tarea, el cual puede ser una persona o un sistema de informacin. Incluso el SBC constituye un agente para CommonKADS, lo mismo que el usuario que va a interactuar con l. La idea de agente que maneja esta metodologa es la de actor, la cual no es exactamente la misma que se trabaja en Agentes Inteligentes. La utilidad de este modelo es que sirve como enlace entre el modelo de tareas, el de

Serie Cientfica de la Universidad de las Ciencias Informticas http://publicaciones.uci.cu/index.php/SC | seriecientifica@uci.cu No. 5, Vol. 10, Ao: 2012 ISSN: | RNPS:

comunicacin y el de conocimiento, haciendo posible modelar las capacidades y limitaciones que los agentes tienen y que estn involucradas en la solucin de la tarea.

Modelo de conocimientos
El propsito de este modelo es explicar en detalle los tipos y estructuras del conocimiento usado en la realizacin de una tarea. Para definirlo se ha hecho uso del lenguaje CML2 (CML Conceptual Modeling Language) (Anjewierden, 94). En esta metodologa el conocimiento est diferenciado, dependiendo del tipo de conocimiento que se trate. La importancia de separar el conocimiento del dominio del de control es que da la posibilidad de hacer una reutilizacin, dando la posibilidad de que el conocimiento puede ser utilizado de nuevo para diferentes tareas.

Figura 5. Modelo de conocimientos.

Modelo de comunicacin
Su propsito es especificar los procedimientos de intercambio de informacin para realizar la transferencia de conocimiento entre los agentes que participan en la ejecucin de una tarea, realizados de una forma conceptual e independiente de su implementacin. Su componente clave es la transaccin, que describe los actos de comunicacin entre los diferentes agentes que participan en una tarea en el sistema.

Figura 6. Modelo de comunicacin.

Modelo de diseo
Proporciona la especificacin tcnica del sistema en cuanto a la arquitectura, la plataforma de implementacin, los mdulos de software, los mtodos y mecanismos computables necesarios para implementar las funciones ofrecidas en

Serie Cientfica de la Universidad de las Ciencias Informticas http://publicaciones.uci.cu/index.php/SC | seriecientifica@uci.cu No. 5, Vol. 10, Ao: 2012 ISSN: | RNPS:

los dems modelos. Las entradas a este modelo lo constituye el modelo de conocimientos, tratado como una especificacin de los requerimientos de solucin del problema y las manifestaciones de la interaccin externa y requerimientos no funcionales. Sirve para describir la estructura del sistema y que se necesita para construirlo en funcin de sub-sistemas, mdulos y constructores.

Integracin de los modelos


Los modelos brindados por CommonKADS estn clasificados en 3 niveles que posibilitan la construccin del SBC eficientemente, los mismos son: Nivel de entorno: Relaciona la informacin del entorno del sistema de conocimientos. Implica tener un entendimiento del contexto de la organizacin, de su ambiente y los factores crticos de xitos correspondientes al sistema de conocimientos. En este se encuentran los modelos organizacionales, de tareas y de agentes. Nivel de conceptos: Contiene los modelos que presentan la descripcin conceptual del conocimiento aplicado a una tarea y los datos que son manejados y entregados por un sistema de conocimientos. En este nivel estn los modelos de conocimientos y de comunicacin. Nivel de artefacto o componente: Se emplea para identificar los modelos tcnicos de programacin y construccin. En este nivel se encuentra el modelo de diseo. En el caso que un usuario mantiene una interaccin con el SBC, de tal forma que el usuario proporciona datos al sistema y este ofrece una respuesta, cada uno de estos modelos interactan entre s de forma integrada, brindndole finalmente la respuesta deseada al usuario.

CommonKADS en el desarrollo de sistemas multi-agentes


En los ltimos aos, se ha fomentado la idea de que los programas que componen los sistemas distribuidos fueran inteligentes, lo que llevara a un diseo y mantenimiento de dichos sistemas ms fcil, adaptable y fiable. La tecnologa utilizada para la realizacin de estos programas es conocida como agentes, lo cual se entiendo como programas autnomos e inteligentes, por lo cual, los sistemas distribuidos se conocern como Sistemas Multi-Agente (SMA). La metodologa CommonKADS no tiene en cuenta las necesidades de especificacin de los SMA para su creacin de forma convencional, como la especificacin de planificacin de tareas, intercambio de informacin de lenguajes de comunicacin orientados a agentes, movilidad del cdigo entre otras. Dado este problema, se han planteado nuevas metodologas, las cuales estn basadas en agentes como MASCommonKADS, ZEUS, INGENIAS y GAIA. Estas metodologas inician desde un modelo informal de cmo debe ser un SMA y brindan guas para su construccin.

MAS-CommonKADS Metodologa que extiende CommonKADS (Tansley, 1993) aplicando ideas de metodologas orientadas a objetos para su aplicacin a la produccin de SMA (Iglesias, 1998). MAS-CommonKADS dilata el concepto de CommonKADS de solo tratar a los agentes bsicos usuario y sistema extendiendo los modelos de CommonKADS para tener en cuenta la posibilidad de que dos o ms componentes del sistema interacten. Esta nueva metodologa constituye la primera en plantear el desarrollo de un SMA integrado con un ciclo de vida de software, concretamente el espiral dirigido por riesgos (Pressman, 1982). Propone siete modelos para la definicin del sistema: agente, tareas, experiencia, coordinacin, comunicacin, organizacin y diseo. Cada modelo cuenta con una

Serie Cientfica de la Universidad de las Ciencias Informticas http://publicaciones.uci.cu/index.php/SC | seriecientifica@uci.cu No. 5, Vol. 10, Ao: 2012 ISSN: | RNPS:

descripcin de las dependencias respecto a otros modelos y de las actividades involucradas y los mismos se encuentran descritos en lenguaje natural complementndose con otras notaciones como SDL (del ingls, Specification and Description Language) (ITU, 1999) o MSC (del ingls, Message Sequence Chart) (ITU, 1999) para describir el comportamiento de los agentes cuando interactan. La principal desventaja de esta metodologa lo constituye la incapacidad de realizar el nivel de detalle que se alcanza en la descripcin sin el apoyo de herramientas de soporte.

Otras metodologas para los sistemas multi-agentes


En la actualidad existen diversas metodologas para el desarrollo de SMA, como son GAIA, MaSE, INGENIAS entre otras. Estas metodologas se pueden agrupar en dependencia de las habilidades de los desarrolladores de SMA. Si el usuario cuenta con experiencia en el rea de los objetos, sera recomendable la utilizacin de la metodologa MaSE (del ingls, Multi-agent systems Software Engineering) (DeLoach, 2001), la cual parte del paradigma orientado a objetos y asume que un agente es solo una especializacin de un objeto. En MaSE los agentes son solo una abstraccin conveniente que puede o no poseer inteligencia.

En caso que el usuario se encuentre interesado por un enfoque orientado a agentes puede seleccionar GAIA o INGENIAS. GAIA (Wooldridge, 2000; Zambonelly, 2000) es una metodologa para el diseo de sistemas basados en agentes cuyo objetivo es obtener un sistema que maximice alguna medida de calidad global. GAIA tiene como perspectiva ayudar al analista a ir sistemticamente desde unos requisitos iniciales a un diseo que est suficientemente detallado para ser implementado directamente. En GAIA se entiende por objetivo del anlisis conseguir comprender el sistema y su estructura sin referenciar ningn aspecto de implementacin. En esta metodologa solo se busca especificar como una sociedad de agentes colabora para alcanzar los objetivos de un sistema y que se requiere de cada uno para lograrlo.

Por otra parte, INGENIAS (Gmez, 2002) define un conjunto de meta-modelos con los que hay que describir el sistema. Estos meta-modelos indican que hace falta para describir agentes aislados, organizaciones de agentes, el entorno, interacciones entre agentes y roles, tareas y objetivos. Debido a que el proceso de instanciacin de los metamodelos no es trivial por la existencia de muchas entidades y relaciones a identificar, adems de dependencias entre distintos modelos, INGENIAS define un conjunto de actividades cuya ejecucin termina en un conjunto de modelos. Estas actividades a su vez se organizan siguiendo un paradigma de ingeniera de software, el Proceso Unificado (Jacobson, 1999).

Variante de CommonKADS
El desarrollo de SBC de tiempo real son sistemas informticos que manejan el conocimiento de un dominio especfico y garantizan una respuesta en un tiempo fijo. Para la creacin de este tipo de sistemas, existe una metodologa que propone las actividades a realizarse o las pautas a seguir y se conoce como CommonKADS-RT. CommonKADS-RT permite seguir, en una forma comprensible y sencilla la construccin de un sistema basado en el conocimiento de tiempo real y se fundamenta en el desarrollo evolutivo y la orientacin por los riesgos. En esta metodologa se plantea que un sistema basado en el conocimiento de tiempo real se construye a travs del desarrollo de siete modelos del problema o su solucin. De estos modelos, los primeros cinco forman la fase de anlisis y los restantes constituyen la fase de diseo. CommonKADS-RT est basada en CommonKADS y RT-UML (Real-Time del ingls, Unified Modeling Language) (Douglass, 1999), donde RT-UML es un planteamiento de una ampliacin del lenguaje UML para poder

Serie Cientfica de la Universidad de las Ciencias Informticas http://publicaciones.uci.cu/index.php/SC | seriecientifica@uci.cu No. 5, Vol. 10, Ao: 2012 ISSN: | RNPS:

hacer el modelado de las caractersticas de tiempo real. Entre las caractersticas generales de CommonKADS-RT estn su usabilidad para la implementacin de un SBC de tiempo real, las actividades especficas a realizarse para integrar este tipo de sistemas y las herramientas, conocimientos y utilidades necesarias para realizar estas actividades. De forma general, CommonKADS-RT brinda una serie de formularios asociados a cada uno de los modelos que deben ser configurados, refinados y rellenados durante el desarrollo de un proyecto, los cuales constituyen la idea bsica de la elaboracin de un SBC de tiempo real, siendo el nivel de elaboracin de cada modelo dependiente de cada proyecto.

Resultados y discusin
Con el uso de la metodologa CommonKADS para el modelado y diseo de Sistemas Basados en el Conocimiento se puede establecer un marco de desarrollo estructurado que permita la elaboracin de un producto eficiente. A travs del planteamiento del desarrollo de modelos que reflejan las diferentes vistas del proyecto, algunas de ellas realizadas de forma independiente del dominio, se permite el uso de las mismas en la realizacin de otros sistemas basados en el conocimiento. Ejemplo de ello es el modelo de conocimientos, el cual constituye un modelo genrico independiente del dominio, capaz de usarse en cualquier otro problema a solucionar.

CommonKADS permite involucrar diferentes aspectos administrativos que se deben tomar en cuenta en el desarrollo de un sistema informtico, beneficiando a las organizaciones desarrolladoras en cuanto a la aplicacin de la metodologa, permitindoles elaborar un producto integral y valorable desde el punto de vista de la gestin de proyectos de la empresa. Adems de esto, con el uso de CommonKADS se tienen establecidos las fases, actividades y productos ms importantes para el desarrollo de un Sistema Basado en el Conocimiento. Esta metodologa se considera un estndar para la ingeniera del conocimiento y de los SBC, dado el alto grado de usabilidad y aplicacin en el desarrollo de sistemas basados en el conocimiento. CommonKADS es importante debido a que ofrece un marco para la especificacin del conocimiento independiente de la implementacin, adems de indicar un ciclo de vida donde se reflejan las fases, actividades y los productos ms importantes para el desarrollo de un SBC. No obstante, esta metodologa presenta algunas desventajas. De manera global, cubre todos los aspectos para ejecutar un proyecto de desarrollo de un SBC, pero presenta algunos problemas en cuanto a su aplicacin, entre los que se encuentran: Es una metodologa muy amplia y compleja. No existe una fuente de informacin que contenga todo lo necesario para su aplicacin. Existen ejemplos parciales de su aplicacin, pero no un ejemplo completo a utilizar como gua.

Las ventajas que ofrece esta metodologa superan ampliamente a sus desventajas, por lo que constituye la metodologa ms adecuada a utilizar en el desarrollo de un proyecto de SBC.

Conclusiones
El desarrollo de SBC constituye un avance significativo en las nuevas tecnologas informticas, siendo estos sistemas una herramienta potente para la ayuda de los diferentes usuarios y entidades que le den uso, tanto en el aprendizaje como en la toma de decisiones. CommonKADS constituye una metodologa de las ms usadas para el desarrollo de SBC en el mundo por numerosas universidades, empresas y otras entidades comerciales, adems de constituir el estndar europeo para el desarrollo de este tipo de software, constituye una gua fiable, robusta y estable con la cual se

Serie Cientfica de la Universidad de las Ciencias Informticas http://publicaciones.uci.cu/index.php/SC | seriecientifica@uci.cu No. 5, Vol. 10, Ao: 2012 ISSN: | RNPS:

puede trabajar para la elaboracin de Sistemas Basados en Conocimiento donde prevalezca la calidad, lo cual denota la importancia del uso de esta metodologa.

Referencias
ANJEWIERDEN, A. Engineering and Managing Knowledge. [en lnea]. Support tools for CommonKADS, 1999. [Consultado el: 13 de enero de 2012]. Disponible en: [http://hcs.science.uva.nl/projects/kads22/]. DE HOOG, R.; MARTIL, R.; WIELINGA, B., et al. The CommonKADS Model Set. University of Amsterdam, 1994. p.31. DELOACH, S. Analysis and Design using MaSE and agentTool. Actas de conferencia. Proceedings of the 12th Midwest Artificial Intelligence and Cognitive Science Conferece (MAICS), 2001. DOUGLASS, B. P. Developing Real-Time Systems with UML, Objects, Frameworks, and Patterns. Addison-Wesley, United States of America, 1999. p. 749. GIARRETANO, J. Expert Systems: Principles and Programming. Boston, PWS-Kent Publishing Company, 1989. p. 632. GMEZ-SANZ, J. y FUENTES, R. The INGENIAS Methodology. Fourth Iberoamerican Workshop on MultiAgent Systems Iberagents, 2002. IGLESIAS, C. Definicin de una metodologa para el desarrollo de Sistemas Multi-Agente. Tesis doctoral. Departamento de ingeniera de Sistemas Telemticos, Universidad Politcnica de Madrid. 1998. International Telecommunication Union: ITU-120: Formal Description Techniques (FDT): Message Sequence Chart. Informe.1999. International Telecommunication Union: ITU 100: Formal Description Techniques (FDT)- Specification and Description Language (SDL). Informe. 1999. JACOBSON, I.; RUMBAUGH, J.; BOOCH, G. The Unified Software Development Process. Libro completo. Addison-Wesley. 1999. PRESSMAN, R. S. Software Engineering: A Practitioner's Approach. Libro completo. McGraw-Hill Series in Software Engineering and Technology, 1982. SCHREIBER, A.; AKKERMANS, J.; ANJEWIERDEN, A., et al. CommonKADS, Engineering of Knowledge. The CommonKADS Methodology. The United States of America. The MIT Press, 2000. p. 455. SCHREIBER, A.; AKKERMANS, J.; ANJEWIERDEN, A., et al. CommonKADS, Engineering of Knowledge. The CommonKADS Methodology. Amsterdam, University of Amsterdam, 1998. 285 p. TANSLEY, D. S. W. Y HAYBALL, C. C.: Knowledge Based Systems Analysis and Design a KADS Developer's Handbook. Libro completo. Prentice Hall. 1993. WIELINGA, B.; SCHREIBER, A. y BREUKER, J. KADS: A Modeling Approach to Knowledge Engineering. In Knowledge Acquisition Journal, 1992, 4(1): p. 5-53.

Вам также может понравиться