t5 - desarrollo del formato de...

16
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

Upload: others

Post on 07-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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]