Navegación

Búsqueda

Búsqueda avanzada

Docencia sobre Desarrollo de Software dirigido por Modelos en títulos de Grado: fortalezas y debilidades

El Desarrollo de Software Dirigido por Modelos (DSDM) es un área de la Ingeniería del software prometedora, la cual permite el desarrollo de software a partir de artefactos conocidos como modelos, los cuales se definen a partir de los conceptos y relaciones de cada dominio. Posteriormente, y mediante transformaciones bien a otros modelos o bien a texto, es capaz de manejar la complejidad de las actuales tecnologías de desarrollo de software (frameworks, patrones de diseño, versiones de una misma tecnología, integración de múltiples tecnologías, etc.). La inclusión de contenidos sobre DSDM en los títulos de Grado y Máster de Ingeniería Informática es en la actualidad una asignatura pendiente en muchas de estas titulaciones. Probablemente la novedad de la materia y la complejidad de diseñar los nuevos títulos dejo a esta disciplina fuera de los mismos. No obstante, existen algunas universidades donde se han incorporado estos conocimientos y habilidades en Grados (por ejemplo, UPV, UCA o UEx), Másteres (por ejemplo, UMA, UPC, UOC, UAM, U. de Murcia, U. de Oviedo o U. de Almera entre otras). Así, durante el diseño del título de Grado en Ingeniería Informática en Ingeniería del Software de la Universidad de Extremadaura se incluyó una asignatura denominada Diseñoo y Modelado de Sistemas Software (DMSS) que aborda los conceptos esenciales sobre DSDM. En este trabajo se comparte la experiencia docente en esta asignatura durante los ultimos años, justificando la inclusión de los contenidos de DSDM y revisando tanto los aspectos positivos como las principales debilidades.

MinFrEditor: Entorno de desarrollo de aplicaciones para un framework de componentes

El entorno de modelado MinFrEditor integra un conjunto de herramientas diseadas para facilitar el desarrollo de aplicaciones basadas en componentes utilizando el framework MinFr. Este entorno de desarrollo permite a los usuarios de MinFr: (1) Modelar aplicaciones basadas en componentes utilizando un leguaje textual, (2) hacer el despliegue de las aplicaciones y (3) generar modelos de entrada para herramientas de análisis de tiempo real.

Desarrollo dirigido por modelos de visualización de datos para la Web

La visualización de datos juega un papel clave al presentar informes empresariales. Una adecuada visualización sirve de soporte para fundamentar mejor la toma de decisiones. Sin embargo, una visualización desacertada puede inducir a tomar una decisión incorrecta. Habitualmente, la elección de diferentes representaciones visuales para un mismo conjunto de datos se prefija por los desarrolladores de la misma. En este contexto, el usuario final no tiene ocasión de ajustar o cambiar las visualizaciones en tiempo de ejecución y no todos los usuarios tienen por qué tener los mismos intereses cuando visualizan los mismos datos. En este trabajo presentamos un lenguaje específico de dominio que permite definir semiautomáticamente patrones de visualización reutilizables de manera que el usuario final pueda elegir el que más se adapte a sus intereses.

Diseño de Niveles y uso de Motores en el Desarrollo de Videojuegos dirigido por Modelos

La propuesta del desarrollo de juegos dirigidos por modelos (MDGD) ofrece un multi-modelo para la especificación de videojuegos dividido en varias vistas: jugabilidad, interfaz gráfica y control entre otras. Este concepto de modelado conceptual permite a los diseñadores de juegos especificar juegos a un gran nivel de abstracción independientemente de la plataforma utilizada mediante la aplicación de MDD. En este trabajo se presenta una nueva vista añadida al modelado del gameplay de los videojuegos que permite el diseño de niveles. Ya que es común en el desarrollo de juegos el utilizar motores `estándares’ en su construcción, se muestra cómo es posible integrar un motor de tiles 2D en el proceso de desarrollo definiendo un meta-modelo específico de la plataforma (PSM) genérico que permite definir la estructura y el comportamiento del sistema haciendo uso del motor sin entrar en los detalles técnicos de implementación.

Herramienta de soporte en procesos de modernización, para las fases de ingeniería inversa y reestructuracíon

El proyecto MIGRARIA define un proceso dirigido por modelos para la modernización de aplicaciones web heredadas. Una vez definido y validado el proceso, se ha puesto en marcha el desarrollo de una herramienta que asista al ingeniero de modernizacíon en las fases de ingeniería inversa y reestructuración. El objetivo de este trabajo es presentar el prototipo de esta herramienta, cuyas funcionalidades base son: ofrecer un editor de modelos MIGRARIA MVC que facilite la comprensión del sistema heredado; facilitar la navegacíon bidireccional entre los artefactos software de la aplicación heredada y su representación abstracta (modelos MIGRARIA MVC); y simplificar la configuración y automatizar la ejecución del proceso de ingeniería inversa.

DSL-2-Browser: Un ejemplo de ejecución de un lenguaje específico del dominio en un navegador

En este trabajo se expone, mediante un ejemplo, la viabilidad de ejecutar un DSL en un navegador web. Para ello se ha usado principalmente Xtext y GWT sobre el caso concreto de un DSL de visualizacíon de datos. Aunque la propuesta se realiza a través de un ejemplo concreto, es posible su generalizacíon para otros DSL.

SEPL: Social Environment Programming Language

En los últimos años el uso de redes y aplicaciones sociales ha colonizado muchos procesos en organizaciones. Esto ha derivado en falta de automatizacíon de los mismos, y en la necesidad de conectarse manualmente a diferentes redes para realizar estas tareas repetitivas. Proponemos SEPL, un DSL que se conecta con varias redes y aplicaciones sociales, para permitir automatizar estos procesos.

Una solución MDE para crear aplicaciones basadas en mensajes instantaneos a través de Twitter

Las redes sociales se utilizan para todo tipo de propósitos, en cualquier momento y lugar, gracias al auge de los dispositivos móviles. La capacidad de envío de mensajes (públicos o privados) de estos servicios se usa hoy día, de manera habitual, para segmentar al conjunto de usuarios según preferencias, opiniones y eventos. Esto no pasa desapercibido para empresas o servicios que analizan datos mediante la nueva figura del llamado social media manager. Como ejemplo de servicio, debido a su carácter eminentemente público, los tweets de Twitter pueden ser vistos como un mecanismo de díalogo entre usuarios y aplicaciones informáticas. Resaltando esta funcionalidad, proponemos el concepto de aplicación basada en mensajes instantáneos, una aplicacíon que usa los mensajes emitidos por los usuarios como un medio para obtener comandos de entrada y emitir salidas. Para ello, usaremos las ventajas del Desarrollo de Software Dirigido por Modelos para la construccíon de un prototipo (llamado Twiagle) que permita de una forma clara y concisa, mediante lenguajes de dominio específico: (i) detectar patrones en los mensajes de los usuarios, y (ii) construir aplicaciones simples mediante acciones, tales como consultas a los mensajes seleccionados y síntesis de mensajes.