1 / 27

Aplicación de MDA a la Ingeniería del Conocimiento

Aplicación de MDA a la Ingeniería del Conocimiento. Joaquín Cañadas (*) , Samuel Túnez Departamento Lenguajes y Computación. Universidad de Almería. España José Palma Departamento Ingeniería de la Información y Comunicaciones. Universidad de Murcia. España (*) speaker.

purity
Download Presentation

Aplicación de MDA a la Ingeniería del Conocimiento

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Aplicación de MDA a la Ingeniería del Conocimiento Joaquín Cañadas (*) , Samuel Túnez Departamento Lenguajes y Computación. Universidad de Almería. España José Palma Departamento Ingeniería de la Información y Comunicaciones. Universidad de Murcia. España (*)speaker DSDM’04: I Taller sobre Desarrollo de Software dirigido por Modelos, MDA y Aplicaciones. Málaga, España. Noviembre 2004

  2. Contenidos • Problema y Motivación • Lenguajes de Modelado Conceptual a nivel de Conocimiento • CML • UPML • MDA aplicado al desarrollo de SBC • Conclusiones y Trabajos Futuros

  3. Ingeniería del Software (IS) Ingeniería del Conocimiento (IC) Sistemas Software Basados en Conocimiento Sistemas Software Problema y Motivación • Ingeniería del Conocimiento (IC): trata de aplicar una disciplina ingenieril al desarrollo de software basado en conocimiento. • Sistemas Basados en Conocimiento (SBC): • Representación explícita del conocimiento • Mecanismos de razonamiento • Comportamiento de alto nivel en la resolución de problemas

  4. Problema y Motivación • Desarrollo de SBC: actividad de modelado que requiere el uso de una metodología • Principales metodologías: CommonKADS, MIKE, PROTÉGÉ-II • Estas metodologías adolecen de una falta de rigor en la especificación de la transición desde el modelado conceptual al diseño del sistema

  5. Modelo de Organización Modelo de Tareas Modelo de Agentes Contexto Concepto Sistema Modelo de Conocimiento Modelo de Comunicación Modelo de Diseño Problema y Motivación • CommonKADS (CK): Metodología de desarrollo de SBC • CK ofrece un conjunto de seis modelos • Modelo de Conocimiento: describe el sistema en el nivel de conocimiento, tal y como lo definió Newell, sin hacer referencia a los aspectos de implementación • Modelo de Diseño: define la arquitectura, plataforma de implement.

  6. Problema y Motivación • Carencias del Modelo de Diseño de CK: • La proyección de elementos del modelo de conocimiento a componentes del modelo de diseño se establece débilmente • Las herramientas de implementación de SBC no incorporan facilidades para el desarrollo en CK • Complejidad del desarrollo de SBC estriba en La plataforma de implementación es una herramienta de desarrollo de SBC, a la que hay que traducir todo el modelo de conocimiento • El diseño e implementación finales dependen de la herramienta de implementación, y no de modelo de diseño.

  7. Problema y Motivación • Necesidad de enriquecer el modelo de diseño de CK aplicando técnicas que faciliten la transformación de los modelos conceptuales a modelos de diseño • Técnicas de Ingeniería del Software (IS) • MDA • Objetivo: aplicar MDA para realizar la transformación de modelos conceptuales a nivel de conocimiento, propios de la IC, a modelos de diseño en UML, propios de IS.

  8. Contenidos • Problema y Motivación • Lenguajes de Modelado Conceptual a nivel de Conocimiento • CML • UPML • MDA aplicado al desarrollo de SBC • Conclusiones y Trabajos Futuros

  9. Lenguajes de Modelado Conceptual a nivel de Conocimiento: CML • CML (Conceptual Modelling Language) • Lenguaje semiformal para la especificación del Modelo de Conocimiento de CK. • Permite la definición de: • Tareas (relación tareas-subtareas) y métodos de resolución • Ontología y conocimiento del dominio • Estructuras de inferencias • CML es una notación textual definida en BNF • Incluye una notación gráfica definida de manera informal

  10. CML. Ejemplo Diagrama de inferencias y descripción CML del método que resuelve la tarea “Proponer Objetivos Terapéuticos” en Administración de Terapia en Agricultura

  11. Lenguajes de Modelado Conceptual a nivel de Conocimiento: UMPL • UPML (Unified Problem-solving Method description Language) • Es un framework para el desarrollo de sistemas intensivos en conocimiento basado en bibliotecas de PSMs. • Lenguaje de especificación formal + Arquitectura software • Tipos de Componentes: • Tareas • PSMs (métodos de resolución de problemas) • Modelos de dominio • Ontologías • Tipos de Adaptadores: • Puentes • Refinadores • UPML es una notación textual definida en DTD / XMLSchema y en UML • Incluye una notación gráfica definida informalmente.

  12. UPML: Ejemplo

  13. UPML: Ejemplo • task complete and parsimonious diagnoses • pragmatics • The task asks for a complete and minimal diagnosis; • Dieter Fensel: Understanding, Developing and Reusing Problem-Solving Methods. 1998 • ontology • diagnoses • specification • roles • input observations; output diagnosis • goal • task(input observations; output diagnosis)  • complete(diagnosis, observations) parsimonious(diagnosis) • preconditions • observations ≠  • assumptions • If we receive input there must be a complete hypothesis. • observations ≠ H complete(H, observations); • Nonreflexivity of <. •  (H < H); • Transitivity of <. • (H < H’ )  (H’< H’’ )  (H < H’’); • Finiteness of H. • Finite(H)

  14. Contenidos • Problema y Motivación • Lenguajes de Modelado Conceptual a nivel de Conocimiento • CML • UPML • MDA aplicado al desarrollo de SBC • Conclusiones y Trabajos Futuros

  15. MDA aplicado al desarrollo de SBC • Objetivo: aplicar MDA para realizar la transformación de modelos conceptuales a nivel de conocimiento, propios de la IC, a modelos de diseño en UML, propios de la IS

  16. MDA aplicado al desarrollo de SBC • 1ª Etapa: Transformación T1 M2 Metamodelos M1 Modelos

  17. MDA aplicado al desarrollo de SBC • 2ª Etapa: Transformación T2

  18. MDA aplicado al desarrollo de SBC • 3ª Etapa: Transformación T3

  19. Transformaciones de modelos • Para definir una transformación: • Conocer los metamodelos origen y destino • Seleccionar el tipo y el lenguaje de definición de la transformación • Seleccionar la herramienta CASE para MDA que permita la automatización • Las transformaciones están basadas en los metamodelos de los lenguajes origen y destino • Los metamodelos origen y destino deben estar expresados en el mismo lenguaje (MOF)

  20. Transformación T1 (PIM-PIM) • Lenguajes Origen: • CML  Gramática abstracta en BNF • UPML  Definido en DTD, XML Schema, UML • Lenguaje Destino: • UML Extendido para IC  metamodelo de UML en MOF • Previo a T1: Transformación T0, obtener los metamodelos en MOF de los lenguajes CML y UPML.

  21. Transformación T1 (PIM-PIM) • Lenguaje destino: UML extendido para IC • Tareas, PSMs, Ontologías, … • La extensión de UML para IC debe ser compatible con UML estándar: • Métodos de extensión de UML: • Profiles • Extensión del Metamodelo de UML Sistemas Híbridos Componentes Basados en Conocimiento UML Extendido para IC (PIM) Componentes No Basados en Conocimiento

  22. Transformación T2 (PIM-PSM) • Origen: UML extendido para IC • Destino: Modelos específicos de plataforma (PSMs) • Entornos de implementación de SBC: ARTEnterprise, G2, JESS, Nexpert, … • Poseen capacidad de integración con plataformas estándares • CORBA: UML profile for CORBA • EJB: UML profile for EJB • ¿Cómo obtener el metamodelo para plataformas de de SBC? • Extendiendo el metamodelo de la plataforma estándar para que permita representar las características particulares de la herramienta de implementación de SBC • Problema: las transformaciones hacia PSM y código están muy limitadas, restringiendo el dominio o mediante mucho trabajo de especificación en los PIM

  23. Marco completo de la propuesta

  24. Contenidos • Problema y Motivación • Lenguajes de Modelado Conceptual a nivel de Conocimiento • CML • UPML • MDA aplicado al desarrollo de SBC • Conclusiones y Trabajos Futuros

  25. Conclusiones y Trabajos Futuros • Propuesta de aplicación de MDA a la IC que permite llenar el hueco que poseen las metodologías de IC en el paso de modelos conceptuales a nivel de conocimiento a modelos de diseño e implementación • Para realizar la transformación de los modelos conceptuales de IC expresados en lenguajes de modelado de conocimiento a modelos conceptuales en UML se utiliza una extensión de UML para IC. Esta extensión de UML para IC es compatible con UML estándar, ideal para sistemas híbridos • Los modelos y transformaciones propuestos constituyen un marco adecuado para facilitar el proceso de desarrollo de SBC • La propuesta presentada es un trabajo en realización y, al igual que el grado de automatización de las transformaciones, debe ser validada con su puesta en práctica.

  26. Conclusiones y Trabajos Futuros • Se plantean diversos problemas a resolver, como es el caso de las transformaciones hacia PSM y código, en las que hay que especificar no sólo modelos estáticos sino también comportamiento • Puntos a profundizar: la posibilidad de razonar sobre las propiedades de las transformaciones y la corrección de las transformaciones • Como trabajo futuro se plantea la adaptación del proceso de desarrollo de la metodología CK para que contemple los modelos y transformaciones especificados mediante MDA.

  27. Gracias por su atención ¿Preguntas? jjcanada@ual.es http://www.ual.es/~jjcanada Grupo de Investigación DKSE: Ingeniería de Datos, del Conocimiento y del Software 27 / 27

More Related