VS. Eclipse Estudio de Framework Melanie Vilaine, Felipe Ramos Collado, Juan Antonio Tejero Fernández, Inmaculada Labrador del Río Ingeniería Informática Universidad de Cádiz 19 de enero de 2012 1 / 57
VS. Eclipse Índice 1 Introducción 2 3 4 VS. Eclipse 5 6 7 2 / 57
VS. Eclipse Introducción Introducción 1 Introducción 2 3 4 VS. Eclipse 5 6 7 3 / 57
VS. Eclipse Introducción Introducción Un lenguaje especíco de dominio (DSL) es un lenguaje (gráco o textual) para un propósito determinado adaptado a los problemas concretos de un dominio. Usando VMSDK (Visualization and Modeling SDK) se pueden crear potentes herramientas de desarrollo basadas en modelos que se pueden integrar en. 4 / 57
VS. Eclipse Introducción Introducción VMSDK le permite denir el modelo con una gran variedad de herramientas como: Vista esquemática. Capacidad de generar código y otros artefactos. Comandos para transformar el modelo. Capacidad para interactuar con el código y otros objetos en. 5 / 57
VS. Eclipse Introducción Introducción 2010 SDK Proporciona las herramientas y plantillas para la creación de extensiones de. Nombre del chero: VsSDK_sfx.exe. Tamaño: 11.5 MB Microsoft 2010 Visualization & Modeling SDK. Proporciona las herramientas y plantillas para la creación de DSL para. Nombre del chero: vs_vmsdk.exe. Tamaño: 3.3 MB. Microsoft Download Center 6 / 57
VS. Eclipse 1 Introducción 2 3 4 VS. Eclipse 5 6 7 7 / 57
VS. Eclipse Versión utilizada Framework de desarrollo 8 / 57
VS. Eclipse ¾Que permite desarollar? Aplicaciones Web ASP.NET Servicios Web XML Aplicaciones de escritorio Aplicaciones moviles 9 / 57
VS. Eclipse Conjunto de herramientas Entorno de desarrollo integrado Lenguages soportados Visual Basic Visual C++ Visual C# Visual J# Framework.NET 4.0 10 / 57
VS. Eclipse Conjunto de herramientas Desarollo de base de datos Implementación y administración de cambios Arquitectura y modelado Ayuda a entender los activos de código existentes y otras interdependencias Herramientas de prueba Pruebas manuales, de rendimiento, de carga... 11 / 57
VS. Eclipse Conjunto de herramientas Depuración y diagnostico Identicar y corregir errores Reproducir errores : Intellitrace Administración del ciclo de vida de las aplicaciones Planicar un proyecto 12 / 57
VS. Eclipse Ampliación del entorno Macros Complementos Packages Extensiones de Managed Extensibility Framework (MEF) 13 / 57
VS. Eclipse 1 Introducción 2 3 4 VS. Eclipse 5 6 7 14 / 57
VS. Eclipse ¾Qué es? Conjunto de herramientas que forman parte de que permiten diseñar un lenguaje especíco de dominio (DSL). Componentes Asistente de proyecto Diseñador gráco Motor de validación Generador de código 15 / 57
VS. Eclipse Asistente de proyecto Task Flow Class Diagrams Component Diagrams Minimal Language 16 / 57
VS. Eclipse Asistente de proyecto Solución: Dsl: Dsl + herramientas de edición dslpackage: Integración con 17 / 57
VS. Eclipse Interfaz de usuario Diseñador gráco: 18 / 57
VS. Eclipse Interfaz de usuario Diseñador gráco: Caja de herramientas. 19 / 57
VS. Eclipse Interfaz de usuario Diseñador gráco: Diagrama denición DSL. 20 / 57
VS. Eclipse Motor de validación Transform All Templates 21 / 57
VS. Eclipse Generación de código Permite generar código automáticamente haciendo uso de plantilla: <table> <# foreach (Customer c in ContactList) #> <tr><td> <#= c.fullname #> </td> <td> <#= c.emailaddress #> </td> </tr> <# #> </table> 22 / 57
VS. Eclipse Crear un proyecto con : 23 / 57
VS. Eclipse Crear un proyecto con : 24 / 57
VS. Eclipse Crear un proyecto con : 25 / 57
VS. Eclipse Crear un proyecto con : 26 / 57
VS. Eclipse vs. Eclipse. Comparativa 1 Introducción 2 3 4 VS. Eclipse 5 6 7 27 / 57
VS. Eclipse vs. Eclipse. Comparativa Puntos a comparar entre ambos: Metamodelado Componentes de editor visual Transformaciones entre modelos Desplegado del editor visual Otras consideraciones 28 / 57
VS. Eclipse vs. Eclipse. Comparativa Metamodelado Meta-metamodelos Ecore - Eclipse 29 / 57
VS. Eclipse vs. Eclipse. Comparativa Ecore: 30 / 57
VS. Eclipse vs. Eclipse. Comparativa : 31 / 57
VS. Eclipse vs. Eclipse. Comparativa Metamodelado Eclipse: Serialización en cheros XML con extensión.ecore. Diagrama visual del metamodelo en chero.ecore_diagram. Consideraciones generales: Herencia múltiple entre nuestras metaclases Metaclases con meta-atributos y meta-asociaciones Meta-asociación con roles, multiplicidades, navegabilidad y tipo (asociación o composición) 32 / 57
VS. Eclipse vs. Eclipse. Comparativa Metamodelado Eclipse: Maquina de estados simple 33 / 57
VS. Eclipse vs. Eclipse. Comparativa Metamodelado : Serialización en cheros XML con extensión.dsl. Diagrama visual del metamodelo en chero.dsl.diagram. Consideraciones generales: Herencia múltiple entre nuestras metaclases Metaclases con meta-atributos y meta-asociaciones Meta-asociación con roles, multiplicidades, navegabilidad y tipo (asociación o composición). 34 / 57
VS. Eclipse vs. Eclipse. Comparativa Metamodelado : Maquina de estados simple 35 / 57
VS. Eclipse vs. Eclipse. Comparativa Metamodelado Transformación de metamodelos entre Eclipse y VS: ATL 36 / 57
VS. Eclipse vs. Eclipse. Comparativa Componentes de editor visual Edición gráca Eclipse Paleta de herramientas 37 / 57
VS. Eclipse vs. Eclipse. Comparativa Componentes de editor visual Edición gráca en Eclipse Derivar modelo de denición gráca Generación de los gráco: Modelo Ajustes de denición 38 / 57
VS. Eclipse 39 / 57
VS. Eclipse vs. Eclipse. Comparativa Componentes de editor visual Edición gráca en : 40 / 57
VS. Eclipse vs. Eclipse. Comparativa Componentes de editor visual Paleta de herramientas en Eclipse: Derivar modelo de denición de herramientas Generación de herramientas: Modelo Ajustes de herramientas 41 / 57
VS. Eclipse vs. Eclipse. Comparativa Componentes de editor visual Paleta de herramientas en VS: 42 / 57
VS. Eclipse vs. Eclipse. Comparativa Mapeado de componentes de editor visual Eclipse: Derivar modelo de mapping Generación del modelo de mapping Ajuste de mapping 43 / 57
VS. Eclipse 44 / 57
VS. Eclipse vs. Eclipse. Comparativa Transformaciones entre modelos M2T: Eclipse: MOFScript : Text template transformation toolkit Proceso similar en ambos entornos Creamos un modelo Fichero para realizar transformación: Procesar chero modelo Obtención de chero resultado 45 / 57
VS. Eclipse vs. Eclipse. Comparativa Transformaciones entre modelos Eclipse: MOFScript: WebPageMM.Footer::toHTML() '<br/><hr/>'; '<div align=center>' self.info '</div>'; : Text template transformation toolkit-c# <# foreach (Pregunta p in this.formmetamodelo.pregunta)#> //código en lenguaje XX para representar la pregunta <#= p.descripcionpregunta #> //código en lenguaje XX para representar la pregunta <#System.Reflection.MemberInfo[] mem = (p.respuesta). GetType().GetMembers();#> 46 / 57
VS. Eclipse vs. Eclipse. Comparativa T4 Directivas Bloques de texto Bloques de control 47 / 57
VS. Eclipse vs. Eclipse. Comparativa Desplegado Eclipse Plugin Aplicación de escritorio VSIX ( Extension): Plugin Language1\DslPackage\bin\Debug 48 / 57
VS. Eclipse vs. Eclipse. Comparativa Otras consideraciones no permite transformaciones M2M No es libre No es gratuito 49 / 57
VS. Eclipse 1 Introducción 2 3 4 VS. Eclipse 5 6 7 50 / 57
VS. Eclipse Caso de uso: Generador de encuestas para Android 51 / 57
VS. Eclipse 1 Introducción 2 3 4 VS. Eclipse 5 6 7 52 / 57
VS. Eclipse Facilidad de uso frente a Eclipse. Menos potente: M2M Para Eclipse encontramos más ejemplos. La documentación de es mayor. Gran inconveniente: No gratuito, no libre. 53 / 57
VS. Eclipse 1 Introducción 2 3 4 VS. Eclipse 5 6 7 54 / 57
VS. Eclipse http: //msdn.microsoft.com/en-us/library/bb126288.aspx. Microsoft. http: //msdn.microsoft.com/en-us/library/bb126413.aspx. Microsoft. http: //msdn.microsoft.com/en-us/library/dd820703.aspx. Microsoft. http://msdn.microsoft.com/en-us/library/ bb126327.aspx#communitycontent. Microsoft.http://www.techrepublic.com/whitepapers/ building-tools-for-model-driven-development-comparing-mi 301799. 55 / 57
VS. Eclipse Microsoft.http: //msdn.microsoft.com/en-us/library/bb126478.aspx. Microsoft.http: //msdn.microsoft.com/en-us/library/bb126577.aspx. Microsoft.http://www.youtube.com/watch?v=_pZWZ4UH9L0. Microsoft.http: //msdn.microsoft.com/en-us/vstudio/cc677256. Microsoft.http: //dis.um.es/jmolina/pfc/dslvsmetaedit.pdf. 56 / 57
Gracias por su atención: Juan Antonio Tejero Fernández Inmaculada Labrador Del Río Felipe Ramos Collado Melanie Vilaine 57 / 57