1. Capítulo 1: Introducción
1.1 Motivación
1.2 Objetivos
1.3 Estructura de la tesina
2. Capítulo 2: Marco Teórico
2.1 Introducción
2.2 Conceptos básicos de Ingeniería dirigida por modelos
2.3 Desarrollo dirigido por modelos
2.4 Arquitectura dirigida por modelos
2.4.1 Conceptos básicos de MDA
2.5 Metamodelado
2.6 Automatización de los pasos de transformación
2.7 Lenguajes de modelado en MDD
2.7.1 UML
2.7.2 Meta Object Facility (MOF)
2.8 Modelado específico de dominio
2.8.1 Metamodelos en DSM
2.8.2 Breve historia del Modelado Específico de Dominio
2.8.3 DSM y UML
2.8.4 DSM y MDA
2.9 Lenguajes específicos del dominio
2.9.1 Definición de un Lenguaje Específico de Dominio
2.9.2 Tipos de DSL
2.9.3 Partes de un DSL
2.10 Trabajos relacionados
3. Capítulo 3: Metodología Agile DSM
3.1 Introducción
3.2 Filosofía DSM
3.3 Roles de usuarios en DSM
3.4 Agile DSM
3.4.1 El proceso de ADSM
3.4.2 Escenarios posibles para la detección de patrones
3.4.3 JSON como modelos
3.4.4 Formalización del metamodelo
3.5 ADSM frente a DSM
3.6 ADSM frente a la codificación manual tradicional
4. Capítulo 4: Herramienta desarrollada
4.1 Introducción
4.2 Funcionamiento de la herramienta Make Your Language
4.2.1 Diseño de Interfaz de usuario
4.2.2 Pantalla principal
4.2.3 Factory o Fábrica
4.2.4 Inferencia y creación de un modelo
4.2.5 Reglas de Validación
4.2.6 Templating y procesamiento de modelos
4.2.7 Descarga e historial de archivos generados
4.2.8 Procesador de código
4.2.9 Edición de nombre de archivo
4.2.10 Creación de un archivo
4.3 Sintaxis para la creación de templates
4.4 Sintaxis para la administración de templates y generación múltiple
4.5 Documentación herramienta MYL
4.5.1 Arquitectura de la herramienta MYL
4.5.2 Diagrama de clases
4.5.3 Diagramas de Casos de uso
4.6 Código fuente
4.7 Instrumentos y tecnologías utilizadas
5. Capítulo 5: Casos de estudio, estadísticas y análisis
5.1 Introducción
5.2 Casos de estudio
5.2.1 Caso de estudio N° 1 - Agenda
5.2.2 Caso de estudio N° 2 - Tesinas
6. Capítulo 6: Conclusiones y trabajos futuros
6.1 Conclusiones
6.2 Trabajo futuro
7. Bibliografía