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

Post on 24-Jan-2016

217 views 0 download

Transcript of DSL – DOMAIN SPECIFIC LANGUAGES Juan Manuel Ramón Vigo Sergio Ruiz Pérez Fernando Vicente...

DSL – DOMAIN SPECIFIC LANGUAGES

Juan Manuel Ramón VigoSergio Ruiz PérezFernando 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

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

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”

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)

6Solución

Parte fijaPartevariante

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

“Interfaces fluidas”

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

Lenguaje mucho más expresivo

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

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

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

Ventajas y desventajas. Sobre los DSLs.

VENTAJAS

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

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

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