dsl – domain specific languages juan manuel ramón vigo sergio ruiz pérez fernando vicente...
TRANSCRIPT
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