1 / 75

Presentación: “Loosely Coupled Traceability for ATL” Frederic Jouault 2005

Presentación: “Loosely Coupled Traceability for ATL” Frederic Jouault 2005. SEMINARIO DE ACTUALIZACION TECNOLOGICA. Profesoras: Roxana Giandini y Claudia Pons.

todd
Download Presentation

Presentación: “Loosely Coupled Traceability for ATL” Frederic Jouault 2005

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. Presentación:“Loosely Coupled Traceability for ATL”Frederic Jouault2005 SEMINARIO DE ACTUALIZACION TECNOLOGICA Profesoras: Roxana Giandini y Claudia Pons. Alumnos: Liliana Redruello, Viviana Esterkin, Laura Riva, Esteban Calabria.

  2. ATL

  3. ATL Transformation Approach

  4. Arquitectura ATL Arquitectura de tres niveles: AMW AMW to ATL transformations ATL ATL compiler ATL VM

  5. Componentes ATL • AMW (ATLAS Model Weaver): • Metamodelo genérico para establecer links entre los elementos del modelo (metamodel for model weaving) - precompilador • ATL: • Lenguaje de transformación híbrido • ATL VM: • Máquina virtual para ejecutar las transformaciones de modelos

  6. El AMW visto por otros autores • En su artículo “Towards Rigorously Defined Model-To-Model Traceability”, Nicholas Drivalos et al de la University of New York dicen: “AMW, Atlas Model Weaver, es una herramienta creada por INRIA como parte del Atlas Model Mangement Arquitecture. Su objetivo principal es la captura y alamcenamiento de los links entre modelos”

  7. Trazabilidad

  8. Trazabilidad • Definición de la IEEE, del glosario de terminología de Ingeniería de Software: “ The degree to which a relationship can be established between two or more products of the development process, especially products having a predecessor-sucessor or master-subordinate relationship to one another; for example the degree to which the requirements and design of a given component match.” Conceptos extractados del artículo “Building Model Driven Engineering Traceability Classifications”, Richard Paige et al, University of New York, 2008

  9. Trazabilidad (cont) En la ingeniería del software trazabilidad tiene dos semánticas principales dependiendo del contexto: • Trazabilidad en ingeniería de requerimientos es el “tracking” de un requerimiento desde su expresión a su implementación. • Trazabilidad en MDD :Trazabilidad de modelos durante una transformación “A Traceability Engine Dedicated to Model Transformation for Software Engineering”, Bastien Amar et al, IRIT, Universite Paul Sabatier

  10. Cómo se aplica el concepto • Trazabilidad se refiere a la capacidad de rastrear artefactos a lo largo de operaciones encadenadas. • Las operaciones pueden ser: • Manuales :realizar un diseño de software para un conjunto de requerimientos. • Automatizadas :generando código a partir de un conjunto de definiciones abstractas.

  11. TraceLinks

  12. Trace Links Se utiliza el término “trace links” para referirse a la relación de trazabilidad: • Las relaciones entre los modelos se llaman Trace Links: • Artefactos no-modelo, “traced” a modelos • Artefactos modelo “traced” a modelos Conceptos extractados del artículo “Building Model Driven Engineering Traceability Classifications”, Richard Paige et al, University of New York, 2008

  13. Trace Links (2) Por ejemplo: • Lenguaje de descripción informal de requerimientos a Modelo de casos de uso. • Modelo de casos de uso a Diagrama de clase. Conceptos extractados del artículo “Building Model Driven Engineering Traceability Classifications”, Richard Paige et al, University of New York, 2008

  14. Loosely Coupled Traceability for ATL Frederic Jouault Atlas Group, INRIA and LINA University of Nantes, France

  15. ABSTRACT En el contexto de la transformación de modelos, la información de trazabilidad puede utilizarse en una variedad de escenarios. Cada uno de ellos, requiere potencialmente un formato o nivel de complejidad diferente. Por otra parte, un único programa de transformación puede utilizarse en diferentes contextos. Consecuentemente, puede ser necesario que ese programa genere diferentes tipos de información de trazabilidad.

  16. ABSTRACT (2) Este trabajo tiene por objeto mostrar como la trazabilidad puede agregarse a programas escritos en ATLAS Transformation Language limitando dependencias con la lógica del programa. Para implementar este enfoque se utiliza la transformación de modelos.

  17. Introducción

  18. IntroducciónCuestiones generales • La transformación de modelos como ingrediente central en la ingeniería de modelos. • QVT y ATL son dos ejemplos de lenguajes de transformación de modelos entre muchos otros.

  19. Introducción Los lenguajes de transformación • Los lenguajes de transformación de modelos se enfocan en la especificación y ejecución de la transformación. • Pero también hacen uso de trazabilidad.

  20. Introducción Trazabilidad • Definición de trazabilidad en la transformación de modelos (utilizado en el artículo): “Un lenguaje o motor que es capaz de mantener un conjunto de relaciones entre los correspondientes elementos fuente (source) y destino (target), se dice que soporta trazabilidad.”

  21. Introducción Links • También pueden guardarse en la traza, los elementos de programa responsables de estas relaciones, por ejemplo una regla que especifica como se transforma un conjunto de elementos origen en otro conjunto destino.

  22. Introducción Requerimientos de información de la trazabilidad • Variarán en al menos dos dimensiones: Rango y Formato

  23. Introducción Rango y Formato • Rango: • el rango del uso de la trazabilidad corresponde a la cantidad de elementos para los cuales se mantienen links • Formato • La información de trazabilidad corresponde a la forma en que se codifican los links. • En tanto algunas aplicaciones necesitan links sencillos para modelar los elementos, otros requerirán codificación mas compleja.

  24. IntroducciónLos distintos tipos de trazabilidad • En muchos casos un programa de transformación puede requerir el soporte de distintos tipos de trazabilidad, por lo que pueden incluirse distintos tipos de rango y formato y esto muchas veces no se conoce en tiempo de diseño del programa ni en en tiempo de desarrollo.

  25. IntroducciónSolución propuesta • Attachear código de generación de trazabilidad a programas ATL pre-existentes.

  26. IntroducciónBases de la solución La solución propuesta se basa en dos consideraciones esenciales: • Los programas de transformación se consideran modelos. • La información de trazabilidad se considera un modelo. “Everything is a model”

  27. Enfoque utilizado • Se presenta un caso de estudio sencillo que se utiliza a lo largo del trabajo. • Se muestra como el considerar la información de trazabilidad como modelo permite una codificación simple para generarla. • Se muestra como, considerar los programas de transformación como modelos permite insertar código de generación de trazabilidad en programas ATL pre-existentes.

  28. Caso de Estudio Metamodelos Src y Dst Src Dst A B +name:String +name: String

  29. Explicación de la figura anterior • Consideremos dos metamodelos simples Src (source) y Dst (destination). • El metamodelo Src contiene una sola clase llamada A, que tiene un único atributo name. • El metamodelo Dst es idéntico excepto el nombre de la clase que es B.

  30. Transformación de Src a Dst • Consideramos la transformación de de Src a Dst que traduce cada A en un B que tiene el mismo atributo name. • El código de la transformación es el siguiente:

  31. Transformación de Src a Dst (Cont)

  32. Código ATL de la transformación A a B 1. Module Src2Dst; 2. Create Out: Dst from IN : Src; 3. ----- 4. rule A2B { 5. from 6. s : Src!A 7. to 8. t : Dst! B ( 9. name  s.name 10. ) 11. }

  33. Desarrollo : Trazabilidad como Modelo

  34. “Todo es un modelo” • Traceability como modelo. • Programas de Transformación como modelos.

  35. META META MODELO META MODELO B MODELO A TRANSFORMACION A-B MODELO B MDE: “Todo es un modelo” Jean Bézivin META MODELO TANSFORMACION META MODELO A Transformaciones demodelos

  36. Traceability como Modelo

  37. EMF = Eclipse Modeling Framework • Es un framework de Eclipse para definición de lenguajes de modelado y generación de código a partir de los modelos. • Permite generar código fuente, sin perder las modificaciones hechas por los usuarios.

  38. EMF = Eclipse Modeling Framework • Básicamente Eclipse define a partir de un modelo eCore. • El código para manipular ese modelo. • Un plugin edit para poder visualizar las propiedades de los componentes del modelo en Eclipse. • Un editor para crear instancias de ese modelo • http://www.eclipse.org/modeling/emf/

  39. ATL Con trazabilidad

  40. .atl como modelo 1. module Src2DstPlusTrace; 2. create OUT : Dst, trace : Trace from IN : Src; 3. 4. rule A2BPlusTrace { 5. from 6. s : Src!A 7. to 8. t : Dst!B ( 9. name <- s.name 10. ), 11. traceLink : Trace!TraceLink ( 12. ruleName <- 'A2BPlusTrace', 13. targetElements <- Sequence {t} 14. ) 15. do {

  41. .atl como modelo (cont.) 16. traceLink.refSetValue('sourceElements', 17. Sequence {s}); 18. } 19. }

  42. TracerAdder

  43. Programa de transformación como modelos TracerAdder • Transforma un programa ATL en otro programa ATL por transformación de modelos. • TracerAdder es una transformación que inserta automáticamente el código para generación de trazas a una transformación preexistente. • Opera en modo refinamiento: los elementos de origen que no se correspondieron son automáticamente copiados en el modelo de salida.

  44. Programa de transformación comomodelo TracerAdder (cont.) • Debe utilizarse antes de la compilación de ATL (por lo tanto se incluye dentro del programa ATL pre-existente en una etapa de precompilación). • Opera directamente sobre la sintaxis abstracta.

  45. DEBATE

  46. TRAZABILIDAD ACOPLADA • Código de Generación de Trazabilidad esta débilmente acoplado a la transformación lógica. • La transformación lógica no depende de este. Se puede agregar el código de generación de trazabilidad a otros programas que no fueron diseñados para ello. • Varias clases de trazabilidad se pueden agregar a una transformación dada dependiendo de los requerimientos de rango y formato. • Se pueden desarrollar Librerías de trazabilidad como TracerAdder.

  47. ADAPTABILIDAD DE RANGO • El código de generación de trazabilidad puede ser agregado condicionalmente. • Trace Links son generados en algunas reglas (rules). • Otras reglas permanecen sin modificar. RANGO: corresponde a la proporción de elementos para los que se mantienen los links.

  48. ADAPTABILIDAD DE RANGO (cont.) • El código de generación de trazabilidad cubre sólo partes de una regla. • Es mejor para escalar o tener una buena performance la: • Generación de trazabilidad completa. • Eliminación (filter out) de los links no deseados.

  49. ADAPTABILIDAD DE FORMATO FORMATO: corresponde a la forma en que se codifican los links. • La trazabilidad de información se generará como un modelo. • Las transformaciones modelo-a-modelo se aplican conforme un metamodelo específico. • Los modelos pueden ser procesados en cualquier formato. • TracerAdder puede modificarse para no agregar código de generación de trazabilidad a reglas específicas y reducir el tamaño del modelo de traza.

  50. ALMACENAMIENTO DE LINKS DE TRAZABILIDAD INTERNA: • La información de trazabilidad esta almacenada dentro del artefacto. • “Modelo sucio”. • En modelos UML se usan asociaciones “Refines” que conectan los elementos que participan.

More Related