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

Slides:



Advertisements
Presentaciones similares
Ciclo de Vida del Software
Advertisements

Características Generales y Entornos de Desarrollo
Framework de.Net Infraestructura sobre la que se reúne todo un conjunto de lenguajes y servicios que simplifican el desarrollo de aplicaciones Entorno.
Unidad 2 IDE Visual Studio.Net [UTN - Tecnologías de desarrollo de software IDE] [2009]
FACHADA COMPOSITOR MEMENTO
Introducción a Microsoft .NET
Ing. Esp. Ricardo Cujar. El computador: es una máquina que permite hacer tareas aritmético y lógicas de una manera fácil, consta de software y hardware.
Introducción a la Programación
Introducción a la Programación
Innovaciones de Modelado en una Software Factory
Ciclo de desarrollo del software
Framework Hexápodo PHP fácil, rápido y sin dolor
Spring Framework v2.5.
Empresa: Liebre Primer ciclo Proyecto TripleC. Conseguir soluciones inteligentes para satisfacer de una manera rápida y segura las necesidades de nuestros.
Sistema de Gestión de Base de Datos
Catan Card Game Jorge Sánchez Fernández Mohamed Benkodad
© Manuel ColladoEntornos de Programación-1 Entornos de programación Concepto, funciones y tipos.
Introducción al lenguaje de programación lógico Prolog
Desarrollo Orientado a Objetos con UML
Análisis y Diseño orientado a objetos con UML.
Proceso de información en la computadora
Planificación de la estructura de direccionamiento
Ingeniería de Software
DSL Domain Specific Language (Lenguaje Especifico del Dominio)
Sesión 5 Herramientas de creación de DSL gráficos (GMF)
Especificación de un metamodelo para apoyar y extender la propuesta TD-MBUID William Joseph Giraldo Orozco Ph.D. Director Helmuth Trefttz Gómez Ph.D. CoDirector.
Ingeniería de Software Orientado a Objetos
DISEÑO DE SOFTWARE 1ª. Parte
CICLO DE VIDA DEL SOFTWARE
Características de la interfaz de desarrollo
Presentado por: Ing. Manuel Rodríguez Coria. Software Freedom Day 26 de Septiembre de 2009Ing. Manuel Rodríguez Coria Quien Soy? Ing.
Lenguajes de programación Web
Diseño de algoritmos La computadora puede realizar procesos y darnos resultados, sin que tengamos la noción exacta de las operaciones que realiza. Con.
Unidad VI Documentación
MEDIDA DE LA USABILIDAD EN APLICACIONES DE ESCRITORIO
LENGUAJES DE PROGRAMACIÓN
MESTE & Humano2 Socios de Negocios
Ingeniería en Sistemas de Información Diseño de Sistemas (3K1)
TEMAS PRINCIPALES. ALGORITMOS. CONCEPTOS El algoritmo es un método para resolver un problema mediante una serie de pasos definidos, precisos y finitos.
Metodología para solución de problemas
Eguana Reports Servidor de Reportes basado en Tecnología Java y XML Presentado por: Roy Cox S. Fernando Pérez M. José Pérez S.
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Metodología para la construcción de programas
PATRÓN ADAPTER (Adaptador) Elena Moreno Ramírez Laura Sánchez Romero Aroa Solana Ruiz.
Medición Genérica basada en Modelos sobre MOMENT Responsable Félix García (ESFINGE) Participantes Beatriz Mora, Paco Ruiz, Mario Piattini (ESFINGE) Abel.
Especificación de sistemas embebidos Agustín J. González 1s06 Se ha tomado como base el material generado por Peter Marwedel de la Univ. Dortmund, Alemania.
Especificación de sistemas embebidos Agustín J. González 1s07 Se ha tomado como base el material generado por Peter Marwedel de la Univ. Dortmund, Alemania.
DESARROLLO WEB Y MULTIMEDIA Trabajo sobre Web Engineering
Algoritmos y pseudocódigos
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
Introducción a UML Departamento de Informática Universidad de Rancagua
Desarrollo DE apps móviles
Prof. Joel Moreno Molina
Actividades en el Proceso de desarrollo de Software
Desarrollo de lógica algorítmica.
Unidad TemáticaI. Conceptos Básicos Horas Prácticas10 Horas Teóricas8 Horas Totales18 Objetivo El alumno determinará las entradas, procesos y salidas.
Introducción a los TADs
Desarrollo DE apps móviles
VISUAL BÁSIC Base de datos. Definición  Herramienta de diseño de aplicaciones para Windows en el que estas se desarrollan en gran parte a partir del.
Programación Java y Desarrollo de Aplicaciones Modulo 1 Arquitectura de ordenadores Tema 3 Programas.
Ventajas y desventajas de comprar o desarrollar un software
COMPUTER SCIENCE PARCIAL 1
Aplicación de comercio electrónico en ASP. NET 2
PARCIAL 1 Introducción a los programas. Concepto de Programa  El término programa (d el latín programma, que a su vez proviene de un vocablo griego)
Introducción AOO. Contenido - Introducción - Repaso de Orientación a Objetos - UML - Casos de Uso.
Integrantes Miguel Betancourt Alexis Tacuri.  Activiti es una plataforma para la formación de flujos de trabajo y procesos empresariales dentro del.
Conveniencias entre comprar o desarrollar un software a medida.
CICLO DE VIDA DE UN SOFTWARE. Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de.
4. Definición del proyecto. Qué tan difícil es manejar un proyecto? ◦Dependerá del tamaño del mismo ◦De los costos ◦De los plazos ◦Del nivel de dificultad.
INGENIERÍA DE INFORMACIÓN Y APLICACIONES
Transcripción de la presentación:

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

Introducción. ¿Qué es un Lenguaje de Dominio Específico (DSL)? Lenguajes de dominio específico: DSLs (Domain Specific  Lenguajes de dominio específico: DSLs (Domain Specific Lnguages) Languages)  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)

6 Solución Parte fija Parte variante 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ódigo relationships 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 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   behind-the-scenes-of-the-planning-dsl.aspx behind-the-scenes-of-the-planning-dsl.aspx     s-it-a-bird-is-it-a-plane-it-s-a-dsl.aspx s-it-a-bird-is-it-a-plane-it-s-a-dsl.aspx  Trabajo del Dr. J. Guadalupe Ramos Díaz para el SIINCO 2007