Introducción a DSL Tools con Visual Studio Abdul Wahab Sultán Regalado.

Slides:



Advertisements
Presentaciones similares
INGENIERÍA DE SOFTWARE Introducción Arquitectura de Software
Advertisements

Red Social: “Un millón de Amigos”.
Técnicas de Diseño Red Social.
Red Social: “Un millón de Amigos”.
Reingenieria VFP -> NET
Innovaciones de Modelado en una Software Factory
Spring Framework v2.5.
Editor de Visual de Templates Open EHR-Gen
Microsoft Office System Recopilando Información y Fomentando la Colaboración a través de Formularios Electrónicos José Alania Valdez Especialista en Tecnologías.
Como ser más productivos con SQL Server Data Tools - SSDT
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Modelo de Análisis Centro ISYS Escuela de Computación
Desarrollo de Aplicaciones Utilizando Java Edición Empresarial – JEE6
Sesión 5 Herramientas de creación de DSL gráficos (GMF)
Programación I Universidad Nacional de Luján
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
Hermilia Molina Acevedo
GeneXus en el Corto y Mediano Plazo
Chat para Ciclope Astro Facultad de Informática Universidad Politécnica de Madrid SISTEMAS INFORMÁTICOS 2 de Julio de 2008 Hélène Doumenc
DSL – DOMAIN SPECIFIC LANGUAGES Juan Manuel Ramón Vigo Sergio Ruiz Pérez Fernando Vicente Vallejo.
Manual Desarrollo Flex – J2EE. Contenidos Análisis y Diseño 1 Implementación 2 J2EE 3 Pruebas 4.
Ingeniería del Software 2002
Desarrollo DE apps móviles
Luis Ponce Cabello.  Primera Parte : JSF  Segunda Parte : Facelets  Tercera Parte : Icefaces.
Desarrollo DE apps móviles
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Es un ambiente gráfico de desarrollo de aplicaciones para el sistema operativo Microsoft Windows. Las aplicaciones creadas con Visual Basic están basadas.
Proceso de investigación : el ciclo de investigación Ver: uthentic_inquiry2.pdf Y
Capas de ingeniería del Software. Rosendo Antonio Manuel Ingeniería en Sistemas Computacionales.
USO DE LAS HERRAMIENTAS CASE MARIA VERA ANGEL CEDEÑO.
INFORMATICA I PROYECTO SIRLA Jorge Walter Sosa Esteban Parra González Juan Camilo Morales.
LÓGICA COMPUTACIONAL Y PROGRAMACIÓN PROPÓSITO INTRODUCCIÓN USO DE LA PROGRAMACIÓN Programación Lenguajes de Programación Sistema Operativo Elementos para.
DESARROLLO DE UN BUZÓN DE DOCUMENTOS PARA LOS PROCESOS DEL CONSEJO DE DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN DE LA UNIVERSIDAD DE LAS FUERZAS ARMADAS.
M E N U I N I C I A L PARTES PC PERIFERICOS C P U SOFTWARE 1 johnbonilla.es.tl.
CENTRO UNIVERSITARIO UAEM TEXCOCO INGENIERÍA EN COMPUTACIÓN DISEÑO DE SISTEMAS M. En C.C. Ma. Dolores Arévalo Zenteno.
NOTA: Para cambiar la imagen de esta dispositiva, seleccione la imagen y elimínela. A continuación haga clic en el icono Imágenes en el marcador de posición.
SIGEP Sistema de Gestión Penitenciaria.. SIGEP 2 Objetivo general solución de software Diseñar, desarrollar e implementar un sistema informático integral.
BASE DE DATOS AVANZADAS Unidad III Reconocer las características de las bases de datos hipertexto AUTOR: ARACELI RODRIGUEZ LUNA 02/10/2015.
Proyecto Material Didáctico Para La Enseñanza de Cocina Tradicional Colombiana Olga Rocío Páez NRC: 6955.
Sistema para el Soporte de toma de Decisiones. Referencias Introducción DefiniciónReseña Histórica Clasificación Uso y Aplicaciones Tipos Componentes.
Diseño de tipos Igualdad, representación, código, copia y relación de orden Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos.
DEFINICIONES 1.ENFOQUE CONSTRUCTIVISTA 2.PERRENOUD 3.SEP EB.
Boeing: Bold Stroke Avionics Software Family FLOREZ FERNANDEZHECTOR NARANJO ROMERO DAVID PEDRAZA.
WINTER Template II Encuentro Iberoamericano de Editores Científicos EIDEC 2010.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Objetos.
JOSÉ GEOVANY CON PÉREZ LICEO DEL SUR. UNIDAD I Entorno de desarrollo. UNIDAD II Introducción al lenguaje de programación. UNIDAD III Trabajando con formularios.
Ud. 1 Funciones básicas de la hoja de cálculo Índice del libro Índice del libro.
JSF Simplificando nuestro trabajo. JSF – Java Server Faces Celula Creative SUN 2 La principal intención es liberar al programador de aspectos Web Pretende.
Softlogia S.R.L. Formación de Recursos Humanos Hibernate Core Instructor: Martin R. Baspineiro.
Presentada por: Johan Manuel Cabrera Chavarro Universidad Surcolombiana Tecnología en Desarrollo de Software.
Popplet Aplicación 2.0. Introducción Popplet es una aplicación web 2.0 (El término Web 2.0 comprende aquellos sitios web que facilitan el compartir información,
HERRAMIENTAS INFORMATICAS. Descripción del Curso El curso Herramientas informáticas correspondiente al componente interdisciplinar básico común de todos.
Departamento de Lenguajes y Sistemas Informáticos escuela técnica superior de ingeniería informática Extendiendo NDT para la catalogación de Requisitos.
Servicios Web-SOA Aula: Fomento 05/06/2006 a 08/05/2006.
Fundamentos al Computador Software Software de Sistema Software de aplicación Software de programación Etapas del proceso de desarrollo de Software LOS.
Reunión del comite de nodos de GBIF Copenague, Dinamarca 4 de octubre de 2009 Personalización del IPT Alberto GONZÁLEZ-TALAVÁN Oficial de Programa para.
Objetivos  Concepto de tarea: partes y características  Uso de los descriptores de competencias  Recursos e ideas  Diseñar y experimentar juntos 
HERRAMIENTAS INFORMATICAS MEGAN ALINE ORTIZ CARDENAS Trabajo Presentado Como Requisito Para Optar En Informática Lida Marcela Moreno Docente Ingeniera.
Proceso de Evaluación del CAUI Objetivo General Diseñar un instrumento que permita la evaluación de las Competencias para el Acceso y Uso de la.
Tema: Tipos de software de aplicación. Fecha: 20 /10 /2014 Identificar los tipos de programas para cada necesidades u objetivo.
PRÁCTICA TRADOS Vista General. Proceso de aprendizaje Fase de entrenamiento – Una vez instalado SDL Trados entre a la aplicación y vaya a la vista Bienvenida.
Tendencias Avanzadas de Ingeniería de Software.  Las herramientas CASE (Computer Aided Software Engineering, Ingeniería de Software Asistida por Computadora)
“Android: Un acercamiento practico” Manuel Alejandro Moscoso Domínguez Estudiante de Ingeniería en Bioinformática Talca, 8 de octubre de 2009.
Presentación de Seminarios de Lenguajes Opción Android
Federico Rodriguez Bravo Ing. Jaime A. Pavlich-Mariscal Ph.D
Introducción a Visual Studio .NET
Implantación de una IDE en una gran corporación
WINDOWS 8 Definición Partes fundamentales Documento Word Libro Excel
Desarrollo de sitios web
Transcripción de la presentación:

Introducción a DSL Tools con Visual Studio Abdul Wahab Sultán Regalado

Domain-Specific Development Es una forma de NO REINVENTAR la rueda. La solución se obtiene a partir de un MODELO + un FRAMEWORK.

Ejemplos de DSL Modelo de interfaz de usuario de una aplicación.

Ejemplos de DSL Modelo de los perfiles de usuarios de una aplicación.

Ejemplos de DSL Modelo de Clases de Negocio de una aplicación.

Como proceder... Identificar aquellos aspectos que se repitan. Identificar aquellos aspectos que varían y diseñar un Domain-Specific Language.

Dos formas de afrontar el reto. Top-Down. Caminamos desde el modelo hacia el código. Down-Top. Caminamos desde el código hacia el modelo.

Contextos en el desarrollo con DSL Tools Definición del DSL + Código a Mano Framework de aplicación + Editor Generado + Plantillas de Generación Aplicación Software Autor del DSL Autor de la aplicación Usuario de la aplicación

Arquitectura de DSL Tools

Construir un DSL con DSLTools Crear un nuevo proyecto. Definir las clases de dominio y relaciones. Asociar las clases de dominio y relaciones con iconos gráficos. Definir las validaciones. Crear las plantillas para la generación de código.

Crear un nuevo proyecto

Definir clases y relaciones

Asociar iconos gráficos

Definir Validaciones

Definir plantillas para la Generación de Código

In-Memoy Store Creación, manupulación y eliminación de elementos del modelo. Transacciones Deshacer/Rehacer Reglas y Eventos. Acceso al modelo del dominio. using (Transaction t = this.Store.TransactionManager.BeginTransaction("example"))‏ { IssueState state = new IssueState(store); state.Name = "TestState"; Comment comment = new Comment(store); comment.CommentText = "This is an interesting state"; comment.Subjects.Add(state); t.Commit(); }

Transformación a Código

Ejemplo

Ejemplo string[] nextOptions = new string[]{}; if (!string.IsNullOrEmpty(currentState))‏ { if ("Unassigned"==currentState)‏ nextOptions = new string[] { "Unassigned" // allow leaving state unchanged "Approved", "Rejected", }; else if ("Rejected"==currentState)‏ nextOptions = new string[] { "Rejected", // allow leaving state unchanged };... } else { // New Issue nextOptions = new string[] {"Unassigned"}; }

Ejemplo

Referencias Domain-Specific Development with Visual Studio DSL Tools (Steve Cook, Gareth Jones, Stuart Kent y Alan Cameron Wills). (En especial los capítulos 7, 8, 10)‏ MSDN Domain-Specific Language Tools Documentation Exploring the new Domain-Specific Language (DSL Tools) DSL Tools Práctico. Tutorial DSL Tools. Generating Artifacts By Using Text Templates

Descargar DSL Tools Descargar “Visual Studio 2005 SDK Version 4.0” O buscar en google “Visual Studio 2005 SDK Version 4.0”.