Knowledge model of a therapy administration task. Applied

Download Report

Transcript Knowledge model of a therapy administration task. Applied

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
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

2
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
3
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
4
Problema y Motivación


CommonKADS (CK): Metodología de desarrollo de SBC
CK ofrece un conjunto de seis modelos
Contexto
Concepto
Sistema


Modelo de
Organización
Modelo de
Tareas
Modelo de
Conocimiento
Modelo de
Agentes
Modelo de
Comunicación
Modelo de
Diseño
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.
5
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.
Niveles de Modelado
Taxonomía de Newell
Modelos Conceptuales
Nivel de Conocimiento
Modelos de Diseño
Nivel Simbólico
6
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.
7
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

8
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
9
CML. Ejemplo
OBSERVATION MODEL
SELECT
THRESHOLDS
PARAMETERS
SELECT
CASE
PARAMETER
THERAPEUTIC
OBJECTIVES
SELECT
obtain
THRESHOLD
VALUE
COMPARE
SELECT
INSTANCE
DIFFERENCE
Diagrama de inferencias
y
TASK-METHOD model-driven-monitoring
REALIZES: propose-therapeutic-objectives
CONTROL STRUCTURE:
select (case -> parameters);
FOR EACH parameter IN parameters
select (parameter -> threshold)
obtain(parameter-> value);
compare (thereshold + value -> discrepancy);
IF discrepancy == true
THEN select-instance(case + discrepancy -> elemental-problem)
therapeutic-objectives := therapeutic-objectives
ADD elemental problem;
END IF
END FOR EACH
END TASK-METHOD model-driven-monitoring
descripción CML
del método que resuelve la tarea “Proponer Objetivos Terapéuticos”
en Administración de Terapia en Agricultura
10
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:





Tipos de Adaptadores:




Tareas
PSMs (métodos de resolución de problemas)
Modelos de dominio
Ontologías
Puentes
Refinadores
UPML es una notación textual definida en DTD / XMLSchema y en
UML
Incluye una notación gráfica definida informalmente.
11
UPML: Ejemplo
12
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)
13
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

14
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
Resultado de la IC
Lenguajes de
modelado
conceptual:
CML
UPML
Lenguaje
usado
Modelo conceptual
sobre un dominio
(PIM):
- Diagnóstico médico
- Diseño
- ...
Resultado de la IS
Especificación
Transformación T1
PIM-PIM
Lenguaje de
modelado
UML
extendido
para IC
Lenguaje
usado
Modelo
Conceptual o
Modelo de
Análisis del
SBC (PIM)
Especificación
Transformación T2
PIM-PSM
Metamodelo
específico de
plataforma:
EJB, CORBA,
SBC Tool, ...
Lenguaje
usado
Modelo de
diseño
(PSM)
Definición
Transformación T3
PSM-Code
Plataforma de
implementación
SBC
Lenguaje
usado
Código
15
MDA aplicado al desarrollo de SBC
Resultado de la IC

1ª Etapa:
Transformación T1
Lenguajes de
modelado
conceptual:
CML
UPML
Resultado de la IS
Especificación
Transformación T1
PIM-PIM
Lenguaje
usado
Modelo conceptual
sobre un dominio
(PIM):
- Diagnóstico médico
- Diseño
- ...
Resultado de la IC
M2
Metamodelos
Lenguajes de
modelado
conceptual:
CML
UPML
Lenguaje
usado
M1
Modelos
Modelo conceptual
sobre un dominio
(PIM):
- Diagnóstico médico
- Diseño
- ...
Lenguaje de
modelado
UML
extendido
para IC
Lenguaje
usado
Modelo
Conceptual o
Modelo de
Análisis del
SBC (PIM)
Especificación
Transformación T2
PIM-PSM
Metamodelo
específico de
plataforma:
EJB, CORBA,
SBC Tool, ...
Definición
Transformación T3
PSM-Code
Lenguaje
usado
Plataforma de
implementación
SBC
Lenguaje
usado
Modelo de
diseño
(PSM)
Código
Resultado de la IS
Especificación
Transformación T1
PIM-PIM
Lenguaje de
modelado
UML
extendido
para IC
Lenguaje
usado
Modelo
Conceptual o
Modelo de
Análisis del
SBC (PIM)
Especificación
Transformación T2
PIM-PSM
Metamodelo
específico de
plataforma:
EJB, CORBA,
SBC Tool, ...
Lenguaje
usado
Modelo de
diseño
(PSM)
16
Tra
MDA aplicado al desarrollo de SBC
Resultado de la IC

2ª Etapa:
Transformación T2
Especificación
Transformación T1
PIM-PIM
Lenguajes de
modelado
conceptual:
CML
UPML
Resultado de la IS
Especificación
Transformación T1
PIM-PIM
Lenguaje
usado
Modelo conceptual
sobre un dominio
(PIM):
- Diagnóstico médico
- Diseño
- ...
Lenguaje de
modelado
UML
extendido
para IC
Lenguaje
usado
Modelo
Conceptual o
Modelo de
Análisis del
SBC (PIM)
Especificación
Transformación T2
PIM-PSM
Metamodelo
específico de
plataforma:
EJB, CORBA,
SBC Tool, ...
Plataforma de
implementación
SBC
Definición
Transformación T3
PSM-Code
Lenguaje
usado
Lenguaje
usado
Modelo de
diseño
(PSM)
Código
Resultado de la IS
Lenguaje de
modelado
UML
extendido
para IC
Lenguaje
usado
Modelo
Conceptual o
Modelo de
Análisis del
SBC (PIM)
Especificación
Transformación T2
PIM-PSM
Metamodelo
específico de
plataforma:
EJB, CORBA,
SBC Tool, ...
Lenguaje
usado
Modelo de
diseño
(PSM)
Definición
Transformación T3
PSM-Code
Plataforma de
implementación
SBC
Lenguaje
usado
Código
17
MDA aplicado al desarrollo de SBC
Resultado de la IC

3ª Etapa:
Transformación T3
Especificación
Transformación T1
PIM-PIM
Lenguajes de
modelado
conceptual:
CML
UPML
Resultado de la IS
Especificación
Transformación T1
PIM-PIM
Lenguaje
usado
Modelo conceptual
sobre un dominio
(PIM):
- Diagnóstico médico
- Diseño
- ...
Lenguaje de
modelado
UML
extendido
para IC
Lenguaje
usado
Modelo
Conceptual o
Modelo de
Análisis del
SBC (PIM)
Especificación
Transformación T2
PIM-PSM
Metamodelo
específico de
plataforma:
EJB, CORBA,
SBC Tool, ...
Plataforma de
implementación
SBC
Definición
Transformación T3
PSM-Code
Lenguaje
usado
Lenguaje
usado
Modelo de
diseño
(PSM)
Código
Resultado de la IS
Lenguaje de
modelado
UML
extendido
para IC
Lenguaje
usado
Modelo
Conceptual o
Modelo de
Análisis del
SBC (PIM)
Especificación
Transformación T2
PIM-PSM
Metamodelo
específico de
plataforma:
EJB, CORBA,
SBC Tool, ...
Lenguaje
usado
Modelo de
diseño
(PSM)
Definición
Transformación T3
PSM-Code
Plataforma de
implementación
SBC
Lenguaje
usado
Código
18
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)
19
Transformación T1 (PIM-PIM)

Lenguajes Origen:



Lenguaje Destino:


CML  Gramática abstracta en BNF
UPML  Definido en DTD, XML Schema, UML
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.
MDA
No MDA
M3
(metametamodelos)
BNF
M2
Especificacion
(metamodelos)
CML
M1
(modelos)
Modelo
CML
DTD
XML Schema
UML
Especificación
UPML
Modelo
UPML
MOF
T0
Metamodelo Metamodelo
CML
UPML
Modelo
CML
Modelo
UPML
20
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:
Sistemas Híbridos
Componentes Basados
en Conocimiento
UML Extendido para IC (PIM)
Componentes No Basados
en Conocimiento

Métodos de extensión de UML:


Profiles
Extensión del Metamodelo de UML
21
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



¿Cómo obtener el metamodelo para plataformas de de SBC?


CORBA: UML profile for CORBA
EJB: UML profile for EJB
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
22
Marco completo de la propuesta
Gramática de
CML / UPML
T0
PIM
CML / UPML
Metamodelo
en MOF de
CML / UPML
T1
Metamodelo
UML extendido
para IC
PIM
UML extendido
T2
Metamodelo
específico de
plataforma
PSM
T3
Plataforma de
implementación
Código
23
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

24
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.
25
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.
26
Gracias por su atención
¿Preguntas?
[email protected]
http://www.ual.es/~jjcanada
Grupo de Investigación DKSE: Ingeniería de Datos, del Conocimiento y del Software
27 / 27
27