dsl – domain specific languages juan manuel ramón vigo sergio ruiz pérez fernando vicente...

14
DSL – DOMAIN SPECIFIC LANGUAGES Juan Manuel Ramón Vigo Sergio Ruiz Pérez Fernando Vicente Vallejo

Upload: eva-maria-villalba-molina

Post on 24-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DSL – DOMAIN SPECIFIC LANGUAGES Juan Manuel Ramón Vigo Sergio Ruiz Pérez Fernando Vicente Vallejo

DSL – DOMAIN SPECIFIC LANGUAGES

Juan Manuel Ramón VigoSergio Ruiz PérezFernando Vicente Vallejo

Page 2: DSL – DOMAIN SPECIFIC LANGUAGES Juan Manuel Ramón Vigo Sergio Ruiz Pérez Fernando Vicente Vallejo

Índice

Introducción. ¿Qué es un Lenguaje de Dominio Específico (DSL)?

Modelos de uso. Casos en los que encontramos los DSLs

Contexto. Aplicación de los DSLs y diferencias con otros tipos de lenguajes

Pasos en la creación de un DSL. Elaboración de un DSL

Ejemplos de uso. Eclipse Modeling Framework, Grep, VHDL

Ventajas y desventajas. Sobre los DSLs

Page 3: DSL – DOMAIN SPECIFIC LANGUAGES Juan Manuel Ramón Vigo Sergio Ruiz Pérez Fernando Vicente Vallejo

Introducción. ¿Qué es un Lenguaje de Dominio Específico (DSL)?

Lenguajes de dominio específicoLenguajes de dominio específico: DSLs (D: DSLs (Domain omain SSpecificpecific LLanguagesnguages))

Tarea específica

Más alto nivel, más cercanos

Page 4: DSL – DOMAIN SPECIFIC LANGUAGES Juan Manuel Ramón Vigo Sergio Ruiz Pérez Fernando Vicente Vallejo

Modelos de uso. Casos en los que encontramos los DSLs.

DSL Externo

DSL Interno (DSL encajado)

DSL independientes (Makefile, GraphViz)

DSL en tiempo de ejecución

DSL “embebidos”

Page 5: DSL – DOMAIN SPECIFIC LANGUAGES Juan Manuel Ramón Vigo Sergio Ruiz Pérez Fernando Vicente Vallejo

Contexto. Aplicación de los DSLs y diferencias con otros tipos de lenguajes.

Usuarios + diseñadores dentro del mismo dominio

DSD (Domain Specific Development): resuelven problemas recurrentes.

Parte fija (Framework, API) +Parte variante (DSL)

Page 6: DSL – DOMAIN SPECIFIC LANGUAGES Juan Manuel Ramón Vigo Sergio Ruiz Pérez Fernando Vicente Vallejo

6Solución

Parte fijaPartevariante

Contexto. Aplicación de los DSLs y diferencias con otros tipos de lenguajes.

“Interfaces fluidas”

Page 7: DSL – DOMAIN SPECIFIC LANGUAGES Juan Manuel Ramón Vigo Sergio Ruiz Pérez Fernando Vicente Vallejo
Page 8: DSL – DOMAIN SPECIFIC LANGUAGES Juan Manuel Ramón Vigo Sergio Ruiz Pérez Fernando Vicente Vallejo

Contexto. Aplicación de los DSLs y diferencias con otros tipos de lenguajes.

Lenguaje mucho más expresivo

Page 9: DSL – DOMAIN SPECIFIC LANGUAGES Juan Manuel Ramón Vigo Sergio Ruiz Pérez Fernando Vicente Vallejo

Pasos en la creación de un DSL.Elaboración de un DSL (caso práctico).

1. Elaboración modelo dominio: clases + relaciones

2. Generación de códigorelationships

domain classes

Page 10: DSL – DOMAIN SPECIFIC LANGUAGES Juan Manuel Ramón Vigo Sergio Ruiz Pérez Fernando Vicente Vallejo

Pasos en la creación de un DSL.Elaboración de un DSL (caso práctico).

Creación de un DSL con Visual Studio 2005 + DSL Tools

Uso de un DSL con VHDL

Page 11: DSL – DOMAIN SPECIFIC LANGUAGES Juan Manuel Ramón Vigo Sergio Ruiz Pérez Fernando Vicente Vallejo

Pasos en la creación de un DSL.Elaboración de un DSL (caso práctico).

Definición de DSL: Modelo de dominio Els. de diagrama Personalización de código

Definición de DSL: Modelo de dominio Els. de diagrama Personalización de código Aplicación de sw

Autor del DSL

Usuario DSL/Autor de aplicación

Usuario final

Page 12: DSL – DOMAIN SPECIFIC LANGUAGES Juan Manuel Ramón Vigo Sergio Ruiz Pérez Fernando Vicente Vallejo

Ventajas y desventajas. Sobre los DSLs.

VENTAJAS

Encapsular el conocimiento Generación de código más sencilla Concisos Desarrollo rápido Mayor productividad

Page 13: DSL – DOMAIN SPECIFIC LANGUAGES Juan Manuel Ramón Vigo Sergio Ruiz Pérez Fernando Vicente Vallejo

Ventajas y desventajas. Sobre los DSLs.

DESVENTAJAS

Alto coste diseño, implementación y mantenimiento Difícil ajustar el dominio Código menos eficiente Más difícil de depurar

Page 14: DSL – DOMAIN SPECIFIC LANGUAGES Juan Manuel Ramón Vigo Sergio Ruiz Pérez Fernando Vicente Vallejo

BIBLIOGRAFÍA

www.wikipedia.org

http://www.andersnoras.com/blogs/anoras/archive/2007/07/09/behind-the-scenes-of-the-planning-dsl.aspx

http://mkseo.pe.kr/blog/?p=1703

http://www.eclipse.org/modeling/emf/

http://www.ddj.com/architect/184429825

http://www.andersnoras.com/blogs/anoras/archive/2007/07/15/is-it-a-bird-is-it-a-plane-it-s-a-dsl.aspx

Trabajo del Dr. J. Guadalupe Ramos Díaz para el SIINCO 2007