T5 - Desarrollo del formato de...
Transcript of T5 - Desarrollo del formato de...
![Page 1: T5 - Desarrollo del formato de representaciónocw.uca.es/pluginfile.php/2491/mod_resource/content/0/T5...Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de](https://reader033.fdocuments.ec/reader033/viewer/2022050508/5f9980f41a4d4114795cbd5d/html5/thumbnails/1.jpg)
Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad de Cádiz
14/11/13 1
Desarrollo del formato de representación
Procesadores de Lenguajes 2
PL2 - Desarrollo del formato de representación
Curso 2013-2014
![Page 2: T5 - Desarrollo del formato de representaciónocw.uca.es/pluginfile.php/2491/mod_resource/content/0/T5...Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de](https://reader033.fdocuments.ec/reader033/viewer/2022050508/5f9980f41a4d4114795cbd5d/html5/thumbnails/2.jpg)
Contenidos
� Introducción � Herramientas
14/11/13 2 PL2 - Desarrollo del formato de representación
![Page 3: T5 - Desarrollo del formato de representaciónocw.uca.es/pluginfile.php/2491/mod_resource/content/0/T5...Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de](https://reader033.fdocuments.ec/reader033/viewer/2022050508/5f9980f41a4d4114795cbd5d/html5/thumbnails/3.jpg)
INTRODUCCIÓN DESARROLLO DEL FORMATO DE REPRESENTACIÓN
14/11/13 3 PL2 - Desarrollo del formato de representación
![Page 4: T5 - Desarrollo del formato de representaciónocw.uca.es/pluginfile.php/2491/mod_resource/content/0/T5...Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de](https://reader033.fdocuments.ec/reader033/viewer/2022050508/5f9980f41a4d4114795cbd5d/html5/thumbnails/4.jpg)
Desarrollo de un procesador de lenguaje (enfoque MDE)
14/11/13 PL2 - Desarrollo del formato de representación 4 4
Generación de transformaciones
Desarrollo del formato de representación
Diseño del metamodelo
Construcción del editor
![Page 5: T5 - Desarrollo del formato de representaciónocw.uca.es/pluginfile.php/2491/mod_resource/content/0/T5...Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de](https://reader033.fdocuments.ec/reader033/viewer/2022050508/5f9980f41a4d4114795cbd5d/html5/thumbnails/5.jpg)
Desarrollo de un procesador de lenguaje (enfoque MDE)
14/11/13 PL2 - Desarrollo del formato de representación 5 5
Generación de transformaciones
Desarrollo del formato de representación
Diseño del metamodelo
Construcción del editor
![Page 6: T5 - Desarrollo del formato de representaciónocw.uca.es/pluginfile.php/2491/mod_resource/content/0/T5...Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de](https://reader033.fdocuments.ec/reader033/viewer/2022050508/5f9980f41a4d4114795cbd5d/html5/thumbnails/6.jpg)
Desarrollo del formato de representación � ¿Cómo se van a representar los
elementos del metamodelo? ¿Cual es el formato de representación más adecuado para nuestro DSL?
� ¿Cuál es el tipo de problema que queremos modelar? ¿Quiénes serán los usuarios del lenguaje?
� Los lenguajes visuales son más fáciles de interpretar, pero los textuales son más expresivos.
14/11/13 6 PL2 - Desarrollo del formato de representación
![Page 7: T5 - Desarrollo del formato de representaciónocw.uca.es/pluginfile.php/2491/mod_resource/content/0/T5...Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de](https://reader033.fdocuments.ec/reader033/viewer/2022050508/5f9980f41a4d4114795cbd5d/html5/thumbnails/7.jpg)
HERRAMIENTAS DESARROLLO DEL FORMATO DE REPRESENTACIÓN
14/11/13 7 PL2 - Desarrollo del formato de representación
![Page 8: T5 - Desarrollo del formato de representaciónocw.uca.es/pluginfile.php/2491/mod_resource/content/0/T5...Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de](https://reader033.fdocuments.ec/reader033/viewer/2022050508/5f9980f41a4d4114795cbd5d/html5/thumbnails/8.jpg)
Herramientas para sintaxis concreta
� Visual ◦ Graphical Modeling Framework ü EuGENia
◦ Graphiti ü Spray
� Textual ◦ Xtext ◦ TCS
14/11/13 PL2 - Desarrollo del formato de representación 8
![Page 9: T5 - Desarrollo del formato de representaciónocw.uca.es/pluginfile.php/2491/mod_resource/content/0/T5...Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de](https://reader033.fdocuments.ec/reader033/viewer/2022050508/5f9980f41a4d4114795cbd5d/html5/thumbnails/9.jpg)
Graphical Modeling Framework � Es el proyecto de Eclipse que nos ayudará a
construir editores gráficos para nuestros DSLs. Se compone de: ◦ GMF Tooling: componente que nos permitirá
definir la funcionalidad del editor y automáticamente construir el plugin correspondiente. ◦ GMF Runtime: componente encargado de
ejecutar el editor visual ◦ GMF Notation: componente que proporciona el
mecanismo para persistir e intercambiar información de los diagramas visuales.
14/11/13 PL2 - Desarrollo del formato de representación 9
![Page 10: T5 - Desarrollo del formato de representaciónocw.uca.es/pluginfile.php/2491/mod_resource/content/0/T5...Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de](https://reader033.fdocuments.ec/reader033/viewer/2022050508/5f9980f41a4d4114795cbd5d/html5/thumbnails/10.jpg)
euGENia � Herramienta del subproyecto Epsilon
orientada a simplificar el desarrollo de editores GMF.
� Automatiza la generación de los modelos intermedios de GMF: gmfgraph, gmftool y gmfmap
� Se basa en el lenguaje Emfactic, una notación textual para los metamodelos Ecore, junto con una serie de anotaciones de alto nivel, para incluir los aspectos visuales.
14/11/13 PL2 - Desarrollo del formato de representación 10
![Page 11: T5 - Desarrollo del formato de representaciónocw.uca.es/pluginfile.php/2491/mod_resource/content/0/T5...Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de](https://reader033.fdocuments.ec/reader033/viewer/2022050508/5f9980f41a4d4114795cbd5d/html5/thumbnails/11.jpg)
Graphiti
� Proyecto en fase de incubación (0.10.0) � Framework de Eclipse para agilizar el
desarrollo de editores visuales para metamodelos EMF.
� Aspecto visual más depurado y accesible que con los conseguidos con GMF y/o EuGENia.
� Ofrece una sencilla API Java para la construcción de los editores gráficos.
14/11/13 PL2 - Desarrollo del formato de representación 11
![Page 12: T5 - Desarrollo del formato de representaciónocw.uca.es/pluginfile.php/2491/mod_resource/content/0/T5...Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de](https://reader033.fdocuments.ec/reader033/viewer/2022050508/5f9980f41a4d4114795cbd5d/html5/thumbnails/12.jpg)
Spray
� Es un DSL textual (implementado con Xtext) para simplificar el desarrollo de lenguajes visuales.
� El código generado se basa en la API del framework Graphiti.
� Software todavía en fases tempranas de desarrollo (versión 0.5.x)
14/11/13 PL2 - Desarrollo del formato de representación 12
![Page 13: T5 - Desarrollo del formato de representaciónocw.uca.es/pluginfile.php/2491/mod_resource/content/0/T5...Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de](https://reader033.fdocuments.ec/reader033/viewer/2022050508/5f9980f41a4d4114795cbd5d/html5/thumbnails/13.jpg)
TCS � Componente de Eclipse para el desarrollo
de sintaxis textual. � TCS permite parsear los textos
introducidos y formatearlos correctamente, resaltando palabras clave, añadiendo hipervínculos, etc.
� Se basa en el lenguaje TCS que permite combinar metamodelos y gramáticas.
� Su popularidad ha ido decreciendo, en favor de Xtext.
14/11/13 PL2 - Desarrollo del formato de representación 13
![Page 14: T5 - Desarrollo del formato de representaciónocw.uca.es/pluginfile.php/2491/mod_resource/content/0/T5...Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de](https://reader033.fdocuments.ec/reader033/viewer/2022050508/5f9980f41a4d4114795cbd5d/html5/thumbnails/14.jpg)
Xtext � Proyecto open source para el desarrollo
de lenguajes textuales, liderados por la empresa Itemis AG.
� Xtext genera automáticamente los componentes necesarios para trabajar con los DSL: parser, analizador estático, formateador de código, generador de código, etc.
� Pueden utilizarse desde dentro de Eclipse o de forma independiente.
14/11/13 PL2 - Desarrollo del formato de representación 14
![Page 15: T5 - Desarrollo del formato de representaciónocw.uca.es/pluginfile.php/2491/mod_resource/content/0/T5...Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de](https://reader033.fdocuments.ec/reader033/viewer/2022050508/5f9980f41a4d4114795cbd5d/html5/thumbnails/15.jpg)
RESUMEN DESARROLLO DEL FORMATO DE REPRESENTACIÓN
14/11/13 15 PL2 - Desarrollo del formato de representación
![Page 16: T5 - Desarrollo del formato de representaciónocw.uca.es/pluginfile.php/2491/mod_resource/content/0/T5...Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de](https://reader033.fdocuments.ec/reader033/viewer/2022050508/5f9980f41a4d4114795cbd5d/html5/thumbnails/16.jpg)
14/11/13 16 PL2 - Desarrollo del formato de representación
Desarrollo del formato de representación
Procesadores de Lenguajes 2
Iván Ruiz Rube [email protected]