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

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

description

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. - PowerPoint PPT Presentation

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

Page 1: 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

Page 2: Aplicación de MDA a la  Ingeniería del Conocimiento

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

Page 3: Aplicación de MDA a la  Ingeniería del Conocimiento

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

Page 4: Aplicación de MDA a la  Ingeniería del 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

Page 5: Aplicación de MDA a la  Ingeniería del Conocimiento

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.

Page 6: Aplicación de MDA a la  Ingeniería del Conocimiento

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

Page 7: Aplicación de MDA a la  Ingeniería del Conocimiento

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.

Page 8: Aplicación de MDA a la  Ingeniería del Conocimiento

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

Page 9: Aplicación de MDA a la  Ingeniería del Conocimiento

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

Page 10: Aplicación de MDA a la  Ingeniería del Conocimiento

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

Page 11: Aplicación de MDA a la  Ingeniería del Conocimiento

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.

Page 12: Aplicación de MDA a la  Ingeniería del Conocimiento

12

UPML: Ejemplo

Page 13: Aplicación de MDA a la  Ingeniería del Conocimiento

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)

Page 14: Aplicación de MDA a la  Ingeniería del Conocimiento

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

Page 15: Aplicación de MDA a la  Ingeniería del Conocimiento

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

Page 16: Aplicación de MDA a la  Ingeniería del Conocimiento

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

Page 17: Aplicación de MDA a la  Ingeniería del Conocimiento

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

Page 18: Aplicación de MDA a la  Ingeniería del Conocimiento

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

Page 19: Aplicación de MDA a la  Ingeniería del Conocimiento

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)

Page 20: Aplicación de MDA a la  Ingeniería del Conocimiento

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

Page 21: Aplicación de MDA a la  Ingeniería del Conocimiento

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

Page 22: Aplicación de MDA a la  Ingeniería del 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

Page 23: Aplicación de MDA a la  Ingeniería del Conocimiento

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

Page 24: Aplicación de MDA a la  Ingeniería del Conocimiento

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

Page 25: Aplicación de MDA a la  Ingeniería del Conocimiento

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.

Page 26: Aplicación de MDA a la  Ingeniería del Conocimiento

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.

Page 27: Aplicación de MDA a la  Ingeniería del Conocimiento

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