La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ATLAS Transformation Language Introducción y comparativa con QVT

Presentaciones similares


Presentación del tema: "ATLAS Transformation Language Introducción y comparativa con QVT"— Transcripción de la presentación:

1 ATLAS Transformation Language Introducción y comparativa con QVT
Javier Jesús Gutierrez Rodriguez Dra. María José Escalona Cuaresma

2 Índice Introducción. Las herramientas MDE de Eclipse.
Transformación de modelo a modelo en Eclipse: ATL. Generación de pruebas como un problema de modelo a modelo. Conclusiones.

3 Introduction

4 Introducción QVT ATL Lenguaje de definición de transformaciones, consultas y vistas. Declarativo e imperativo. Soporte parcial y limitado de herramientas. Estándar de la OMG. Soporte OCL 2. Ofrece una interfaz para otros lenguajes. Lenguaje de definición de transformaciones, consultas y librerías de funciones. Declarativo e imperativo. Soporte completo de herramientas. No estándar. Soporte OCL 2. Combina con Java

5 Las herramientas MDD de Eclipse

6 Herramientas de modelado Eclipse
Una parte de Eclipse aglutina y desarrolla herramientas para MDD.

7 Transformación de modelo a modelo en Eclipse: ATL
Un caso práctico: de diagrama de clases a tablas

8 ATLAS Transformation Language
Plan de trabajo con ATL Definir metamodelos. Definir modelos. Escribir transformaciones. Ejecutar transformaciones. Ejemplo: SimpleClass2SimpleRDBMS

9 ATLAS Transformation Language
Metamodelo simplificado de clases

10 ATLAS Transformation Language
Metamodelo simplificado de tablas

11 Demo ATLAS Transformation Language Definición de metamodelos con KM3
Metamodelo de clases (aún más simplificado) Demo Es un lenguaje extremadamente sencillo, ocupa solo 8 páginas. Realmente KM3 no hace distinción entre agregaciones y composiciones.

12 ATLAS Transformation Language
Definición de metamodelos con KM3 Metamodelo de clases (aún más simplificado) Es un lenguaje extremadamente sencillo, ocupa solo 8 páginas. Realmente KM3 no hace distinción entre agregaciones y composiciones.

13 ATLAS Transformation Language
Definición de modelos Modelo de clases Es un lenguaje extremadamente sencillo, ocupa solo 8 páginas. Realmente KM3 no hace distinción entre agregaciones y composiciones.

14 ATLAS Transformation Language
Transformaciones De clase a tabla (QVT) transformation ct(uml:SimpleUML,rdbms:SimpleRDBMS) { key Table (name); top relation ClassToTable { checkonly domain uml c:Class { kind='Persistent', name=cn }; enforce domain rdbms t:Table { } Poner debajo de la transformación el resultado. Una tabla por cada clase de tipo Persistent con el mismo nombre que la clase.

15 Demo ATLAS Transformation Language Transformaciones
De clase a tabla (ATL) Demo Poner debajo de la transformación el resultado.

16 ATLAS Transformation Language
Transformaciones De clase a tabla (QVT vs ATL) transformation clase_a_tabla(u:SimpleUML, r:SimpleRDBMS) { top relation ClassToTable { checkonly domain u c:Class { name=cn }; enforce domain r t:Table { } Poner debajo de la transformación el resultado.

17 ATLAS Transformation Language
Transformaciones De clase y atributos a tabla y columnas (QVT) 1 de 2 transformation umlToRdbms(uml:SimpleUML, rdbms:SimpleRDBMS) { top relation ClassToTable { cn, prefix: String; checkonly domain uml c:Class { kind='Persistent', name=cn}; enforce domain rdbms t:Table {name=cn, column=cl:Column {name=cn+'_tid', type='NUMBER'}, }; where { prefix = ''; AttributeToColumn(c, t, prefix); } relation AttributeToColumn checkonly domain uml c:Class {}; enforce domain rdbms t:Table {}; primitive domain prefix:String; PrimitiveAttributeToColumn(c, t, prefix); Poner debajo de la transformación el resultado. Una columna por atributo con el mismo nombre terminado en ‘_tid’ de tipo NUMBER. Una relación para atributos simples, compuestos, etc.

18 ATLAS Transformation Language
Transformaciones De clase y atributos a tabla y columnas (QVT) 2 de 2 transformation umlToRdbms(uml:SimpleUML, rdbms:SimpleRDBMS) { relation PrimitiveAttributeToColumn an, pn, cn, sqltype: String; checkonly domain uml c:Class {attribute=a:Attribute {name=an, type=p:PrimitiveDataType {name=pn}}}; enforce domain rdbms t:Table {column=cl:Column {name=cn, type=sqltype}}; primitive domain prefix:String; where { cn = if (prefix = '') then an else prefix+'_'+an endif; sqltype = PrimitiveTypeToSqlType(pn); } function PrimitiveTypeToSqlType(primitiveTpe:String):String { if (primitiveType='INTEGER‘) then 'NUMBER' else if (primitiveType='BOOLEAN') then 'BOOLEAN' else 'VARCHAR' endif endif; Poner debajo de la transformación el resultado. Un atributo INTEGER es una columna NUMBER, un atributo BOOLEAN es una columna BOOLEAN y cualquier otro atributo es una columna VARCHAR

19 Demo ATLAS Transformation Language Transformaciones
De clase y atributos a tabla y columnas (ATL) Demo Poner debajo de la transformación el resultado.

20 ATLAS Transformation Language
Transformaciones De clases y atributos a tablas y columnas (QVT vs ATL) Poner debajo de la transformación el resultado.

21 Demo ATLAS Transformation Language Transformaciones
Ejecución de la transformación Demo Poner debajo de la transformación el resultado.

22 ATLAS Transformation Language
Transformaciones Ejecución de la transformación Poner debajo de la transformación el resultado.

23 Generación de pruebas como un problema de modelo a modelo.

24 Generacion de pruebas Generación de pruebas
Casos de uso + requisitos funcionales Our two approaches Translate requirements into a model and apply a criterion. Apply category-partition method and combination matrix. Information obtained Scenarios. Categories, partitions, test values (optional), and combinations. Test cases. Metamodels needed Test scenarios metamodel. Test values metamodel. Test cases metamodel. Es un lenguaje extremadamente sencillo, ocupa solo 8 páginas. Realmente KM3 no hace distinción entre agregaciones y composiciones.

25 Generacion de pruebas Generación de pruebas
Es un lenguaje extremadamente sencillo, ocupa solo 8 páginas. Realmente KM3 no hace distinción entre agregaciones y composiciones.

26 Conclusiones

27 ATLAS Transformation Language
Conclusiones Descargar y listo. Buena documentación y ejemplos. Ejecutable desde código Java. Falta de herramientas de modelado. Mensajes de error muy crípticos. Numerosas diferencias con QVT. Es un lenguaje extremadamente sencillo, ocupa solo 8 páginas. Realmente KM3 no hace distinción entre agregaciones y composiciones.

28 ATLAS Transformation Language
Enlaces Zoo de transformaciones: Zoo de metamodelos en KM3: Zoo de metamodelos en Ecore:

29 ATLAS Transformation Language Introducción y comparativa con QVT
Javier J. Gutierrez Rodriguez Dra. María José Escalona Cuaresma University of Sevilla ETS Ingeniería Informática Av. Reina Mercedes S/N 41015 Sevilla Tlf Fax


Descargar ppt "ATLAS Transformation Language Introducción y comparativa con QVT"

Presentaciones similares


Anuncios Google