Este documento presenta una introducción al enfoque de ingeniería dirigida por modelos (MDE) y los lenguajes específicos de dominio (DSL). Explica que MDE promueve el uso de modelos como artefactos de software clave y la generación automática de código a partir de modelos. También describe cómo la arquitectura dirigida por modelos (MDA) de la OMG propone un proceso de refinamiento de modelos en varios niveles de abstracción. Finalmente, resume los pasos clave para desarrollar un DSL,
El documento describe el enfoque de Ingeniería Dirigida por Modelos (MDE). MDE promueve el uso de modelos a diferentes niveles de abstracción para desarrollar sistemas de software. Los modelos representan el problema de software con un alto nivel de abstracción y sirven como entrada y salida en todas las fases del desarrollo del sistema hasta obtener el sistema de software final.
Este documento describe un taller sobre modelado y diagramación de sistemas automatizados utilizando la herramienta Rational Rose. El taller cubrirá conceptos como ingeniería de software, UML, RUP y modelado de casos de uso, además de modelar y diagramar un sistema automatizado y utilizar la herramienta Rational Rose. El objetivo del taller es unificar conocimientos entre profesores, estandarizar el modelado en proyectos y utilizar herramientas CASE como recursos tecnológicos.
Este documento proporciona una introducción al modelado de software. Explica que el modelado de software es una técnica que ayuda a visualizar y especificar la estructura y comportamiento de un sistema de información. Los modelos también facilitan la comunicación con los clientes. El modelado de software tiene varios beneficios como mejorar la productividad, reducir errores y facilitar el mantenimiento. Los principios incluyen elegir los modelos apropiados y expresarlos a diferentes niveles de detalle.
El documento presenta una introducción al modelado de sistemas de software. Explica que UML 2.0 mejoró la precisión semántica y la alineación arquitectónica con estándares como MOF para permitir el desarrollo guiado por modelos. También introdujo nuevos elementos como clases estructuradas, puertos y protocolos para permitir el modelado arquitectónico de sistemas complejos.
Este documento describe las metodologías MDA (Arquitectura dirigida por modelos) y MDE (Ingeniería dirigida por modelos). MDA se basa en la creación de modelos independientes de plataforma y específicos de plataforma para desarrollar software, mientras que MDE busca elevar el nivel de abstracción y automatización mediante el uso de modelos en diferentes niveles. El documento también compara estas metodologías y discute sus objetivos, métodos y herramientas.
Este documento describe diferentes taxonomías de arquitectura de software, incluyendo:
1) Big Ball of Mud, una arquitectura sin estructura donde los elementos están entrelazados;
2) Descomposición modular, que divide el software en módulos independientes con interfaces y cuerpos bien definidos;
3) Dependencias, donde un módulo utiliza o depende de otro módulo.
El documento describe el diseño a nivel de componentes, el cual define las estructuras de datos, algoritmos y mecanismos de comunicación asignados a cada componente del software. Explica qué es un componente y cómo se relacionan entre sí mediante módulos. También cubre principios como el abierto-cerrado, sustitución de Liskov y cohesión, los cuales buscan facilitar la reutilización y reducir el acoplamiento entre componentes.
Este documento describe los fundamentos del diseño de software. Explica que el diseño de software es importante para producir modelos del sistema antes de generar código. También cubre temas claves como la descomposición modular, la abstracción, el acoplamiento y la cohesión para lograr un diseño de alta calidad. Además, analiza conceptos como la encapsulación y la separación de la interfaz de la aplicación.
El documento describe el enfoque de Ingeniería Dirigida por Modelos (MDE). MDE promueve el uso de modelos a diferentes niveles de abstracción para desarrollar sistemas de software. Los modelos representan el problema de software con un alto nivel de abstracción y sirven como entrada y salida en todas las fases del desarrollo del sistema hasta obtener el sistema de software final.
Este documento describe un taller sobre modelado y diagramación de sistemas automatizados utilizando la herramienta Rational Rose. El taller cubrirá conceptos como ingeniería de software, UML, RUP y modelado de casos de uso, además de modelar y diagramar un sistema automatizado y utilizar la herramienta Rational Rose. El objetivo del taller es unificar conocimientos entre profesores, estandarizar el modelado en proyectos y utilizar herramientas CASE como recursos tecnológicos.
Este documento proporciona una introducción al modelado de software. Explica que el modelado de software es una técnica que ayuda a visualizar y especificar la estructura y comportamiento de un sistema de información. Los modelos también facilitan la comunicación con los clientes. El modelado de software tiene varios beneficios como mejorar la productividad, reducir errores y facilitar el mantenimiento. Los principios incluyen elegir los modelos apropiados y expresarlos a diferentes niveles de detalle.
El documento presenta una introducción al modelado de sistemas de software. Explica que UML 2.0 mejoró la precisión semántica y la alineación arquitectónica con estándares como MOF para permitir el desarrollo guiado por modelos. También introdujo nuevos elementos como clases estructuradas, puertos y protocolos para permitir el modelado arquitectónico de sistemas complejos.
Este documento describe las metodologías MDA (Arquitectura dirigida por modelos) y MDE (Ingeniería dirigida por modelos). MDA se basa en la creación de modelos independientes de plataforma y específicos de plataforma para desarrollar software, mientras que MDE busca elevar el nivel de abstracción y automatización mediante el uso de modelos en diferentes niveles. El documento también compara estas metodologías y discute sus objetivos, métodos y herramientas.
Este documento describe diferentes taxonomías de arquitectura de software, incluyendo:
1) Big Ball of Mud, una arquitectura sin estructura donde los elementos están entrelazados;
2) Descomposición modular, que divide el software en módulos independientes con interfaces y cuerpos bien definidos;
3) Dependencias, donde un módulo utiliza o depende de otro módulo.
El documento describe el diseño a nivel de componentes, el cual define las estructuras de datos, algoritmos y mecanismos de comunicación asignados a cada componente del software. Explica qué es un componente y cómo se relacionan entre sí mediante módulos. También cubre principios como el abierto-cerrado, sustitución de Liskov y cohesión, los cuales buscan facilitar la reutilización y reducir el acoplamiento entre componentes.
Este documento describe los fundamentos del diseño de software. Explica que el diseño de software es importante para producir modelos del sistema antes de generar código. También cubre temas claves como la descomposición modular, la abstracción, el acoplamiento y la cohesión para lograr un diseño de alta calidad. Además, analiza conceptos como la encapsulación y la separación de la interfaz de la aplicación.
UML. un analisis comparativo para la diagramación de softwareYaskelly Yedra
Este documento presenta un resumen de tres conceptos clave:
1) Explica brevemente el modelado conceptual en el desarrollo de software y los diferentes enfoques que han surgido como el desarrollo estructurado y orientado a objetos.
2) Describe los diagramas utilizados en el desarrollo estructurado como los diagramas de flujo y los utilizados en el desarrollo orientado a objetos.
3) Introduce el Lenguaje de Modelado Unificado (UML) como un estándar y analiza sus elementos básicos como diagram
Este documento describe diferentes aspectos de la disposición en la arquitectura de software. Explica conceptos como la construcción, despliegue y distribución del software, así como estilos de desarrollo tradicionales e iterativos y métodos ágiles. También cubre temas como la gestión de configuraciones, control de versiones y publicación de entregables.
El documento describe varios estilos arquitectónicos de software. Define qué es un estilo arquitectónico y cómo estos definen la estructura de un sistema en términos de patrones, componentes y conectores. Luego describe estilos como monolítico, tuberías y filtros, capas, repositorio/pizarrón, control centralizado, dirigido por eventos, cliente-servidor y distribuido/P2P. Cada estilo tiene un impacto diferente en acoplamiento, cohesión y otras propiedades del sistema.
Este documento describe diferentes sistemas de información empresarial como ERP, CRM, SCM y ECM. Explica que los sistemas ERP son sistemas integrados de gestión que gestionan procesos como producción, logística e inventario. También describe los sistemas CRM, que gestionan la relación con los clientes a lo largo de su ciclo de vida, incluyendo ventas y servicio al cliente.
Este documento describe varios estilos arquitectónicos según su comportamiento en tiempo de ejecución, incluyendo componentes y conectores. Se explican estilos como secuencial-batch, pipes y filtros, master-slave, MVC y blackboard.
Este documento presenta información sobre fundamentos de diseño de software, incluyendo diseño orientado a objetos, garantías de calidad de software, y técnicas de pruebas. Explica conceptos como abstracción, acoplamiento, cohesión y modularidad, los cuales son importantes para el diseño de software. También describe el proceso de diseño, incluyendo diseño arquitectónico y diseño detallado.
DiseñO Del Software E IngenieríA Del Softwarelcastillo110
El diseño del software se encuentra en el núcleo de la ingeniería del software. Un buen diseño transforma los requisitos en un producto final y sirve como guía para la codificación y pruebas. Un diseño de calidad considera los datos, la arquitectura, las interfaces y los componentes siguiendo principios como minimizar el acoplamiento y maximizar la cohesión. La documentación del diseño vincula los requisitos con la implementación.
El documento describe el diseño basado en patrones, que consiste en crear nuevas aplicaciones utilizando soluciones probadas para problemas comunes. Explica que los patrones de diseño describen problemas y sus soluciones probadas. También cubre por qué es importante usar patrones existentes en lugar de reinventar soluciones, y los beneficios de la reutilización de patrones probados.
La arquitectura de software se compone de sus componentes y las relaciones entre ellos. También contempla los principios y reglas que normarán su diseño y evolución. Una definición de arquitectura de software es la estructura de un sistema que abarca componentes de software, propiedades externas y relaciones. La arquitectura es importante porque facilita la comunicación, destaca decisiones de diseño temprano y constituye un modelo comprensible de cómo está estructurado el sistema.
Este documento presenta varias definiciones clave relacionadas con la arquitectura de software, incluyendo la diferencia entre patrones y estilos arquitectónicos, y entre arquitectura prescriptiva y descriptiva. También describe conceptos como arquitectura a la deriva, degradación de arquitectura y reconstrucción de arquitectura. Finalmente, presenta algunas categorías comunes para clasificar estilos arquitectónicos.
El documento trata sobre varios temas relacionados con la arquitectura de software. Explica conceptos como estilos arquitectónicos, lenguajes descriptivos de arquitectura (ADL), el patrón de arquitectura MVC, patrones de diseño, y repositorios de información arquitectónica. También discute las diferencias entre arquitectura y diseño, y menciona algunos estilos y patrones arquitectónicos comunes.
1 3 ingenieria software y patrones de diseñolandeta_p
El documento describe los conceptos clave del diseño de software, incluyendo que el diseño crea un modelo del sistema que permite evaluar la calidad antes de generar código. Explica que el diseño de software comienza luego del análisis de requerimientos y cubre datos, arquitectura, interfaz y componentes. También cubre los patrones de diseño como soluciones probadas a problemas comunes.
Este capítulo introduce conceptos clave del diseño de software como la modularidad, la reutilización y la facilidad de mantenimiento. Explica que el objetivo del diseño es producir software de calidad mediante un enfoque riguroso que traduzca los requisitos del usuario en un diseño y luego en código. También define varios factores internos y externos de calidad del software, y proporciona directrices para un buen diseño basado en principios como la implementación de requisitos y la legibilidad.
El análisis y diseño orientado a objetos (ADOO) es un enfoque de la ingeniería del software, la cuál permite modelar un sistema como un grupo de objetos que interactúan entre sí
Este documento presenta los contenidos de una unidad sobre diseño de sistemas de información. Explica que el diseño de software es un proceso iterativo para crear un plan que guíe la construcción del software a partir de los requisitos. Describe las fases del diseño y los cuatro modelos de diseño requeridos: diseño de datos, arquitectónico, de interfaces y a nivel de componentes. También cubre principios como la modularidad y la importancia de lograr calidad en el diseño.
MDA es una evolución de estándares definidos por OMG para mejorar procesos de desarrollo de software dirigidos por modelos. MDA utiliza diferentes tipos de modelos como CIM, PIM y PSM para separar las preocupaciones de negocio de las tecnológicas. Las transformaciones entre los modelos son la parte central de MDA y permiten generar código de manera automatizada.
Este documento trata sobre el diseño de interfaces de usuario desde una perspectiva de ingeniería de software. Explica que la interfaz de usuario juega un papel importante en el desarrollo de sistemas, ya que es el punto de contacto entre el usuario y el sistema. Además, se estima que entre el 35% y 45% de los costos de un proyecto de software se destinan al diseño e implementación de la interfaz de usuario. El documento también discute conceptos clave relacionados con el diseño de interfaces como factores humanos, principios de diseño, tipos de
UML es un lenguaje estándar para modelar sistemas de software que incluye varios diagramas para representar diferentes aspectos como casos de uso, clases, secuencias y actividades. Se desarrolló para facilitar la comunicación entre equipos de desarrollo y documentar el diseño de sistemas. Existen herramientas libres como ArgoUML y Poseidon para UML que permiten crear y editar modelos UML.
UML para dispositivos móviles - Milena Cabrera2008PA2Info3
El documento habla sobre los estereotipos UML para aplicaciones móviles. Explica que los estereotipos proporcionan una clasificación de alto nivel de objetos y permiten extender el lenguaje UML. También describe algunos tipos de dispositivos móviles e identifica aspectos importantes para el modelado como la movilidad y la personalización. Finalmente, concluye que el análisis de modelado es limitado debido a restricciones de empresas y que seguir estándares como UML facilita el desarrollo eficiente de aplicaciones
Este documento presenta una introducción a varios conceptos fundamentales de diseño de software, incluyendo la abstracción, el refinamiento, la modularidad, la arquitectura de software y la jerarquía de control. Explica que estos conceptos proveen un marco de trabajo para diseñar software de manera correcta y ayudan a responder preguntas sobre cómo particionar el software en componentes, separar funcionalidad y datos, y definir la calidad técnica de un diseño.
El documento describe el enfoque de desarrollo dirigido por modelos (MDD), en el que los modelos y las transformaciones de modelos son los principales artefactos de desarrollo en lugar de los programas. MDD implica la generación (semi) automática de implementaciones a partir de modelos. La Object Management Group (OMG) promueve MDD a través de su lenguaje de modelado unificado (UML) y la Arquitectura Dirigida por Modelos (MDA). MDD tiene mayor valor cuando los modelos pueden transformarse automáticamente y cuando la evoluc
Este documento presenta una investigación sobre el uso de lenguajes específicos de dominio (DSL) y el desarrollo dirigido por modelos (MDD) para sistemas embebidos. Se describe un caso de estudio de un sistema de control de inundaciones y cómo se utilizaron herramientas como MetaEdit+, EMF y ATL para definir un DSL, modelar el sistema y generar código y documentación. El documento concluye que el uso de DSL y MDD puede mejorar la reutilización y la abstracción, aunque el diseño de DSL
UML. un analisis comparativo para la diagramación de softwareYaskelly Yedra
Este documento presenta un resumen de tres conceptos clave:
1) Explica brevemente el modelado conceptual en el desarrollo de software y los diferentes enfoques que han surgido como el desarrollo estructurado y orientado a objetos.
2) Describe los diagramas utilizados en el desarrollo estructurado como los diagramas de flujo y los utilizados en el desarrollo orientado a objetos.
3) Introduce el Lenguaje de Modelado Unificado (UML) como un estándar y analiza sus elementos básicos como diagram
Este documento describe diferentes aspectos de la disposición en la arquitectura de software. Explica conceptos como la construcción, despliegue y distribución del software, así como estilos de desarrollo tradicionales e iterativos y métodos ágiles. También cubre temas como la gestión de configuraciones, control de versiones y publicación de entregables.
El documento describe varios estilos arquitectónicos de software. Define qué es un estilo arquitectónico y cómo estos definen la estructura de un sistema en términos de patrones, componentes y conectores. Luego describe estilos como monolítico, tuberías y filtros, capas, repositorio/pizarrón, control centralizado, dirigido por eventos, cliente-servidor y distribuido/P2P. Cada estilo tiene un impacto diferente en acoplamiento, cohesión y otras propiedades del sistema.
Este documento describe diferentes sistemas de información empresarial como ERP, CRM, SCM y ECM. Explica que los sistemas ERP son sistemas integrados de gestión que gestionan procesos como producción, logística e inventario. También describe los sistemas CRM, que gestionan la relación con los clientes a lo largo de su ciclo de vida, incluyendo ventas y servicio al cliente.
Este documento describe varios estilos arquitectónicos según su comportamiento en tiempo de ejecución, incluyendo componentes y conectores. Se explican estilos como secuencial-batch, pipes y filtros, master-slave, MVC y blackboard.
Este documento presenta información sobre fundamentos de diseño de software, incluyendo diseño orientado a objetos, garantías de calidad de software, y técnicas de pruebas. Explica conceptos como abstracción, acoplamiento, cohesión y modularidad, los cuales son importantes para el diseño de software. También describe el proceso de diseño, incluyendo diseño arquitectónico y diseño detallado.
DiseñO Del Software E IngenieríA Del Softwarelcastillo110
El diseño del software se encuentra en el núcleo de la ingeniería del software. Un buen diseño transforma los requisitos en un producto final y sirve como guía para la codificación y pruebas. Un diseño de calidad considera los datos, la arquitectura, las interfaces y los componentes siguiendo principios como minimizar el acoplamiento y maximizar la cohesión. La documentación del diseño vincula los requisitos con la implementación.
El documento describe el diseño basado en patrones, que consiste en crear nuevas aplicaciones utilizando soluciones probadas para problemas comunes. Explica que los patrones de diseño describen problemas y sus soluciones probadas. También cubre por qué es importante usar patrones existentes en lugar de reinventar soluciones, y los beneficios de la reutilización de patrones probados.
La arquitectura de software se compone de sus componentes y las relaciones entre ellos. También contempla los principios y reglas que normarán su diseño y evolución. Una definición de arquitectura de software es la estructura de un sistema que abarca componentes de software, propiedades externas y relaciones. La arquitectura es importante porque facilita la comunicación, destaca decisiones de diseño temprano y constituye un modelo comprensible de cómo está estructurado el sistema.
Este documento presenta varias definiciones clave relacionadas con la arquitectura de software, incluyendo la diferencia entre patrones y estilos arquitectónicos, y entre arquitectura prescriptiva y descriptiva. También describe conceptos como arquitectura a la deriva, degradación de arquitectura y reconstrucción de arquitectura. Finalmente, presenta algunas categorías comunes para clasificar estilos arquitectónicos.
El documento trata sobre varios temas relacionados con la arquitectura de software. Explica conceptos como estilos arquitectónicos, lenguajes descriptivos de arquitectura (ADL), el patrón de arquitectura MVC, patrones de diseño, y repositorios de información arquitectónica. También discute las diferencias entre arquitectura y diseño, y menciona algunos estilos y patrones arquitectónicos comunes.
1 3 ingenieria software y patrones de diseñolandeta_p
El documento describe los conceptos clave del diseño de software, incluyendo que el diseño crea un modelo del sistema que permite evaluar la calidad antes de generar código. Explica que el diseño de software comienza luego del análisis de requerimientos y cubre datos, arquitectura, interfaz y componentes. También cubre los patrones de diseño como soluciones probadas a problemas comunes.
Este capítulo introduce conceptos clave del diseño de software como la modularidad, la reutilización y la facilidad de mantenimiento. Explica que el objetivo del diseño es producir software de calidad mediante un enfoque riguroso que traduzca los requisitos del usuario en un diseño y luego en código. También define varios factores internos y externos de calidad del software, y proporciona directrices para un buen diseño basado en principios como la implementación de requisitos y la legibilidad.
El análisis y diseño orientado a objetos (ADOO) es un enfoque de la ingeniería del software, la cuál permite modelar un sistema como un grupo de objetos que interactúan entre sí
Este documento presenta los contenidos de una unidad sobre diseño de sistemas de información. Explica que el diseño de software es un proceso iterativo para crear un plan que guíe la construcción del software a partir de los requisitos. Describe las fases del diseño y los cuatro modelos de diseño requeridos: diseño de datos, arquitectónico, de interfaces y a nivel de componentes. También cubre principios como la modularidad y la importancia de lograr calidad en el diseño.
MDA es una evolución de estándares definidos por OMG para mejorar procesos de desarrollo de software dirigidos por modelos. MDA utiliza diferentes tipos de modelos como CIM, PIM y PSM para separar las preocupaciones de negocio de las tecnológicas. Las transformaciones entre los modelos son la parte central de MDA y permiten generar código de manera automatizada.
Este documento trata sobre el diseño de interfaces de usuario desde una perspectiva de ingeniería de software. Explica que la interfaz de usuario juega un papel importante en el desarrollo de sistemas, ya que es el punto de contacto entre el usuario y el sistema. Además, se estima que entre el 35% y 45% de los costos de un proyecto de software se destinan al diseño e implementación de la interfaz de usuario. El documento también discute conceptos clave relacionados con el diseño de interfaces como factores humanos, principios de diseño, tipos de
UML es un lenguaje estándar para modelar sistemas de software que incluye varios diagramas para representar diferentes aspectos como casos de uso, clases, secuencias y actividades. Se desarrolló para facilitar la comunicación entre equipos de desarrollo y documentar el diseño de sistemas. Existen herramientas libres como ArgoUML y Poseidon para UML que permiten crear y editar modelos UML.
UML para dispositivos móviles - Milena Cabrera2008PA2Info3
El documento habla sobre los estereotipos UML para aplicaciones móviles. Explica que los estereotipos proporcionan una clasificación de alto nivel de objetos y permiten extender el lenguaje UML. También describe algunos tipos de dispositivos móviles e identifica aspectos importantes para el modelado como la movilidad y la personalización. Finalmente, concluye que el análisis de modelado es limitado debido a restricciones de empresas y que seguir estándares como UML facilita el desarrollo eficiente de aplicaciones
Este documento presenta una introducción a varios conceptos fundamentales de diseño de software, incluyendo la abstracción, el refinamiento, la modularidad, la arquitectura de software y la jerarquía de control. Explica que estos conceptos proveen un marco de trabajo para diseñar software de manera correcta y ayudan a responder preguntas sobre cómo particionar el software en componentes, separar funcionalidad y datos, y definir la calidad técnica de un diseño.
El documento describe el enfoque de desarrollo dirigido por modelos (MDD), en el que los modelos y las transformaciones de modelos son los principales artefactos de desarrollo en lugar de los programas. MDD implica la generación (semi) automática de implementaciones a partir de modelos. La Object Management Group (OMG) promueve MDD a través de su lenguaje de modelado unificado (UML) y la Arquitectura Dirigida por Modelos (MDA). MDD tiene mayor valor cuando los modelos pueden transformarse automáticamente y cuando la evoluc
Este documento presenta una investigación sobre el uso de lenguajes específicos de dominio (DSL) y el desarrollo dirigido por modelos (MDD) para sistemas embebidos. Se describe un caso de estudio de un sistema de control de inundaciones y cómo se utilizaron herramientas como MetaEdit+, EMF y ATL para definir un DSL, modelar el sistema y generar código y documentación. El documento concluye que el uso de DSL y MDD puede mejorar la reutilización y la abstracción, aunque el diseño de DSL
Este documento presenta un análisis de lenguajes específicos de dominio para sistemas embebidos. Explica brevemente los sistemas embebidos y los problemas asociados con su complejidad creciente. Luego describe paradigmas como los lenguajes específicos de dominio, el desarrollo impulsado por modelos y las líneas de productos de software que pueden abordar estos problemas. Finalmente, resume el trabajo realizado en un caso de estudio que involucra la definición de un DSL, el modelado, las transformaciones
El documento describe un proyecto de tesis para implementar un enfoque dirigido por modelos (MDD) para el diseño de almacenes de datos (data warehouses, DW) a partir de bases de datos operacionales. Se propone crear lenguajes específicos de dominio (DSLs) para cada modelo del proceso de diseño DW y automatizar las transformaciones entre modelos usando estándares de la OMG como Eclipse Modeling Framework y ATL. El objetivo final es generar automáticamente esquemas relacionales y código SQL a partir de un modelo conceptual de la base de datos original.
Metodología de Desarrollo de Software en base a MDE con DSLSantiago Jacome
El documento describe una propuesta de metodología para ingeniería dirigida por modelos (MDE) utilizando lenguajes de dominio específico (DSL). La metodología incluye cuatro etapas: 1) preparación del proyecto mediante el análisis de dominio y conformación del equipo, 2) diseño del DSL, 3) desarrollo de aplicaciones utilizando los artefactos MDE, y 4) mantenimiento y evolución. El objetivo es definir un proceso formal de desarrollo de software basado en MDE y DSL
Metodologías de ingeniería Web dirigida por modelosJose R. Hilera
Este documento presenta una comparación de diferentes metodologías de ingeniería web dirigida por modelos (MDWE). Resume que la mayoría de estas metodologías definen varios tipos de modelos como parte del proceso de desarrollo, incluyendo modelos conceptuales, de navegación y de presentación. También explica que estas metodologías se basan en el estándar MDA y definen sus propios metamodelos y transformaciones de modelos para automatizar el desarrollo. Finalmente, analiza algunas de las metodologías MDWE más conocidas
Este documento describe la Arquitectura Dirigida por Modelos (Model Driven Architecture, MDA). MDA es un enfoque de desarrollo de software propuesto por el Object Management Group que utiliza modelos como elementos centrales del proceso de desarrollo. Se definen tres tipos de modelos: CIM, PIM y PSM. MDA permite la generación automática de código a partir de la transformación de modelos. Las herramientas MDA como IBM Rational Software Architect soportan el desarrollo basado en MDA.
1) El documento presenta un proyecto de tesis sobre el modelado específico de dominio para la construcción de módulos de aprendizaje independientes de plataforma.
2) Se revisan las herramientas existentes para el modelado de sistemas de gestión del aprendizaje y se propone crear una ontología, metamodelo y lenguaje específico de dominio.
3) El desarrollo de la propuesta incluye el estudio de módulos comunes, la creación de una ontología y metamodelo, y
No más "programación copy&paste". Generación automática de código con MOSKittJavier Muñoz
Este documento describe la programación copy & paste, MOSKitt y DSDM. La programación copy & paste produce código repetitivo propenso a errores, mientras que MOSKitt y DSDM promueven el desarrollo dirigido por modelos para generar código de forma automática a partir de patrones de solución, evitando la programación copy & paste.
Este documento analiza la adecuación de diferentes lenguajes de programación web como PHP, ASP.NET y J2EE para el desarrollo de aplicaciones basadas en patrones de diseño J2EE de alto nivel. Describe los patrones de diseño J2EE analizados y las tecnologías consideradas. Realiza un mapeo entre las ontologías de patrones de diferentes fuentes y analiza los patrones requeridos para aplicaciones con persistencia, concurrencia y mensajería.
El análisis y diseño orientado a objetos (ADOO) es un enfoque de ingeniería de software que modela un sistema como un grupo de objetos que interactúan entre sí. ADOO aplica técnicas de modelado de objetos para analizar los requerimientos de un contexto como un sistema de negocio y diseñar una solución, creando modelos con una notación como UML. Las metodologías modernas de análisis y diseño siguen un enfoque de casos de uso guiado por requerimientos, diseño, implementación, pruebas y
El documento habla sobre modelado de datos. Define el modelado de datos como el proceso de analizar los aspectos de interés de una organización y las relaciones entre ellos, resultando en el descubrimiento y documentación de los recursos de datos del negocio. También cubre los beneficios del modelado de datos como registrar los requerimientos de datos de un proceso de negocio y permitir observar patrones y usos potenciales de los datos.
Leo métodos de modelado para aplicaciones web-4Leo Jm
El documento presenta 5 métodos de modelado para aplicaciones web: IDEF, EORM, RUP, espiral para web y UML. Cada método se enfoca en un enfoque diferente como modelado de funciones, relaciones entre objetos, procesos iterativos, gestión de riesgos y notación gráfica respectivamente. Los métodos comparten el objetivo de facilitar el desarrollo y comunicación en proyectos de aplicaciones web.
Este documento presenta los fundamentos del diseño de software. Explica conceptos como abstracción, acoplamiento, cohesión y modularidad, los cuales son importantes para el diseño de software. También describe el proceso de diseño, incluyendo el diseño arquitectónico y detallado. Además, introduce conceptos de diseño orientado a objetos y garantía de calidad de software.
Las bases de datos orientadas a objetos (BDOO) son bases de datos inteligentes que soportan el paradigma orientado a objetos al almacenar datos y métodos, no solo datos. Son más seguras ya que solo se puede acceder a los datos a través de los métodos, y UML es un lenguaje gráfico estándar utilizado para modelar BDOO mediante diagramas como casos de uso, clases y secuencias.
Se presentó como trabajo de investigación de la asignatura Programación Web de la carrera Ingeniería en Sistemas de la Universidad de Cuenca, realizar un documento en el cual se detallen las métricas y demás aspectos necesarios para poder elaborar un trade-off sobre las diferentes tecnologías web en la actualidad.
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)Jordi Cabot
Consejos para tener éxito en la adopción de una estrategia MDD en vuestro proceso de desarrollo.
Más sobre estos temas (UML, DSLs, MDA, generación de código,..) en http://modeling-languages.com
Applying static code analysis for domain-specific languagesIván Ruiz-Rube
The document discusses applying static code analysis tools like SonarQube to analyze domain-specific languages (DSLs) developed using frameworks like Xtext. It presents a model-driven approach to automatically generate the code analyzers required by SonarQube from Xtext grammars. Case studies applying this to analyze algorithms in pseudocode and sheet music are described. Results found some correlation between manual and tool-based quality analysis, and musicians found the errors reported by the tool useful. Future work includes analyzing visual DSLs and model-driven development of augmented reality editors.
Static code analysis to measure the quality of musical scoresIván Ruiz-Rube
Static code analysis to measure the quality of musical scores
The document discusses using static code analysis to measure the quality of digital musical scores created with LilyPond. It developed a plugin for the SonarQube platform to analyze LilyPond scores and implemented rules to check for errors. Experts then evaluated scores in SonarQube and found it helped identify errors they also noticed manually. The work is limited but aims to expand metrics and support other score tools to improve quality analysis of digital musical works.
This document discusses static analysis of programs written in domain-specific languages (DSLs) developed with Xtext. It presents a model-driven strategy to bridge the gap between Xtext and SonarQube grammar formats, allowing quality analysis of DSL programs. The strategy involves automatically generating the Java code infrastructure for a new language in SonarQube based on the Xtext grammar. An example DSL for teaching programming called Vary is presented to demonstrate the approach.
Cómo desarrollar fácilmente una app para AndroidIván Ruiz-Rube
El documento presenta una charla sobre cómo desarrollar fácilmente una aplicación para Android. Explica iniciativas para el aprendizaje de la programación como Code.org y One Hour of Code. Luego describe el sistema operativo Android y la herramienta App Inventor, que permite crear aplicaciones con componentes visuales y bloques de programación. Finalmente, muestra una demostración práctica de desarrollo de una aplicación básica en App Inventor.
Un framework para el despliegue y evaluación de procesos softwareIván Ruiz-Rube
Este documento presenta una tesis doctoral sobre un marco de trabajo para el despliegue y evaluación de procesos de software. La tesis propone un método para automatizar el despliegue de procesos de software en herramientas de soporte y mejorar los procedimientos para evaluar la calidad de los procesos mediante la recopilación de métricas. El marco de trabajo se basa en modelos de procesos, sus relaciones y la integración con herramientas de soporte.
Este documento introduce el software de Business Intelligence Pentaho BI Suite. Explica que Pentaho es un conjunto de herramientas open source y comerciales para cubrir las necesidades de un proyecto de BI. Describe los principales componentes de Pentaho como el diseñador de informes, el motor OLAP Mondrian y herramientas de minería de datos. Finalmente, incluye una demostración del uso de Pentaho para diseñar procesos ETL, crear reportes e informes analíticos, y diseñar paneles de control.
PseudoDSL. Un lenguaje generativo para el aprendizaje de pseudocódigoIván Ruiz-Rube
Este documento describe el desarrollo de PseudoDSL, un lenguaje generativo para el aprendizaje de pseudocódigo. El objetivo es crear un entorno que permita diseñar algoritmos en pseudocódigo y generar automáticamente código ejecutable. Se construyó un editor para el lenguaje y se aplicó el enfoque de ingeniería dirigida por modelos. En el futuro, se evaluará su uso en asignaturas de introducción a la programación y se mejorará la generación de código.
Este documento resume las herramientas disponibles para la publicación y consulta de datos vinculados abiertos (Linked Open Data). Describe herramientas para el diseño de ontologías, generación de datos RDF, gestión y almacenamiento de datos, exposición de datos a través de URIs y endpoints SPARQL, y consumo de datos mediante navegadores y motores de búsqueda para datos vinculados. También menciona plataformas que integran varios servicios semánticos como anotación automática, almacenamiento RDF, razonamiento y interfaces de
Development issues on linked data weblog enrichmentIván Ruiz-Rube
This document discusses development issues for enriching weblogs with linked data. It presents a proposal to extend WordPress with a customized TinyMCE editor to add annotations and metadata using RDFa to blog texts and videos. Some issues addressed include balancing generality vs usability of the user interface, designing URIs, tracking annotations, and applying security and ensuring trust for the metadata. The goal is to semantically enrich information in blog entries while being independent of the domain model and host system.
Evaluación de un ecosistema software en organizaciones de desarrollo web bajo...Iván Ruiz-Rube
Este documento presenta un método para evaluar ecosistemas de software en organizaciones de desarrollo web que siguen el modelo CMMI. Propone el uso de herramientas de software para apoyar los procesos ágiles y CMMI. Evalúa las herramientas basadas en su capacidad para cumplir con las prácticas de CMMI y principios ágiles. Aplica el método a un caso real, con resultados positivos aunque incompletos. Finalmente, sugiere futuras investigaciones sobre la integración de herramientas y métricas para
Supporting the software process management with model driven engineeringIván Ruiz-Rube
The document discusses using model-driven engineering to support the business process management lifecycle. It first introduces organizational process definition, which involves creating process models using graphical notations and textual descriptions. It then discusses supporting the business process management lifecycle, which includes design, configuration, enactment and analysis of business processes. Finally, it proposes using modeling standards like SPEM to design process models that can support each stage of the business process management lifecycle.
Gestión de la calidad usando ingeniería dirigida por modelosIván Ruiz-Rube
Este documento presenta un resumen de un trabajo de investigación sobre el uso de la Ingeniería Dirigida por Modelos (MDE) para mejorar la calidad del producto y proceso de software. El trabajo estudia cómo MDE puede apoyar la calidad interna, externa y en uso del software mediante el uso de métricas, pruebas, simulaciones y la definición de acuerdos de nivel de servicio. El trabajo también examina cómo MDE puede mejorar la calidad de los procesos de software a través de la definición de modelos de procesos.
Quality management using mde - an overviewIván Ruiz-Rube
This document discusses quality management using model-driven engineering. It provides an overview of common quality management practices that can be supported through MDE like project management, requirements management, measurement and analysis, technical reviews, and software testing. It also reviews related work applying MDE to these practices. Key insights are that MDE can expedite quality practices and improve software quality. Future work opportunities include an integrated quality environment, improving component reusability, and leveraging MDE for software architecture activities.
Iván Ruiz Rube presents an overview of Linked Open Data. He discusses how publishing structured data using open standards like RDF and SPARQL allows data to be interlinked and more useful. Ruiz Rube explains how to publish data as Linked Open Data using different patterns and how consuming Linked Data involves developing rich interfaces for humans and querying data for machines using SPARQL. The goal of Linked Open Data is to create new applications by linking open datasets on the web.
Herramientas para la mejora del proceso de desarrollo de aplicaciones J2EEIván Ruiz-Rube
El documento describe herramientas para mejorar el proceso de desarrollo de aplicaciones J2EE, incluyendo sistemas de control de versiones, gestión de proyectos, automatización de compilación, gestión de conocimiento, repositorios de componentes, análisis de calidad y pruebas de integración continua.
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...AMADO SALVADOR
El catálogo general de electrodomésticos Teka presenta una amplia gama de productos de alta calidad y diseño innovador. Como distribuidor oficial Teka, Amado Salvador ofrece soluciones en electrodomésticos Teka que destacan por su tecnología avanzada y durabilidad. Este catálogo incluye una selección exhaustiva de productos Teka que cumplen con los más altos estándares del mercado, consolidando a Amado Salvador como el distribuidor oficial Teka.
Explora las diversas categorías de electrodomésticos Teka en este catálogo, cada una diseñada para satisfacer las necesidades de cualquier hogar. Amado Salvador, como distribuidor oficial Teka, garantiza que cada producto de Teka se distingue por su excelente calidad y diseño moderno.
Amado Salvador, distribuidor oficial Teka en Valencia. La calidad y el diseño de los electrodomésticos Teka se reflejan en cada página del catálogo, ofreciendo opciones que van desde hornos, placas de cocina, campanas extractoras hasta frigoríficos y lavavajillas. Este catálogo es una herramienta esencial para inspirarse y encontrar electrodomésticos de alta calidad que se adaptan a cualquier proyecto de diseño.
En Amado Salvador somos distribuidor oficial Teka en Valencia y ponemos atu disposición acceso directo a los mejores productos de Teka. Explora este catálogo y encuentra la inspiración y los electrodomésticos necesarios para equipar tu hogar con la garantía y calidad que solo un distribuidor oficial Teka puede ofrecer.
KAWARU CONSULTING presenta el projecte amb l'objectiu de permetre als ciutadans realitzar tràmits administratius de manera telemàtica, des de qualsevol lloc i dispositiu, amb seguretat jurídica. Aquesta plataforma redueix els desplaçaments físics i el temps invertit en tràmits, ja que es pot fer tot en línia. A més, proporciona evidències de la correcta realització dels tràmits, garantint-ne la validesa davant d'un jutge si cal. Inicialment concebuda per al Ministeri de Justícia, la plataforma s'ha expandit per adaptar-se a diverses organitzacions i països, oferint una solució flexible i fàcil de desplegar.
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaAMADO SALVADOR
Descubre el catálogo general de la gama de productos de refrigeración del fabricante de electrodomésticos Miele, presentado por Amado Salvador distribuidor oficial Miele en Valencia. Como distribuidor oficial de electrodomésticos Miele, Amado Salvador ofrece una amplia selección de refrigeradores, congeladores y soluciones de refrigeración de alta calidad, resistencia y diseño superior de esta marca.
La gama de productos de Miele se caracteriza por su innovación tecnológica y eficiencia energética, garantizando que cada electrodoméstico no solo cumpla con las expectativas, sino que las supere. Los refrigeradores Miele están diseñados para ofrecer un rendimiento óptimo y una conservación perfecta de los alimentos, con características avanzadas como la tecnología de enfriamiento Dynamic Cooling, sistemas de almacenamiento flexible y acabados premium.
En este catálogo, encontrarás detalles sobre los distintos modelos de refrigeradores y congeladores Miele, incluyendo sus especificaciones técnicas, características destacadas y beneficios para el usuario. Amado Salvador, como distribuidor oficial de electrodomésticos Miele, garantiza que todos los productos cumplen con los más altos estándares de calidad y durabilidad.
Explora el catálogo completo y encuentra el refrigerador Miele perfecto para tu hogar con Amado Salvador, el distribuidor oficial de electrodomésticos Miele.
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor OficialAMADO SALVADOR
Explora el catálogo completo de cajas fuertes BTV, disponible a través de Amado Salvador, distribuidor oficial de BTV. Este catálogo presenta una amplia variedad de cajas fuertes, cada una diseñada con la más alta calidad para ofrecer la máxima seguridad y satisfacer las diversas necesidades de protección de nuestros clientes.
En Amado Salvador, como distribuidor oficial de BTV, ofrecemos productos que destacan por su innovación, durabilidad y robustez. Las cajas fuertes BTV son reconocidas por su eficiencia en la protección contra robos, incendios y otros riesgos, lo que las convierte en una opción ideal tanto para uso doméstico como comercial.
Amado Salvador, distribuidor oficial BTV, asegura que cada producto cumpla con los más estrictos estándares de calidad y seguridad. Al adquirir una caja fuerte a través de Amado Salvador, distribuidor oficial BTV, los clientes pueden tener la tranquilidad de que están obteniendo una solución confiable y duradera para la protección de sus pertenencias.
Este catálogo incluye detalles técnicos, características y opciones de personalización de cada modelo de caja fuerte BTV. Desde cajas fuertes empotrables hasta modelos de alta seguridad, Amado Salvador, como distribuidor oficial de BTV, tiene la solución perfecta para cualquier necesidad de seguridad. No pierdas la oportunidad de conocer todos los beneficios y características de las cajas fuertes BTV y protege lo que más valoras con la calidad y seguridad que solo BTV y Amado Salvador, distribuidor oficial BTV, pueden ofrecerte.
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaAMADO SALVADOR
Descubra el catálogo completo de buzones BTV, una marca líder en la fabricación de buzones y cajas fuertes para los sectores de ferretería, bricolaje y seguridad. Como distribuidor oficial de BTV, Amado Salvador se enorgullece de presentar esta amplia selección de productos diseñados para satisfacer las necesidades de seguridad y funcionalidad en cualquier entorno.
Descubra una variedad de buzones residenciales, comerciales y corporativos, cada uno construido con los más altos estándares de calidad y durabilidad. Desde modelos clásicos hasta diseños modernos, los buzones BTV ofrecen una combinación perfecta de estilo y resistencia, garantizando la protección de su correspondencia en todo momento.
Amado Salvador, se compromete a ofrecer productos de primera clase respaldados por un servicio excepcional al cliente. Como distribuidor oficial de BTV, entendemos la importancia de la seguridad y la tranquilidad para nuestros clientes. Por eso, trabajamos en colaboración con BTV para brindarle acceso a los mejores productos del mercado.
Explore el catálogo de buzones ahora y encuentre la solución perfecta para sus necesidades de correo y seguridad. Confíe en Amado Salvador y BTV para proporcionarle buzones de calidad excepcional que cumplan y superen sus expectativas.
Manual de soporte y mantenimiento de equipo de cómputo
MDE & DSLs
1. Desarrollo de software orientado a servicios y procesos de aprendizaje
Itinerario de Doctorado en Modelado, Simulación y Pruebas de Procesos y Tratamiento de Señales y Datos
Model-Driven Engineering
&
Domain Specific Languages
Iván Ruiz Rube
Departamento de Lenguajes y Sistemas Informáticos
Universidad de Cádiz
10/04/2012 1
2. Contenidos
Introducción
La visión de la OMG
Lenguajes específicos de dominio
¿Cómo desarrollar un DSL?
Herramientas
Conclusiones
10/04/2012 2
4. Evolución del desarrollo software
1. Programación en Ensamblador
x86
2. Programación Estructurada
Pascal, C
3. Orientación a Objetos
C++, Java
4. Componentes software
J2EE, .NET
5. Orientación a Aspectos
AspectJ, Spring Framework AOP
6. Arquitecturas orientadas a Servicios
WSDL, SOAP, REST
7. .…
10/04/2012 4
5. Modelos
Hasta ahora, la programación siempre
es el centro de atención
Al igual que en otras ingenierías..
¡tenemos que aumentar el nivel de
abstracción!
Los modelos nos ayudan a construir
sistemas más complejos.
Modelo: descripción o especificación
(de parte) de un sistema software
desde un determinado punto de vista
10/04/2012 5
6. Ejemplo de Modelo
Diagrama de componentes. Arquitectura de
diseño (3 capas) de un sistema web
10/04/2012 6
7. Características y utilidades
Características:
◦ Abstracto: ocultación de elementos
◦ Comprensible: lenguaje entendible
◦ Preciso: correcto sintáctica y
semánticamente
◦ Barato: sencillo de construir
Utilidades:
◦ Especificar las características del sistema a
desarrollar
◦ Comprenderlo con exactitud
◦ Detectar errores con antelación
◦ Guiar la programación
10/04/2012 7
8. Problemas
Sólo suelen usarse como
documentación
En muchas ocasiones su calidad se
mide “al peso”
Falta de sincronía: entre modelos y
entre modelos-código
No podemos optimizar o validar
modelos automáticamente
¿Cuál es el retorno de la inversión
que conseguimos al desarrollar
10/04/2012 8
9. Model-Driven Engineering
MDE es un “nuevo” enfoque en
Ingeniería del Software
Utilización de modelos como
artefactos software
Podremos tener
editores, optimizadores, validadores y
compiladores (transformadores) de
modelos
Objetivo perpetuo en IS: facilitar
trabajo y reducir tiempos de desarrollo
y número de errores
10/04/2012 9
10. Usos
Model-Driven Web Engineering (MDWE)
◦ Generación automática de modelos de
ingeniería (requisitos, análisis, etc.)
Software Process Engineering (SPE)
◦ Soporte a la gestión de procesos
(metodologías) organizacionales
Model-Driven Testing (MDT)
◦ Construcción de casos de prueba
Model-Driven Development (MDD)
◦ Generación automática de código fuente
10/04/2012 10
12. Model-Driven Architecture
MDA es la propuesta
de la OMG para dar
soporte al enfoque
basado en modelos
MDA ofrece un
conjunto de
estándares y un
enfoque de modelado
basado en niveles
10/04/2012 12
13. Estándares
UML: Unified Modeling Language
OCL: Object Constraint Language
QVT: Query/View/Transformation
XMI: XML Metadata Interchange
…
MOF, SPEM, CWM, ODM, …
10/04/2012 13
14. Enfoque de modelado
MDA promueve separar la
especificación de la funcionalidad de
un sistema, de los detalles de
implementación en cualquier
plataforma tecnológica
Proceso paso a paso de refinamiento
de modelos
Cercano a la concepción del ciclo de
vida clásico del desarrollo de software
10/04/2012 14
15. Niveles en MDA
CIM: Computational Independent
Model
◦ Ej: Modelos de procesos de negocio (ej:
BMPN)
PIM: Platform Independent Model
◦ Ej: Modelo de casos de uso
◦ Ej: Modelo entidad/relación
PSM: Platform Specific Model
◦ Ej: Diagrama de clases de diseño
10/04/2012 15
16. Proceso de desarrollo MDA
Initial Manual Manual Manual
Definition Refinement Refinement Refinement
CIM PIM PSM Code
Transformation Transformation Transformation
Rules Rules Rules
10/04/2012 16
17. Relación entre siglas “model-
driven”
Jordi Cabot. http://modeling-languages.com/
10/04/2012 17
19. Domain Specific Languages
(DSL)
Lenguaje de programación orientado
a un problema específico.
Son opuestos a los lenguajes de
propósito general.
Diseñado para ser utilizado para un
conjunto específico de tareas.
Herramienta específica para un
trabajo concreto.
10/04/2012 19
22. Domain Specific Languages
(DSL)
La semántica del lenguaje está muy
cercana al dominio de problema para
el cual se diseña.
Los DSL ofrecen un alto nivel de
abstracción al usuario. Por
tanto, están dirigidos a “expertos en el
dominio”.
Ofrecen un vocabulario controlado
para su ámbito.
10/04/2012 22
24. Ejemplos DSL
Apache Maven
Automatización de la gestión y construcción de
proyectos Java
10/04/2012 24
25. Ejemplos DSL (II)
JBOSS DROOLS
Reglas de negocio definidas en alto nivel, dentro
de un motor de procesos
10/04/2012 25
26. Ejemplos DSL (III)
TREW@
Modelado de procedimientos administrativos
telemáticos en el marco de la administración pública
en Andalucía
10/04/2012 26
27. Ejemplos DSL (IV)
Structured Query Language (SQL)
Manipulación de bases de datos relacionales
10/04/2012 27
28. Ejemplos DSL (V)
HTML
◦ Utilizado para escribir páginas web
CSS
◦ Usado para describir hojas de estilos en
la web
Flex, Bison o ANTLR:
◦ Para generar compiladores
AWK, plantillas Wikipedia, shell
scripts, etc.
10/04/2012 28
30. Fases en el desarrollo de un
DSL externo (enfoque MDE)
Diseño del metamodelo
Desarrollo del formato de representación
Generación de transformaciones
Construcción de un IDE
10/04/2012 30
31. Diseño del metamodelo
El objetivo es definir los conceptos y
relaciones del dominio del problema
que queremos abordar, mediante un
diagrama de clases.
Se definen de forma
abstracta, independientemente del
formato de representación deseado.
Los metamodelos definirán la sintaxis
abstracta de nuestro lenguaje.
10/04/2012 31
33. Desarrollo del formato de
representación
Mecanismo para representar los
elementos del metamodelo.
El formato más adecuado depende del
tipo de problema que queremos modelar
y de los potenciales usuarios del
lenguaje.
Tipo de sintaxis:
◦ Visual: basada en el mapping entre
elementos gráficos y elementos de nuestro
metamodelo. usualmente son más fáciles de
interpretar por el usuario
◦ Textual: basada en una gramática (EBNF).
Son más expresivos que los visuales.
10/04/2012 33
35. Generación de
transformaciones
Las transformaciones permiten
„evolucionar‟ modelos.
Modelo a modelo (M2M)
◦ Mismo modelo:
Ej: Refactorización o aplicación de un patrón de
diseño.
◦ Modelo distinto
Ej: Refinamiento de un diagrama de clases de
análisis a un diagrama de clases para un
framework J2EE.
Modelo a texto (M2T)
◦ Ej: Transformación de un diagrama de
clases de diseño MVC a un conjunto de
10/04/2012 35
37. Construcción de un IDE
Para un DSL visual necesitamos un
entorno de diseño que ofrezca, entre
otros:
◦ Paleta de componentes visuales
◦ Área de trazado
◦ Validación automática de modelos
Para un DSL textual, sería de gran
ayuda disponer de un entorno que
ofrezca:
◦ Coloreado de sintaxis
◦ Formato de código
◦ Validación instantánea
10/04/2012 37
38. IDE Procesamiento de
Imágenes
Liberal Fernández, P.; López Urbina, M.; Sales Montes, N.; Tocino García, J.T.
10/04/2012 38
39. Uso del DSL
Liberal Fernández, P.; López Urbina, M.; Sales Montes, N.; Tocino García, J.T.
10/04/2012 39
41. Herramientas basadas en
MDE
Es evidente que necesitamos
herramientas que ofrezcan soporte a los
principios del enfoque MDE.
Las herramientas MDE permiten diseñar
y validar modelos escritos en lenguajes
estándar, como UML y luego
transformarlos en otros modelos.
Algunos ejemplos:
◦ Enterprise Architect
◦ Acceleo
◦ StarUML
◦ …
10/04/2012 41
42. Herramientas de desarrollo
DSL
Para dar soporte a las fases del
desarrollo de un DSL, necesitamos
herramientas que nos asistan en
dicho proceso.
Algunos ejemplos:
◦ Eclipse (Modeling Project)
◦ MS Visual Studio (DSL Tools)
◦ MetaEdit+
◦ …
10/04/2012 42
43. Eclipse Modeling Project
MDT: Model Development Tools
EMF: Eclipse Modeling Framework
GMP: Graphical Modeling Project
TMF: Textual Modeling Framework
M2M: Model-to-Model Transformation
M2T: Model To Text Transformation
10/04/2012 43
45. Conclusiones
El enfoque MDE promueve el
desarrollo y transformación de
modelos para dar soporte a diversas
actividades en IS.
Existe gran interés en el mundo
académico e investigador. Sin
embargo, aún no se ha consolidado
completamente en la industria.
Podemos construir con poco esfuerzo
DSLs visuales o textuales.
10/04/2012 45
46. Model-Driven Engineering
&
Domain Specific Languages
Iván Ruiz Rube
ivan.ruiz@uca.es
10/04/2012 46