Aplicación de MDA a la Ingeniería del Conocimiento
description
Transcript of 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únezJoaquín Cañadas (*) , Samuel TúnezDepartamento Lenguajes y Computación. Universidad de Almería. EspañaDepartamento Lenguajes y Computación. Universidad de Almería. España
José PalmaJosé PalmaDepartamento Ingeniería de la Información y Comunicaciones. Departamento Ingeniería de la Información y Comunicaciones.
Universidad de Murcia. EspañaUniversidad de Murcia. España(*)(*) speakerspeaker
DSDM’04DSDM’04: I Taller sobre Desarrollo de Software dirigido por Modelos, MDA y Aplicaciones.: I Taller sobre Desarrollo de Software dirigido por Modelos, MDA y Aplicaciones.Málaga, España. Noviembre 2004Má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
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
Ingeniería del Software (IS)
Sistemas Software
Ingeniería del Conocimiento (IC)
Sistemas Software Basados en Conocimiento
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
Problema y Motivación CommonKADS (CK): Metodología de desarrollo de SBC CK ofrece un conjunto de seis modelos
Modelo de Agentes
Modelo de Organización
Modelo de Tareas
Modelo de Conocimient
o
Modelo de Comunicación
Modelo de Diseño
Contexto
Concepto
Sistema
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
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.
Problema y Motivación
Niveles de Modelado Taxonomía de Newell
Modelos Conceptuales Nivel de Conocimiento
Modelos de Diseño Nivel Simbólico
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
THRESHO LD
C O M PARE
o b ta in
SELEC T
C ASE
SELEC T
PARAM ETERS
VALUE
O BSERVATIO N M O DEL THRESHO LDS
PARAM ETER
SELEC T
DIFFERENC E
THERAPEUTICO BJ EC TIVES
TASK-M ETHO D m odel-driven-m onitoring R EALIZES: propose-therapeutic-objectives C O NTRO L STR UCTU RE: se lect (case -> param eters); FO R EAC H param eter IN param eters se lect (param eter -> threshold) obta in(param eter-> value); com pare (thereshold + va lue -> d iscrepancy); IF d iscrepancy == true THEN select-instance(case + d iscrepancy -> e lem ental-problem ) therapeutic-objectives := therapeutic-objectives AD D elem ental problem ; END IF END FO R EAC HEN D TASK-M ETHO D m odel-driven-m onitoring
SELEC TINSTANC E
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: Ejemplotask 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
Especificación Transform ación T2
PIM -PSM
M etam odelo específico de p la taform a:
EJB , C O R BA, SBC Tool, ...
D efin ic ión Transform ación T3
PSM-Code
M odelo de d iseño (PSM )
P lata form a de im plem entación
SBC
C ódigo
Especificación Transform ación T1
PIM -PIM
Lenguaje de m odelado
U M L extendido
para IC
M odelo C onceptua l o
M odelo de Anális is de l SBC (P IM )
Lenguajes de m odelado
conceptua l:C M L
U PM L
M odelo conceptua l sobre un dom in io
: (P IM ) - D iagnóstico m édico - D iseño - ...
R esultado de la IC R esultado de la IS
Lenguajeusado
Lenguajeusado
Lenguajeusado
Lenguajeusado
Lenguajeusado
16
MDA aplicado al desarrollo de SBC
E specificación Transform ación T2
PIM -PSM
M etam odelo específico de p la taform a:
E JB , C O R B A , S B C Tool, ...
D efin ic ión Transform ación T3
PSM -Code
M odelo de d iseño (P S M )
P lata form a de im plem entación
S B C
C ódigo
E specificación Transform ación T1
PIM -PIM
Lenguaje de m odelado
U M L extendido
para IC
M odelo C onceptua l o
M odelo de A ná lis is de l S B C (P IM )
Lenguajes de m odelado
conceptua l:C M L
U P M L
M odelo conceptua l sobre un dom in io
: (P IM ) - D iagnóstico m édico - D iseño - ...
R esultado de la IC R esu ltado de la IS
Lenguajeusado
Lenguajeusado
Lenguajeusado
Lenguajeusado
Lenguajeusado
Especificación Transform ación T2
PIM-PSM
M etam odelo específico de p la taform a:
EJB , C O R BA, SBC Tool, ...
D efin ic ión Transform ación T3
PSM-Code
M odelo de d iseño (PSM )
P lataform a de im plem entación
SBC
C ódigo
Especificación Transform ación T1
PIM-PIM
Lenguaje de m odelado
U M L extendido
para IC
M odelo C onceptual o
M odelo de Anális is del SBC (P IM )
Lenguajes de m odelado
conceptual:C M L
U PM L
M odelo conceptual sobre un dom in io
: (P IM ) - D iagnóstico m édico - D iseño - ...
R esultado de la IC R esultado de la IS
Lenguajeusado
Lenguajeusado
Lenguajeusado
Lenguajeusado
Lenguajeusado
1ª Etapa: Transformación T1
M2
Metamodelos
M1
Modelos
17
MDA aplicado al desarrollo de SBC
E specificación Transform ación T2
PIM -PSM
M etam odelo específico de p la taform a:
E JB , C O R B A , S B C Tool, ...
D efin ic ión Transform ación T3
PSM -Code
M odelo de d iseño (P S M )
P lata form a de im plem entación
S B C
C ódigo
E specificación Transform ación T1
PIM -PIM
Lenguaje de m odelado
U M L extendido
para IC
M odelo C onceptua l o
M odelo de A ná lis is de l S B C (P IM )
Lenguajes de m odelado
conceptua l:C M L
U P M L
M odelo conceptua l sobre un dom in io
: (P IM ) - D iagnóstico m édico - D iseño - ...
R esultado de la IC R esu ltado de la IS
Lenguajeusado
Lenguajeusado
Lenguajeusado
Lenguajeusado
Lenguajeusado
2ª Etapa: Transformación T2
Especificación Transform ación T2
PIM-PSM
M etam odelo específico de p la taform a:
EJB , C O R BA, SBC Tool, ...
D efin ic ión Transform ación T3
PSM-Code
M odelo de d iseño (PSM )
P lataform a de im plem entación
SBC
C ódigo
Especificación Transform ación T1
PIM-PIM
Lenguaje de m odelado
U M L extendido
para IC
M odelo C onceptual o
M odelo de Anális is del SBC (P IM )
Lenguajes de m odelado
conceptual:C M L
U PM L
M odelo conceptual sobre un dom in io
: (P IM ) - D iagnóstico m édico - D iseño - ...
R esultado de la IC R esultado de la IS
Lenguajeusado
Lenguajeusado
Lenguajeusado
Lenguajeusado
Lenguajeusado
18
MDA aplicado al desarrollo de SBC
E specificación Transform ación T2
PIM -PSM
M etam odelo específico de p la taform a:
E JB , C O R B A , S B C Tool, ...
D efin ic ión Transform ación T3
PSM -Code
M odelo de d iseño (P S M )
P lata form a de im plem entación
S B C
C ódigo
E specificación Transform ación T1
PIM -PIM
Lenguaje de m odelado
U M L extendido
para IC
M odelo C onceptua l o
M odelo de A ná lis is de l S B C (P IM )
Lenguajes de m odelado
conceptua l:C M L
U P M L
M odelo conceptua l sobre un dom in io
: (P IM ) - D iagnóstico m édico - D iseño - ...
R esultado de la IC R esu ltado de la IS
Lenguajeusado
Lenguajeusado
Lenguajeusado
Lenguajeusado
Lenguajeusado
Especificación Transform ación T2
PIM-PSM
M etam odelo específico de p la taform a:
EJB , C O R BA, SBC Tool, ...
D efin ic ión Transform ación T3
PSM-Code
M odelo de d iseño (PSM )
P lataform a de im plem entación
SBC
C ódigo
Especificación Transform ación T1
PIM-PIM
Lenguaje de m odelado
U M L extendido
para IC
M odelo C onceptual o
M odelo de Anális is del SBC (P IM )
Lenguajes de m odelado
conceptual:C M L
U PM L
M odelo conceptual sobre un dom in io
: (P IM ) - D iagnóstico m édico - D iseño - ...
R esultado de la IC R esultado de la IS
Lenguajeusado
Lenguajeusado
Lenguajeusado
Lenguajeusado
Lenguajeusado
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.
M 3
(m eta- m etam odelos)
M 2 (m etam odelos)
M 1 (m odelos)
BN F D TD XM L Schem a U M L T0 MOF
N o M D A M D A
Especificación
U PM L
M etam odeloC M L
M etam odeloU PM L
M odelo C M L
EspecificacionC M L
M odelo U PM L
M odelo U PM L
M odelo C M L
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
Componentes Basados en Conocimiento
UML Extendido para IC (PIM)
Componentes No Basados en Conocimiento
Sistemas Híbridos
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
G ram ática de C M L / U PM L
PIM C M L / U PM L
T0
M etam odelo en M O F de
C M L / U PM L T1
M etam odelo U M L extendido
para IC T2
PIM U M L extendido
M etam odelo específico de
p la ta form a T3
PSM
P lata form a de im plem entación
C ódigo
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?
[email protected]://www.ual.es/~jjcanada
Grupo de Investigación DKSE: Ingeniería de Datos, del Conocimiento y del Software
27 / 27