especificaci n y verificaci n de transformaciones de modelos n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Especificación y Verificaci ón de Transformaciones de Modelos PowerPoint Presentation
Download Presentation
Especificación y Verificaci ón de Transformaciones de Modelos

Loading in 2 Seconds...

play fullscreen
1 / 38

Especificación y Verificaci ón de Transformaciones de Modelos - PowerPoint PPT Presentation


  • 117 Views
  • Uploaded on

Especificación y Verificaci ón de Transformaciones de Modelos. Horacio López Fernando Varesi Marcelo Viñolo. Introducción – Enfoques – Verificaci ón – Caso de Estudio – Conclusiones. Situación. Especificación E1. Especificación E2. Implementación I1. Implementación I2.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Especificación y Verificaci ón de Transformaciones de Modelos' - zephania-estrada


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
especificaci n y verificaci n de transformaciones de modelos

Especificación y Verificación de Transformacionesde Modelos

HoracioLópez

Fernando Varesi

Marcelo Viñolo

situaci n

Introducción – Enfoques – Verificación – Caso de Estudio – Conclusiones

Situación

Especificación E1

Especificación E2

Implementación I1

Implementación I2

desarrollo guiado por modelos model driven development mdd

Introducción – Enfoques – Verificación – Caso de Estudio – Conclusiones

DesarrolloGuiadoporModelos(ModelDrivenDevelopment, MDD)
  • Enfoque de ingeniería de software basado en el

modelado de un sistema como la principal

actividad del desarrollo y la construcción del

mismo guiada por transformaciones de dichos

modelos.

transformaci n de modelos

Introducción – Enfoques – Verificación – Caso de Estudio – Conclusiones

Transformación de modelos

refiere

Definición de Transformación

refiere

Metamodelo Origen

MetamodeloDestino

conforma

ejecuta

conforma

Motor de Transformaciones

lee

escribe

Modelo Origen

Modelo Destino

aplicaciones de transformaciones

Introducción – Enfoques – Verificación – Caso de Estudio – Conclusiones

Aplicaciones de transformaciones
  • Generar modelos de bajo nivel (eventualmente código) a partir de modelos de alto nivel
  • Ingeniería inversa de modelos de alto nivel a partir de modelos de bajo nivel o código.
  • Mapeo y sincronización entre modelos.
  • Crear vistas de un sistema basadas en una consulta
  • Evolucionar modelos (ej: refactoring)
descripci n del proyecto

Introducción – Enfoques – Verificación – Caso de Estudio – Conclusiones

Descripción del proyecto
  • Objetivos:
    • Realizar un estudio del estado del arte sobre:
      • lenguajes y herramientas existentes para la especificación de transformaciones de modelos
      • verificación de estas transformaciones
    • Aplicación de lo relevado a nivel práctico a un caso de estudio.
descripci n del proyecto1

Introducción – Enfoques – Verificación – Caso de Estudio – Conclusiones

Descripción del proyecto
  • Resultadosesperados:
    • Estudio del marco teórico de MDD y de la transformación de modelos.
    • 1er. reporte técnico: lenguajes y mecanismos para especificar transformaciones de modelos.
    • 2do. reporte técnico: técnicas y herramientas de validación y verificación de modelos y de transformaciones.
    • Aplicación práctica de los resultados mediante un caso de estudio.
lenguajes y herramientas

Introducción– Enfoques– Verificación – Caso de Estudio – Conclusiones

Lenguajes y Herramientas
  • Relevamiento de trabajosactualessobreespecificación de transformaciones
  • Caracterización:
    • Generales
    • Metamodelos
    • Reglas de transformación
caracterizaci n de los enfoques de transformaci n

Introducción– Enfoques– Verificación – Caso de Estudio – Conclusiones

Caracterización de los enfoques de transformación
  • Modelo-Modelo y Modelo-Texto
  • Característicasgenerales
    • Múltiplesmodelosorigen/destino?
    • Transformación “in-place”?
    • Incrementabilidad
    • Multidireccionalidad?
    • Mecanismos de trazabilidad?
caracterizaci n de los enfoques de transformaci n1

Introducción– Enfoques– Verificación – Caso de Estudio – Conclusiones

Caracterización de los enfoques de transformación
  • Características de los metamodelos
    • Transformaciónendógena o exógena
    • Transformación horizontal o vertical
caracterizaci n de los enfoques de transformaci n2

Introducción– Enfoques– Verificación – Caso de Estudio – Conclusiones

Caracterización de los enfoques de transformación
  • Características de lasreglas de transformación
    • Precondiciones de aplicación (guardas)
    • Parametrización y re-uso de reglas
    • Detección y órden de aplicación

Éstas y otrascaracterísticasfuerondocumentadas

en el primer reportetécnico.

enfoques de transformaci n

Introducción– Enfoques– Verificación – Caso de Estudio – Conclusiones

Enfoques de transformación
  • Manipulacióndirecta
  • Operacional
  • Relacionales
  • Basados en transformaciones de grafos
  • Híbridos
enfoques de transformaci n1

Introducción– Enfoques– Verificación – Caso de Estudio – Conclusiones

Enfoques de Transformación
  • Manipulación directa
    • Lenguaje de propósito general
    • Representación de modelos adecuada al lenguaje.
    • Ausencia de mecanismos dedicados a transformaciones.
    • Ejemplo: SiTra
  • Operacional
    • Similar a programación imperativa.
    • Incorpora mecanismos de trazabilidad, etc.
    • Orden de ejecución explícito.
    • Ejemplos: Kermeta, QVT-Operational
enfoques de transformaci n2

Introducción– Enfoques– Verificación – Caso de Estudio – Conclusiones

Enfoques de Transformación
  • Relacionales
    • El concepto principal son relaciones matemáticas entre modelo origen y destino.
    • Alto nivel de abstracción (mayor legibilidad)
    • En general, no admite actualizaciones in-place.
    • Creación de elementos es implícita.
    • Orden de ejecución no es explícito.
      • pero se puede condicionar mediante precondiciones
    • Ejemplos: Tefkat, QVT-Relations
enfoques de transformaci n3

Introducción– Enfoques– Verificación – Caso de Estudio – Conclusiones

Enfoques de Transformación
  • Basados en Transformaciones de Grafos
    • Se utilizan grafos tipados, con atributos y etiquetas.
    • Reglas se componen de un lado izquierdo y derecho.
    • Propiedades matemáticas basadas en la teoría subyacente (ej: alcanzabilidad de un nodo).
    • Ejemplos: AGG, AToM3, Viatra, MOLA
enfoques de transformaci n4

Introducción– Enfoques– Verificación – Caso de Estudio – Conclusiones

Enfoques de Transformación
  • Híbridos
    • Combina enfoques anteriores para sumar ventajas.
    • QVT
      • Estándar definido por OMG.
      • Emplea OCL y MOF.
      • Transformaciones modelo-modelo
    • ATL
      • Sigue lineamientos de QVT RFP
      • Transformaciones unidireccionales
      • Modelo origen es read-only
      • Modelo destino es write-only
verificaci n de transformaciones

Introducción– Enfoques– Verificación– Caso de Estudio – Conclusiones

Verificación de transformaciones
  • Relevamiento de trabajos actuales sobre verificación
    • Categorización
    • Análisis de características, fortalezas y debilidades
  • Categorías
    • Casos de prueba
    • Model-checking
    • Métodos deductivos
casos de prueba

Introducción– Enfoques– Verificación– Caso de Estudio – Conclusiones

Casos de prueba
  • Verificacióndinámica a nivel de modelos
  • Se trabajasobre un conjuntorepresentativo del dominio.
  • Pasos:
    • Generación
      • Complejidad de exploración del espacio de modelos
    • Validación
    • Ejecución
      • Cómogenerar el resultadoesperado?
      • Cómocompararresultados?
model checking

Introducción– Enfoques– Verificación– Caso de Estudio – Conclusiones

Model-Checking
  • Verificacióndinámica (modelos) o estática (transf.)
  • Pruebaautómatica de propiedadessobremodelos y/o transformaciones
  • Ambos deben ser expresadoscomografos
  • Fortalezas:
    • Facilidad de uso
    • No requiereasistencia del usuario
  • Debilidades:
    • Lenguaje restringido para asegurar automaticidad
    • Complejidad crece exponencialmente con el tamaño del modelo.
m todos deductivos

Introducción– Enfoques– Verificación– Caso de Estudio – Conclusiones

Métodos Deductivos
  • Verificación estática a nivel de metamodelos
  • Centrado en la realización de pruebas formales
  • Especificaciones formales de los metamodelos y transf.
  • Fortalezas:
    • Brinda certeza absoluta
    • Lenguajeexpresivo de propiedades
    • Generación de implementaciones de transformación correctas
  • Debilidades:
    • Verificación manual o semi-automática.
    • Requiere experiencia en lenguajes formales y/o herramientas matemáticas
caso de estudio1
Caso de estudio
  • Aplicación de conocimientossobretransformaciones
  • Enmarcado en unatécnica de verificaciónqueutilizamétodosdeductivos.
  • A continuación…
    • Técnica de verificación
    • Transformacióndesarrollada
    • Diseñoprototipo
t cnica de verificaci n

Introducción– Enfoques– Verificación – Caso de Estudio– Conclusiones

Técnica de Verificación

Especificación formal de metamodelos en Coq

Elaboración de prueba formal

Traducción de reglas de transf. a fórmulaslógicas

transformaci n del prototipo

Introducción– Enfoques– Verificación – Caso de Estudio– Conclusiones

Transformación del prototipo

refiere

Definición de Transformación

refiere

Metametamodelo KM3

Metametamodelo Coq

conforma

ejecuta

conforma

Motor de Transformaciones

lee

escribe

Metamodelo origen en KM3

Metamodelo destino en Coq

km3 coq

Introducción– Enfoques– Verificación – Caso de Estudio– Conclusiones

KM3 – Coq
  • KM3
    • Lenguaje de metamodelado textual
    • Sintaxis similar a Java
    • Popular en comunidad de usuarios de ATL
  • Coq
    • Asistente de pruebas que permite :
      • Expresar modelos matemáticos complejos
      • Expresarpropiedadessobre los modelos
      • Verificar propiedades
modelo origen

Introducción– Enfoques– Verificación – Caso de Estudio– Conclusiones

Modeloorigen

Metamodelo UML en UML

Metamodelo UML en KM3

package UML {

abstractclassClassifier { attributename : String;

}

classClassextendsClassifier {

reference pack : Package

}

}

transformaci n atl

Introducción– Enfoques– Verificación – Caso de Estudio– Conclusiones

Transformación ATL
  • Especificaciónpuramentedeclarativa (relacional).
  • Relaciones:
    • Clase => TipoInductivo (TI)
    • Atributo/Referencia => Componente del TI
    • Identidad de objetos => Componenteoid
    • Herencia => Componente del TI
transformaci n atl1

Introducción– Enfoques– Verificación – Caso de Estudio– Conclusiones

Transformación ATL

rule AbstractClass2InductiveType {

from

i: KM3!Class (i.isAbstract)

to

o: COQ!InductiveType (

isAbstract <- i.isAbstract,

name <- i.name,

hasComponents <- i.structuralFeatures,

subTypes <- i.subclasses,

superTypes <- i.supertypes

)

}

transformaci n xtext

Introducción– Enfoques– Verificación – Caso de Estudio– Conclusiones

TransformaciónXtext
  • Basado en templates (Xpand)
  • Traducción a sintaxis Coq.
  • Genera funcionesauxiliarespara la construcción de pruebasformales:
    • Proyecciones
    • Comparación de objetos
    • Casting
    • Chequeo de tipos
resultado

Introducción– Enfoques– Verificación – Caso de Estudio– Conclusiones

Resultado

Modelo Origen

ModeloDestino

package UML {

abstractclassClassifier { attributename : String;

}

classClassextendsClassifier {

reference pack : Package

}

}

InductiveClassifier : Set :=

| Build_Classifier (name : string) (subClass : option Class)

with

Class : Set :=

| Build_Class (oid : nat) (pack : Package)

conclusiones1

Introducción– Enfoques– Verificación – Caso de Estudio – Conclusiones

Conclusiones…
  • Existeunagrandiversidad de técnicas, herramientas y lenguajes de transformación de modelos.
  • El enfoque a utilizar depende de la naturaleza del problema y no existe uno que contemple todas las necesidades posibles.
  • El primer reporte técnico presenta una taxonomía que permite clasificar los enfoques y seleccionar el más adecuado para un problema particular.
  • Entornos y herramientas “inmaduros” y en permanenteperfeccionamiento.
conclusiones2

Introducción– Enfoques– Verificación – Caso de Estudio – Conclusiones

Conclusiones…
  • Las técnicas de verificacióndifieren en el grado de certezaquebrindan.
  • Trabajan en diferentesniveles de abstracción
  • El segundo reporte técnico presenta una clasificación y descripción de técnicas de verificación.
  • Las herramientasqueasisten la verificación en gral. no se encuentranintegradas a las de desarrollo.
conclusiones3

Introducción– Enfoques– Verificación – Caso de Estudio – Conclusiones

Conclusiones
  • Se implementó un prototipopara semi-automatizarunatécnica de verificaciónbasada en métodosdeductivos.